Понятие архитектуры ЭВМ. История развития ЭВМ

 

Историю развития ЭВМ целесообразно излагать с наиболее общей точки зрения, которая позволит, не отвлекаясь на частности показать и выделить основные этапы развития ЭВМ. Такой точкой зрения может являться архитектура компьютера.

Под архитектурой компьютера понимается его логическая организация, структура и ресурсы, т.е. средства вычислительной системы, которые могут быть существенны для программиста и пользователя компьютера. По сути, архитектура включает характеристики основных ресурсов компьютера, доступных программисту и пользователю.

Напомним что традиционная структура ЭВМ, изобретенная Фон Нейманом состоит из трех принципиально важных устройств: памяти, устройства управления (УУ) и арифметически-логического устройства (АЛУ).Эта структура и воплотила в себе основополагающие архитектурные идеи ЭВМ (архитектура Фон Неймана).

Эти идеи дополнялись важными принципами, которые позволили практически осуществить работу ЭВМ.

1.Принцип программного управления работой ЭВМ. Программы состоят из последовательности команд. Все типа команд в совокупности образуют машинный язык.

2. Принцип условного перехода. Это возможность перехода на тот или иной участок программы в зависимости от промежуточных результатов работы программы. Это позволило организовать циклическую обработку данных и итерационные алгоритмы вычислений. Благодаря этому число команд в программе может быть существенно сокращено.

3. Принцип хранения программы в памяти машины. Он позволил достигнуть принципиальной универсальности компьютера. Ибо алгоритмы обработки данных задаваемые программой можно легко изменять, используя перезапись программы в памяти компьютера.

4. Принцип использования двоичной системы счисления. Он обеспечил возможность использования широкого спектра физически по разному устроенных и технологически реализуемых устройств для хранения, обработки данных.

5. Принцип иерархичности запоминающих устройств. Это позволило решить дилемму объема памяти и ее быстродействия. Дело в том, что увеличение объема памяти уменьшает ее быстродействие. При этом, АЛУ обладает большим быстродействием, чем память с достаточным для практической работы компьютера объемом. Для этого память компьютера представляла набор иерархически связанных запоминающих устройств. Ближайшая к АЛУ запоминающее устройство обладало небольшим объемом, но было выполнено на тех же элементах что и арифметические и логические устройства в АЛУ.

Что бы подчеркнуть центральную роль АЛУ как основного исполнителя операций над данными в компьютере и поскольку другие устройства в компьютере тоже выполняют арифметические и логические вспомогательные операции для сохранения, пересылки и управления потоками данных АЛУ называют центральным процессором (ЦП). Это давало почти одинаковое быстродействие АЛУ (ЦП) и этого запоминающего устройства, получившего название – оперативное запоминающее устройство (ОЗУ). Недостаток объема памяти ОЗУ компенсировался наличием еще одной памяти, у которой существенно больший объем, но меньшее быстродействие. Эта память получила название постоянно действующей памяти (ПЗУ).Еще одно название для этой памяти основная память Ее быстродействия хватало, чтобы оперативно подавать («подкачивать») очередные порции данных в ОЗУ. Кроме того ПЗУ обладало важным свойством сохранять данные при отключении питания компьютера. ОЗУ таким свойством не обладала (т.е. ОЗУ была «энергозависимой» памятью). Еще большие объемы данных хранятся, в так называемой, внешней памятиили на внешних запоминающих устройствах.Таким образом, образовалось иерархия запоминающих устройств.

Здесь становиться ясным, что быстродействие ЭВМ в целом зависит не только от быстродействия арифметических и логических операций выполняемых в АЛУ, но и от быстродействия подачи данных из и в ОЗУ и операций ввода вывода данных на внешние устройства. Не менее важным является быстродействие той части программ компьютера (например - операционная система), которая обеспечивает взаимодействие и управление работой отдельных частей компьютера ЦП (АЛУ), память, УУ, устройства ввода-вывода (УВВ) через устройство управления (УУ). Такое итоговое быстродействие принято называть производительностью компьютера. Для количественного описания быстродействия используется величина, получившая название флопс (flops). Это число операций с плавающей точкой в секунду. Соответственно мегафлопс это 1 млрд. операций с плавающей запятой в секунду

