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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

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

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

История[править | править вики-текст]

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

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

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

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

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

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

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

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

Классификация[править | править вики-текст]

По типу применяемого процессора[править | править вики-текст]

  • CISC (англ. complex instruction set computing) - архитектура с полным набором команд. Такие процессоры выполняют все команды простые и сложные за большое количество тактов, команд в таких процессорах много, и бывает, что компиляторы верхнего уровня очень редко используют все команды.
  • RISC (англ. reduced instruction set computing) - архитектура с сокращенным набором команд. Такие процессоры работают быстрее, чем CISC архитектура, за счет упрощения архитектуры и сокращения количества команд, но для выполнения сложной команды, она составляется из набора простых, что увеличивает время выполнения команды (за большее количество тактов).
  • MISC (англ. minimal instruction set computing) - архитектура с минимальным набором команд. Такие процессоры имеют минимальное количество команд, все команды простые и требуют небольшого количества тактов на выполнение, но если выполняется сложные вычисления, например с числами с плавающей запятой, то такие команды выполняются за большое количество тактов, превышающее CISC и RISC архитектуры.
  • VLIW (англ. very long instruction word - «очень длинная машинная команда») - архитектура с длинной машинной командой, в которой указывается параллельность выполнения вычислений. Такие процессоры получили широкое применение в цифровой обработке сигналов.

По принципу разделения памяти[править | править вики-текст]

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. 1 2 Таненбаум Э. С. Архитектура компьютера. — СПб: Питер, 2007, ISBN 5-469-01274-3, C.23
  2. 50th Anniversary of the Manchester Baby computer. curation.cs.manchester.ac.uk. Проверено 3 июня 2017.
  3. IBM100 - System 360 (en-US). www-03.ibm.com (7 марта 2012). Проверено 3 июня 2017.
  4. Organization of Computer Systems: Introduction, Abstractions, Technology. www.cise.ufl.edu. Проверено 3 июня 2017.

Литература[править | править вики-текст]

  • 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