Ну, есть что-то вроде ENIAC, где у вас есть по существу отдельные ALU, и вы «программируете» их, подключая выход одного alu ко входу другого alu, который собирался выполнить следующую операцию с этой промежуточной переменной. Ваши «регистры» и хранилище - это провода, соединяющие алус.
Недавно я приобрел книгу «Первые компьютеры - история и архитектура (история вычислений)», которая частично посвящена именно этой теме. Я не рекомендую покупать эту книгу, хотя это просто сборник научных трудов, которые трудно прочитать, и я подозреваю, что они, вероятно, опубликованы (бесплатно) в другом месте. (Я сдался на это, прежде чем закончить введение)
Как только память была изобретена и стала практичной, мы вроде как остановились на двух популярных фон Нейман и Гарвард. Выполнение перемонтажа, перфокарт, бумажной ленты или подобных вещей стало менее практичным. И есть стек, основанный (например, zpu), который, я подозреваю, подпадает под категорию Гарварда, а не сам по себе.
Как насчет платформ фон Неймана, которые загружаются с флэш-памяти только для чтения (при обычном использовании) на одном интерфейсе памяти и имеют оперативную память для чтения / записи в другом (которая иногда может работать на обоих параллельно), но с точки зрения программ находятся в одном адресное пространство? Или те, которые имеют несколько внутренних и внешних блоков памяти / интерфейсов, все работают параллельно, но являются фон Неймана для того, чтобы находиться в одном и том же адресном пространстве.
И что хорошего в платформе гарварда, где процессор не может получить доступ к памяти команд в качестве данных для изменения / обновления загрузчика или для загрузки загрузчиком следующей программы? Почему это не архитектура фон Неймана? Процессор, выполняющийся из одной и той же памяти на одном и том же интерфейсе и работающий с ней, вероятно, последовательно (выбор команд и запись в память не происходят одновременно)?
Две популярные архитектуры на основе памяти более близки, чем они отличаются в текущих реализациях IMO.
Куда падает ГПУ? Или бизнес, в котором я работаю, сетевые процессоры (NPU). В тех случаях, когда у вас есть эти относительно небольшие специализированные микро-двигатели (процессоры), которые выполняются из гармошки, подобной оперативной памяти программы (адресуемой, но вы просто не хотите этого делать из соображений производительности), работайте с различными баранами данных, каждый из которых имеет свое собственное отдельное адресное пространство (отдельный процессор инструкции для каждого пространства), (пространства памяти, работающие параллельно) и через эти оперативные памяти передают промежуточные данные, чтобы следующий вычисление было выполнено следующим микродвигателем в проводной alu (eniac) манере? Как бы ты это назвал? Действительно ли npus и gpus представляют собой модернизированные гарвардские архитектуры?