На протяжении десятилетий основным источником повышения производительности ЭВМ был рост быстродействия технических устройств выполняющих логические и арифметические операции. Рост быстродействия осуществлялся за счет смены физических принципов, на которых реализовались эти устройства (смена элементной базы). Вначале в качестве элементарных устройств в АЛУ, ОЗУ и УУ выступали электромагнитные реле, затем электронные лампы, затем полупроводниковые устройства, затем интегральные схемы. Все это обеспечило рост быстродействия на одну арифметическую операцию от 10-2 с до 10—14с.

С учетом того, что одновременно должно выполняться несколько элементарных арифметических операций задаваемых в одном такте работы с архитектурой Фон Неймана ЭВМ предельно достижимое время одного такта может достигать 4 нс ( 1 нс =10-9 с). Это предельные значения, связанные со скоростью света. Дальнейшие возможности увеличения производительности ЭВМ связаны с изменением архитектуры компьютера.

На производительность компьютера принципиально влияет способ взаимодействия ЦП и памяти (прежде всего ОЗУи ПЗУ) и их координация с помощью УУ давно принятый в традиционной архитектуре Фон Неймана. Можно посмотреть на это взаимодействие с новой точки зрения. С этой точки зрения хорошо видно, что в такой архитектуре происходит последовательное выполнение одной операции над одной порцией данных и затем выполнение следующей операции над следующей порцией данных. Поэтому такие компьютеры называются последовательными.

Важно отметить, что некоторые арифметические и более сложные математические операции могут быть разложены на отдельные фрагменты, которые можно было бы выполнять не последовательно, а параллельно. Это существенным образом позволило бы ускорить процесс выполнения операции в целом. Эта идея требует одновременного использования целого набора процессоров для каждого фрагмента операции. По сути, речь идет о параллельном выполнении частей операции, которые в архитектуре Фон Неймана выполнялись последовательно. Некоторые компьютеры (или уже вычислительные системы) с такой архитектурой получили название конвейеры. Архитектура подобных компьютеров конвейерного типа изображена на Рис 2.3

Рис 2.3 Конвейерная архитектура компьютера

Согласно принятой классификации этот тип архитектуры компьютера получил определение:

Конвейерный компьютер - это многофункциональное электронное устройство, в котором несколько процессоров параллельно (одновременно) выполняют разные операции над последовательным потоком обрабатываемых данных. По принятой классификации это системы с многократным потоком команд и однократным потоком данных (МКОД, или MISD – Multiple Instruction Single Data)

 

Еще один способ ускорения процесса обработки данных использует тот факт, что существуют данные, структура которых позволяет разбить эти данные на фрагменты и независимо обрабатывать их одновременно несколькими процессорами, что существенно сокращает время обработки. Напомним, что в традиционной архитектуре Фон Неймана данные обрабатываются последовательно одним процессором, и это отнимало много времени. По сути, речь идет о параллельном выполнении фрагментов данных, которые в архитектуре Фон Неймана обрабатывались последовательно. Компьютеры, использующие эту идею получили название векторных. Архитектура подобных компьютеров векторного типа изображена на Рис 2.4.

 

Рис 2.4 Векторная архитектура компьютера

Векторный компьютер - это многофункциональное электронное устройство, в котором несколько процессоров параллельно (одновременно) выполняют одну команду над различными данными – однократный поток команд с многократным потоком данных (ОКМД или SIMD – Single Instruction Multiple Data)


И, наконец, можно заметить, что одно единственное устройство управления (УУ), которое организует конвейерные и векторные операции в компьютере в свою очередь работает последовательно, что, следовательно, отнимает значительное время. Отсюда рождается идея для каждого процессора в конвейерном или векторном компьютере сделать свое устройство управления и тем самым распараллелить процесс управления отдельными процессорами. Компьютеры, которые реализуют все эти три идеи получили название - матричные компьютеры. Архитектура подобных компьютеров матричного типа изображена на Рис 2.5.

Рис 2.5 Матричная архитектура компьютера

 

 

