@@ -0,0 +1,61 @@
|
||||
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. Адресация операндов
|
||||
Кроме того: ввод-вывод, параллелизм, иерархия памяти и тп
|
||||
Reference in New Issue
Block a user