Files
obsidian/Computer Science/Вычислительные системы/Машина фон Неймана.md
T
roma-dxunvrs 11432e782f
deploy / Pull and Restart (push) Successful in 16s
csa update
2026-10-03 13:42:57 +03:00

61 lines
5.4 KiB
Markdown

1. Развитие [Машины Тьюринга](Модель%20вычислений.md#Машина%20Тьюринга). Отличия:
- Лента заменена на Random-Access Memory (RAM)
- Инструкции и данные объединены
2. Призвана быть максимально простой в реализации и производстве
3. Процедурное программирование и ООП - тот же принцип
![](../../Attachments/Машина%20фон%20Неймана.png)
## Особенности
1. Использование двоичного кодирования
- Встречается и троичное, и двоично-десятичное кодирование
2. Программное управление. Команды выполняются последовательно
- Последовательность и порядок сегодня условны
3. Память компьютера однородно хранит данные и программы
- Однородность спорна
4. Ячейки памяти компьютера имеют адреса. Random-Access Memory
- Адрес не сводится к целому числу сегодня
- Память не является пассивным элементом компьютера
5. Возможность условного перехода
- И перехода по иным причинам
## Окружение
### (Микро)процессор
Цифровая схема, которая выполняет операции с внешним источником данных (обычно с памятью или потоком данных)
### (Микро)контроллер
Микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает функции процессора и периферийных устройств, содержит ОЗУ и/или ПЗУ
### Оперативная память (память)
Обычно часть компьютерной памяти, в которой хранится выполняемый машинный код, а также входные, выходные и промежуточные данные
## Control Unit и DataPath
### Control Unit
Компонент центрального процессора (CPU), управляющей работой процессора. CU часто использует двоичный декодер для преобразования закодированных инструкций в управляющие сигналы, координирующие работу остальных блоков
### DataPath
АЛУ, набор регистров и внутренние шины CPU, по которым данные перемещаются между ними
![](../../Attachments/Control%20Unit%20and%20DataPath.png)
## Виды инструкций
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. Адресация операндов
Кроме того: ввод-вывод, параллелизм, иерархия памяти и тп