Глава 5
Эволюция архитектуры (1960-1970)
Появление транзисторов и интегральных схем не только позволило создавать более быстрые и надежные компьютеры, но и оказало глубокое влияние на их внутреннюю архитектуру. Десятилетие 1960–1970 годов ознаменовалось появлением новых архитектурных концепций, которые отошли от монолитных моделей первых мэйнфреймов, проложив путь к системам, которые были более модульными, гибкими и подходящими для более широкого спектра приложений.
5.1 Появление миникомпьютеров и новых архитектур
Как упоминалось в предыдущей главе, одним из наиболее значительных событий этого периода было появление миникомпьютеров . Эти системы, такие как DEC PDP-8 (представленный в 1965 году) и HP 2100 (представленный в 1966 году), отличались от больших мэйнфреймов несколькими архитектурными особенностями:
- Длина слова: Миникомпьютеры часто использовали более короткие длины слов, чем мэйнфреймы (например, 12 или 16 бит против 36 или 60 бит на мэйнфреймах). Этот компромисс снизил сложность и стоимость оборудования, сохраняя при этом значительную вычислительную мощность для многих приложений.
- Размер памяти: Объем адресуемой основной памяти миникомпьютеров обычно меньше, чем у мейнфреймов, но все же достаточен для многих средних научных приложений, приложений управления процессами и обработки данных.
- Наборы инструкций: Наборы инструкций мини-компьютеров часто были проще и компактнее, чем у мейнфреймов, и фокусировались на наиболее часто используемых операциях.
- Более модульная архитектура: Миникомпьютеры часто проектировались с более модульной архитектурой, что позволяло настраивать систему с различным объемом памяти, периферийными устройствами и интерфейсами в зависимости от конкретных потребностей пользователя.
- Больший акцент на интерактивность: В отличие от мэйнфреймов, которые часто работали в пакетном режиме, миникомпьютеры начали поддерживать более прямые режимы взаимодействия с пользователем, прокладывая путь для систем разделения времени и интерактивных приложений.
Архитектура DEC PDP-8, например, была значительно проще, чем у больших мэйнфреймов IBM того времени. Для соединения процессора, памяти и периферийных устройств использовалась одна шина (омнибус), что упрощало проектирование и обслуживание системы. Эта более оптимизированная архитектура способствовала успеху PDP-8 и его распространению во многих лабораториях и университетах.
5.2 Более продвинутые концепции памяти
Эволюция компьютерной архитектуры в этот период была тесно связана с достижениями в области технологий памяти. Память с ферритовым сердечником стала доминирующей технологией основной памяти (ОЗУ) благодаря ее надежности, относительно высокой скорости доступа (по сравнению с магнитными барабанами) и энергонезависимости (сохранялись данные даже при отсутствии электроэнергии).
Организация памяти на ферритовых сердечниках обычно была трехмерной: сердечники располагались на сетке, пересекаемой проводами выбора и чтения/записи.
Адресация памяти осуществлялась путем выбора соответствующих линий провода для намагничивания или считывания состояния конкретного ядра. Емкость основной памяти миникомпьютеров значительно выросла в 1960-е годы: с нескольких килобайт до десятков килобайт.
Кроме того, в этот период начали появляться первые концепции иерархии памяти . Идея заключалась в использовании разных типов памяти с разными скоростными и стоимостными характеристиками для оптимизации производительности системы. Например, некоторые системы могут включать небольшой объем очень быстрой (хотя и дорогой) памяти, используемой в качестве своего рода «кэша» для наиболее часто используемых данных и инструкций, в сочетании с большим объемом более медленной и дешевой основной памяти. Эта ранняя форма иерархии памяти предвосхитила появление сложных систем кэширования, которые стали фундаментальной особенностью современных компьютерных архитектур.
5.3 Введение прерывания
Ключевым архитектурным нововведением, представленным в этот период, был механизм прерываний . В ранних компьютерах ЦП приходилось постоянно опрашивать устройства ввода/вывода, чтобы определить, требуют ли они внимания (например, готовы ли устройства ввода новые данные или устройство вывода завершило операцию). Такой подход был неэффективным, поскольку ЦП тратил драгоценные тактовые циклы на ожидание событий.
Введение прерываний позволило внешним устройствам сигнализировать о необходимости внимания непосредственно ЦП.
Когда устройство генерировало прерывание, ЦП временно приостанавливал выполнение текущей программы, сохранял ее состояние (например, содержимое регистров и адрес следующей команды, которая будет выполняться) и продолжал выполнять специальную процедуру обработчика прерывания, связанную с этим устройством. После завершения обработки прерывания ЦП восстанавливает состояние прерванной программы и возобновляет ее выполнение с того места, в котором она была прервана.
Внедрение прерываний значительно повысило эффективность компьютерных систем, позволив ЦП тратить больше времени на выполнение программ и быстрее реагировать на внешние события. Этот механизм имел решающее значение для разработки более сложных операционных систем и поддержки более динамичного взаимодействия с пользователями и внешним миром.
5.4 Введение DMA (прямой доступ к памяти)
Еще одной важной архитектурной эволюцией стало введение DMA (прямой доступ к памяти) . Первоначально вся передача данных между устройствами ввода/вывода и основной памятью должна была осуществляться через ЦП. Такой подход может привести к перегрузке ЦП, особенно при передаче больших объемов данных, таких как чтение или запись на диск или магнитную ленту.
DMA представил механизм, который позволял некоторым периферийным устройствам напрямую обращаться к основной памяти для передачи данных без постоянного вмешательства ЦП. Контроллер DMA отвечал за управление передачей данных, освобождая ЦП для выполнения других операций.
Как только передача была завершена, контроллер DMA мог сгенерировать прерывание, чтобы уведомить ЦП о том, что данные готовы в памяти или что запись завершена.
Внедрение DMA значительно улучшило производительность системы, особенно для высокоскоростных операций ввода-вывода, позволяя более эффективно передавать большие объемы данных и освобождая ЦП для других задач обработки.
5.5 16-битная архитектура и не только
Как упоминалось ранее, миникомпьютеры часто используют архитектуру с более короткой длиной слова, чем мэйнфреймы. Однако в 1960-е годы наметилась тенденция к увеличению длины слов. Внедрение 16-битной архитектур в миникомпьютерах, таких как DEC PDP-11 (выпущенный в 1970 году), представляло собой значительный шаг вперед. Большая длина слова позволяла обращаться к большему объему памяти и манипулировать большими данными за одну операцию, улучшая общую производительность системы и открывая путь для более сложного программного обеспечения.
В то же время мир мэйнфреймов продолжал развиваться в направлении архитектур с большей длиной слова, таких как системы IBM System/360, которые использовали 32-битные слова (а также 64-битные форматы для чисел с плавающей запятой), предлагая большую вычислительную мощность и возможности адресации.
5.6 Влияние языков программирования на архитектуру
Важно отметить, что эволюция компьютерной архитектуры происходила не изолированно, а часто находилась под влиянием потребностей появлявшихся языков программирования высокого уровня. Такие языки, как FORTRAN и COBOL, с их особыми требованиями к манипулированию числами, массивами, строками и структурами данных подтолкнули проектировщиков архитектуры к включению наборов команд и механизмов управления памятью, которые могли бы эффективно поддерживать такие операции. Это взаимодействие между потребностями программного обеспечения и возможностями аппаратного обеспечения стало фундаментальной движущей силой эволюции вычислений.
Десятилетие 1960-1970 годов было решающим периодом в развитии компьютерной архитектуры. Появление миникомпьютеров с их более модульной и интерактивной архитектурой, внедрение более продвинутых концепций памяти, таких как иерархия памяти, и реализация фундаментальных механизмов, таких как прерывания и DMA, представляли собой важные шаги на пути к более мощным, гибким и эффективным вычислительным системам. Тенденция к большей длине слов и растущее влияние языков программирования на архитектуру подготовили почву для инноваций, которые будут характеризовать следующие десятилетия, кульминацией которых станут революции в области микропроцессоров и персональных компьютеров.