Согласно принятой классификации этот тип архитектруры компьютера получил определение:


 

 

Матричный компьютер - это многофункциональное электронное устройство, в котором несколько процессоров параллельно (одновременно) выполняют различные операции над потоками данных – многократный поток команд с многократным потоком данных (МКМД или MIMD – Multiple Instruction Multiple Data)

 

Еще одна идея состояла в том, чтобы технологически оформить все эти архитектурные решения в виде Сверх Больших Интегральных схем (СБИС)– многоядерных микропроцессоров.

Попытки решить проблему согласования быстродействующего центрального процессора (ЦП) и значительно менее быстродействующей внешней памяти и тем более медленных устройств ввода-вывода привели к еще одной идее специализированного процессора, который обеспечивал быстрое поступление и передачу обработанных центральным процессором данных для целого набора устройств ввода вывода и устройств внешней памяти. Здесь «изюминка» состоит в том, что одно быстродействующее устройство (ЦП) оперативно загружается данными от медленно работающих устройств, но зато их много. Быстрое обслуживание ЦП оперативным поступлением данных обеспечивается специализированным процессором, который получил названиепериферийный процессориликанал.

Развитие этой идеи, с привлечением специальных средств коммуникации (шина), включая специальные процессоры называемые контроллерами (драйверами) и арбитрами шины привело к архитектурному решению, получившему название общей шины (системная шинаилисистемная магистраль передачи данных).Такой подход позволяет подключать к общей шине большое число периферийных устройств в рамках так называемого магистрально-модульного принципа. Эта идеяобщей шиныполучила широкое распространение в архитектуре в так называемыхмалых ЭВМ и персональных компьютерах.

Уже в рамках архитектуры персонального компьютера идея специализированного процессора обеспечивающего согласование с набором более медленных устройств, привела к появлению специализированного процессора, который выполняет только специальные математические операции, он называется математический сопроцессор. Эта же идея привела к еще более быстродействующим шинам PCI, необходимых для согласования работы ЦП с быстродействующими специальными процессорами, обеспечивающими генерацию трехмерной графики, машинное моделирование и функционирование компьютерных игр.

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

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

1 поколение ЭВМ 1950-1960 г. Это электронные лампы в качестве элементной базы, в качестве внешних запоминающих устройств магнитные ленты, перфокарты и штекерные переключатели, языки машинных кодов. Примеры машин UNIVAC и БЭСМ-2. Производительность 10 000 операций в секунду

2 поколение ЭВМ 1960-1970 г. Это дискретные полупроводниковые и магнитные элементы, печатный монтаж, электронно-лучевые мониторы, программы для управления ЭВМ в виде операционных систем, языки высокого уровня (Фортран, Алгол, Кобол, Бейсик). Примеры машин UNIVAC 3, IBM 7090, БЭСМ-6. Производительность 106 операций в секунду

3 поколение ЭВМ 1970-1980 г. Это интегральные схемы, телеобработка, коллективное пользование, вычислительные сети, многозадачные режимы, коды исправляющие ошибки. Примеры машин IBM -360-370, PDP11, ЕС 1060, СМ-4, VAX9000. Производительность 8∙105 операций в секунду. Появление супер ЭВМ с новыми архитектурами –ILIAC 4. От 100 до 1000 миллионов операций в секунду (от100 до 1000 MIPS).

4 поколение ЭВМ 1980-1990г. Это появление сверх больших интегральных схем (СБИС, VLSI), микропроцессора и персональных ЭВМ и больших компьютеров-мэйнфреймов, супер ЭВМ (Cray 1-4), глобальных сетей, распределенных вычислительных систем, экспертных систем. Производительность 106 -109 операций в секунду.

5 поколение ЭВМ 1990-2008 г. Это микропроцессоры с параллельно-векторной архитектурой, кластерные суперкомпьютеры (Blue Gene /L), поисковые системы в глобальных сетях, системы обработки знаний и искусственного интеллекта, мульти-агентные системы, нейронные сети, мульти-медийные технологии, OLAP и ERP –технологии. Производительность 1012 -1015 операций в секунду для конвейерных, векторных и матричных вычислительных систем.