61 lines
5.4 KiB
Markdown
61 lines
5.4 KiB
Markdown
1. Развитие [Машины Тьюринга](Модель%20вычислений.md#Машина%20Тьюринга). Отличия:
|
|
- Лента заменена на Random-Access Memory (RAM)
|
|
- Инструкции и данные объединены
|
|
2. Призвана быть максимально простой в реализации и производстве
|
|
3. Процедурное программирование и ООП - тот же принцип
|
|
|
|

|
|
## Особенности
|
|
1. Использование двоичного кодирования
|
|
- Встречается и троичное, и двоично-десятичное кодирование
|
|
2. Программное управление. Команды выполняются последовательно
|
|
- Последовательность и порядок сегодня условны
|
|
3. Память компьютера однородно хранит данные и программы
|
|
- Однородность спорна
|
|
4. Ячейки памяти компьютера имеют адреса. Random-Access Memory
|
|
- Адрес не сводится к целому числу сегодня
|
|
- Память не является пассивным элементом компьютера
|
|
5. Возможность условного перехода
|
|
- И перехода по иным причинам
|
|
## Окружение
|
|
### (Микро)процессор
|
|
Цифровая схема, которая выполняет операции с внешним источником данных (обычно с памятью или потоком данных)
|
|
### (Микро)контроллер
|
|
Микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает функции процессора и периферийных устройств, содержит ОЗУ и/или ПЗУ
|
|
### Оперативная память (память)
|
|
Обычно часть компьютерной памяти, в которой хранится выполняемый машинный код, а также входные, выходные и промежуточные данные
|
|
## Control Unit и DataPath
|
|
### Control Unit
|
|
Компонент центрального процессора (CPU), управляющей работой процессора. CU часто использует двоичный декодер для преобразования закодированных инструкций в управляющие сигналы, координирующие работу остальных блоков
|
|
### DataPath
|
|
АЛУ, набор регистров и внутренние шины CPU, по которым данные перемещаются между ними
|
|
|
|

|
|
## Виды инструкций
|
|
1. Работа с памятью: запись констант, копирование данных (память, регистры, порты I/O)
|
|
2. Арифметческие, логические и битовые операции
|
|
3. Управляющие операции: переходы, вызов и возврат из подпрограмм
|
|
4. Инструкции сопроцессоров: загрузка и выгрузка данных, управление сопроцессором
|
|
## Роль машинного слова
|
|
Единица данных, которая выбрана естественной для данной архитектуры процессора
|
|
1. Может быть адресована в памяти
|
|
2. Передается по шине между памятью и процессором за один раз
|
|
3. Является стандартной единицей обрабатываемой информации
|
|
4. Связанные вопросы: формат инструкции, форматы данных, форматы адресов
|
|
## На практике
|
|
1. В чистом виде практически не встречаются
|
|
2. Влияние на индустрию - трудно переоценить
|
|
3. Элементы архитектуры присутствуют в подавляющем большинстве процессоров и средств разработки
|
|
4. Структурное программирование, ООП - наследие фон Неймана
|
|
5. Ловушка обратной совместимости
|
|
## Вариации
|
|
1. Память команд и данных: Принстонская и Гарвардская архитектуры
|
|
- Типы данных, адресные пространства, машинные слова, теги
|
|
2. Принцип работы с данными в DataPath
|
|
- Accumulator, Register-to-Register, Register-to-Memory, Memory-to-Memory, Stack Architectures
|
|
3. "Мощность" системы команд: CISC, RISC
|
|
- Количество операндов (0, 1, 2, ...)
|
|
- Кодирование инструкций
|
|
- Принципы построения Control Unit
|
|
4. Адресация операндов
|
|
Кроме того: ввод-вывод, параллелизм, иерархия памяти и тп |