---
tags:
  - служебное/устарело
pun: Штирлиц был у окна, а из окна дуло. Штирлиц встал, дуло убрали
---
<!--Поскольку в целом напрямую на этот вопрос отвечено в конспекте, позволю себе в лоб вставить кусок из него-->
%%Если вы читаете это на гитхабе, то видите этот комментарий и не видите страницы. В obsidian.md здесь отображается отрывок 1.2 из конспекта%%
![[Глава 1. Базовая организация компьютера#1.2. Архитектурные принципы фон Неймана]]

## Дополнительно о различиях

*Чуть больше гугла и доверия к рандомным сайтам*

1. Параллелизм - фон Неймановская архитектура изначально была простой и должна оставаться простой. Предположить кучи потоков ученые тогда не могли
2. Кэш память для x86-х интелов строится на Гарвардской архитектуре, что позволяет хотя бы сколько-то оптимизировать "бутылочное горлышко"[^bootle-neck], созданное фон Нейманом
3. Если верить [рандомному человеку из интернета](https://arch32.cs.msu.ru/Text/Chapter_02.pdf), то изначально устройства ввода (клава, мышь, USB и прочие) передавали данные не напрямую в память, а обращались к АЛУ. То есть в момент нажатия на клавишу на клавиатуре вся машина приостанавливала свою работу лишь бы обработать твою кнопочку. *Сейчас ситуация сходная, но все же процессор вылетает в прерывание когда ему это удобно и обрабатывает прерывание по тому, что уже лежит в памяти*
4. Современная оператива уже не очень однородна.
	1. В общем случае она довольно долго может искать место начала, но когда найдет, быстро читает из него по 64 байта например. Это сделано для оптимизации узкого горлышка все архитектуры, потому что через шину адреса, нашу ахилесову пяту, гоняется вообще вся информация - очередная команда, адреса, сами данные и прочая. И тот факт, что шина позволяет обменяться с процессором только одним машинным словом (не путайте с WORD в ассемблере, тут имеется в виду размер слова равный размеру адреса)
	2. В ней есть участки только для чтения (ROM). В такой например лежит BIOS. Помещен он туда, чтобы вы своими шаловливыми ручками ничего не сломали
5. Некоторые процессора, например Эльбрус <!--не верю, что пишу это, но надо--> различают между собой команды и данные
6. При создании архитектуры были принципы, которые не были явно выражени, а считались сами собой разумеющимися:
	1. Не изменяется количество оперативы
	2. Не меняется число регистров в устройствах
	3. Подключенные устройства не отлетают по первой прихоти
	4. Набор машинных команд не меняется. *Этот принцип отлично отлетает когда мы добираемся до микропрограммирования)*

[^bootle-neck]: Бутылочное горлышко - устойчивое выражение, означающее место в которое упирается вся пропускная способность системы. В данном случае все данные, команды, адреса и прочая жизненно необходимая для работы процессора информация идет через одну шину данных, и в эту шину очень сильно упирается производительность системы