Архитекту́ра компью́тера
— это
модель
компьютерной системы, воплощённая в её компонентах, их взаимодействии между собой и окружением, включающая также принципы её проектирования и развития
. Аспекты реализации (например, технология, применяемая при реализации
памяти
) не являются частью архитектуры
Уровни организации
Большинство современных компьютеров состоит из двух и более
уровней
:
Микроархитектурный
уровень, интерпретация (микропрограммы) или непосредственное выполнение. Электронные схемы исполняют машинно-зависимые программы. Совокупность
регистров процессора
формирует локальную память. См. также
арифметико-логическое устройство
,
устройство управления
. Его задача — интерпретация команд уровня 2 (уровня архитектуры команд). В настоящее время на уровне архитектуры команд обычно находятся простые команды, которые выполняются за один цикл (таковы, в частности, RISCмашины)
Уровень
операционной системы
, трансляция (ассемблер). Это гибридный уровень: одна часть команд интерпретируется операционной системой, а другая — микропрограммой. См. также
виртуальная память
,
файлы
Уровень 4
Уровень языка ассемблера, трансляция (
компилятор
). Четвертый уровень и выше используется для написания
прикладных программ
, с первого по третий —
системных программ
. Программы в удобном для человека виде транслируются на язык уровней 1-3
Первая документально оформленная компьютерная архитектура находилась в переписке между
Чарльзом Бэббиджем
и
Адой Лавлейс
, описывающим механизм анализа. При создании компьютера Z1 в 1936 году
Конрад Цузе
описал в двух патентных заявках свои будущие проекты.
Два других ранних и важных примера:
Статья
Джона фон Неймана
1945 года, первый проект отчета об
EDVAC
, в котором описана организация логических элементов;
Более подробный Предложенный Электронный Калькулятор
Алана Тьюринга
для Автоматического Вычислительного Двигателя, также в 1945 году, который привел статью Джона фон Неймана.
Термин «архитектура» в компьютерной литературе можно проследить до работы Лайла Р. Джонсона, Фридриха П. Брукса-младшего и Мохаммада Усмана-хана. Все они были членами отдела машинной организации, в основном исследовательском центре IBM в 1959 году. У Джонсона была возможность написать собственное исследовательское сообщение о суперкомпьютере Stretch, разработанном IBM в
Лос-Аламосской национальной лаборатории
(в то время известном как Лос-Аламос Научная лаборатория). Чтобы описать уровень детализации для обсуждения роскошно украшенного компьютера, он отметил, что его описание форматов, типов команд, аппаратных параметров и улучшений скорости было на уровне «системной архитектуры» — термин, который казался более полезным, чем «машинная организация».
Впоследствии Брукс, дизайнер стретч, начал главу второй книги («Планирование компьютерной системы: проект Stretch», изд., W. Buchholz, 1962), написав:
"Компьютерная архитектура, как и другая архитектура, — это искусство определения потребностей пользователя структуры, а затем проектирования для максимально эффективного удовлетворения этих потребностей в рамках экономических и технологических ограничений"
Брукс продолжал помогать в разработке линейки компьютеров IBM System / 360 (теперь называемой IBM zSeries), в которой «архитектура» стала существительным, определяющим «то, что пользователь должен знать».
Самые ранние компьютерные архитектуры были разработаны на бумаге, а затем непосредственно встроены в окончательную аппаратную форму. Позже прототипы компьютерной архитектуры были физически построены в виде транзисторно-транзисторной логической системы (TTL), такой как прототипы 6800 и испытанного PA-RISC, и исправлены, прежде чем перейти к окончательной аппаратной форме. Начиная с 1990-х годов новые компьютерные архитектуры обычно «строятся», тестируются и настраиваются внутри какой-либо другой компьютерной архитектуры в симуляторе компьютерной архитектуры; или внутри ПЛИС в качестве мягкого микропроцессора; Или оба — перед тем, как совершить окончательную аппаратную форму.
Классификация
По типу применяемого процессора
CISC
(англ.
complex instruction set computing)
— архитектура с полным набором команд. Такие процессоры выполняют все команды, простые и сложные, за большое количество тактов. Команд в таких процессорах много, и компиляторы верхнего уровня редко используют все команды
RISC
(англ.
reduced instruction set computing
) — архитектура с сокращённым набором команд. Такие процессоры, в целом, работают быстрее, чем с CISC-архитектурой, за счёт упрощения архитектуры и сокращения количества команд, но для выполнения сложной команды она составляется из набора простых, что увеличивает время выполнения команды (за большее количество тактов). Современные процессоры RISC по внутренней сложности приближаются, а то и превосходят классические CISC аналоги
MISC
(англ.
minimal instruction set computing
) — архитектура с минимальным набором команд. Такие процессоры имеют минимальное количество команд, все команды простые и требуют небольшого количества тактов на выполнение, но если выполняются сложные вычисления, например, с числами с плавающей запятой, то такие команды выполняются за существенно большее количество тактов, превышающее CISC- и RISC-архитектуры
VLIW
(англ.
very long instruction word
— «очень длинная машинная команда») — архитектура с длинной машинной командой, в которой указывается параллельность выполнения вычислений. Такие процессоры получили широкое применение в
цифровой обработке сигналов
Дэвид Харрис, Сара Харрис. Цифровая схемотехника и архитектура компьютера, 2-е издание, перевод командой компаний и университетов России, Украины, США и Великобритании, Morgan Kaufman,2013
Таненбаум Э., Остин Т. Архитектура компьютера. 6-е изд. СПб.: Питер, 2014,
ISBN 978-5-496-00337-7
Н. В. Максимов, Т. Л. Партыка, И. И. Попов.
Архитектура ЭВМ и вычислительных систем. —
М.
: Форум — Инфра-М, 2005. — 512 с. —
ISBN 5-8199-0160-6
.