Архитектура компьютера

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Архитекту́ра компью́тера — это модель компьютерной системы, воплощённая в её компонентах, их взаимодействии между собой и окружением, включающая также принципы её проектирования и развития[1][2]. Аспекты реализации (например, технология, применяемая при реализации памяти) не являются частью архитектуры[3]

Уровни организации

Выделяют[кто?] несколько уровней организации компьютера (компьютерной архитектуры), от двух и более:[3]

Схема, иллюстрирующая многоуровневую структуру компьютера
Уровень 0
Цифровой логический уровень, это аппаратное обеспечение машины, состоящий из вентилей. См. также Логические элементы (защелки), триггеры, регистры
Уровень 1
Микроархитектурный уровень, интерпретация (микропрограммы) или непосредственное выполнение. Электронные схемы исполняют машинно-зависимые программы. Совокупность регистров процессора формирует локальную память. См. также арифметико-логическое устройство, устройство управления. Его задача — интерпретация команд уровня 2 (уровня архитектуры команд). В настоящее время на уровне архитектуры команд обычно находятся простые команды, которые выполняются за один цикл (таковы, в частности, RISCмашины)
Уровень 2
Уровень архитектуры системы команд, трансляция (ассемблер)
Уровень 3
Уровень операционной системы, трансляция (ассемблер). Это гибридный уровень: одна часть команд интерпретируется операционной системой, а другая — микропрограммой. См. также виртуальная память, файлы
Уровень 4
Уровень языка ассемблера, трансляция (компилятор). Четвертый уровень и выше используется для написания прикладных программ, с первого по третий — системных программ. Программы в удобном для человека виде транслируются на язык уровней 1-3
Уровень 5
Язык высокого уровня. Программы на языках высокого уровня транслируются обычно на уровни 3 и 4

История

Первая документально оформленная компьютерная архитектура находилась в переписке между Чарльзом Бэббиджем и Адой Лавлейс, описывающим механизм анализа. При создании компьютера Z1 в 1936 году Конрад Цузе описал в двух патентных заявках свои будущие проекты.[4] Два других ранних и важных примера:

Статья Джона фон Неймана 1945 года, первый проект отчета об EDVAC, в котором описана организация логических элементов;

Более подробный Предложенный Электронный Калькулятор Алана Тьюринга для Автоматического Вычислительного Двигателя, также в 1945 году, который привел статью Джона фон Неймана.

Термин «архитектура» в компьютерной литературе можно проследить до работы Лайла Р. Джонсона, Фридриха П. Брукса-младшего и Мохаммада Усмана-хана. Все они были членами отдела машинной организации, в основном исследовательском центре IBM в 1959 году. У Джонсона была возможность написать собственное исследовательское сообщение о суперкомпьютере Stretch, разработанном IBM в Лос-Аламосской национальной лаборатории (в то время известном как Лос-Аламос Научная лаборатория). Чтобы описать уровень детализации для обсуждения роскошно украшенного компьютера, он отметил, что его описание форматов, типов команд, аппаратных параметров и улучшений скорости было на уровне «системной архитектуры» — термин, который казался более полезным, чем «машинная организация».

Впоследствии Брукс, дизайнер стретч, начал главу второй книги («Планирование компьютерной системы: проект Stretch», изд., W. Buchholz, 1962), написав:

"Компьютерная архитектура, как и другая архитектура, — это искусство определения потребностей пользователя структуры, а затем проектирования для максимально эффективного удовлетворения этих потребностей в рамках экономических и технологических ограничений"

Брукс продолжал помогать в разработке линейки компьютеров IBM System / 360 (теперь называемой IBM zSeries), в которой «архитектура» стала существительным, определяющим «то, что пользователь должен знать».[5]

Самые ранние компьютерные архитектуры были разработаны на бумаге, а затем непосредственно встроены в окончательную аппаратную форму. Позже прототипы компьютерной архитектуры были физически построены в виде транзисторно-транзисторной логической системы (TTL), такой как прототипы 6800 и испытанного PA-RISC, и исправлены, прежде чем перейти к окончательной аппаратной форме. Начиная с 1990-х годов новые компьютерные архитектуры обычно «строятся», тестируются и настраиваются внутри какой-либо другой компьютерной архитектуры в симуляторе компьютерной архитектуры; или внутри ПЛИС в качестве мягкого микропроцессора; Или оба — перед тем, как совершить окончательную аппаратную форму.[6]

Классификация

По типу применяемого процессора

  • 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 — «очень длинная машинная команда») — архитектура с длинной машинной командой, в которой указывается параллельность выполнения вычислений. Такие процессоры получили широкое применение в цифровой обработке сигналов

По принципу разделения памяти

См. также

Примечания

  1. IEEE 1471. Дата обращения: 12 февраля 2022. Архивировано 12 февраля 2022 года.
  2. Максимов, 2005, с. 97.
  3. 3,0 3,1 Таненбаум Э. С. Архитектура компьютера. — СПб: Питер, 2007, ISBN 5-469-01274-3, C.23
  4. 50th Anniversary of the Manchester Baby computer. curation.cs.manchester.ac.uk. Дата обращения: 3 июня 2017. Архивировано 4 мая 2012 года.
  5. IBM100 - System 360 (англ.). www-03.ibm.com (7 марта 2012). Дата обращения: 3 июня 2017. Архивировано 30 мая 2017 года.
  6. Organization of Computer Systems: Introduction, Abstractions, Technology. www.cise.ufl.edu. Дата обращения: 3 июня 2017. Архивировано 31 октября 2016 года.

Литература

  • Joseph D. Dumas II. Computer Architecture: Fundamentals and Principles of Computer Design. — CRC Press, 2005. — ISBN 978-0-8493-2749-0.
  • David A. Patterson, John L. Hennessy. Computer Architecture: A Quantitative Approach, 5th Edition. — Morgan Kaufmann, 2011. — 856 p. — ISBN 012383872X. (англ.)
  • Дэвид Харрис, Сара Харрис. Цифровая схемотехника и архитектура компьютера, 2-е издание, перевод командой компаний и университетов России, Украины, США и Великобритании, Morgan Kaufman,2013
  • Таненбаум Э., Остин Т. Архитектура компьютера. 6-е изд. СПб.: Питер, 2014, ISBN 978-5-496-00337-7
  • Н. В. Максимов, Т. Л. Партыка, И. И. Попов. Архитектура ЭВМ и вычислительных систем. — М.: Форум — Инфра-М, 2005. — 512 с. — ISBN 5-8199-0160-6.