История развития электронных цифровых вычислительных машин

Первые ЦВМ на базе электронной техники появились в 50-х годах XX века. Элементной базой машин 1-го поколения были дискретные компоненты, включающие как активные элементы – электронные лампы в качестве основного усилительного элемента, так и пассивные – резисторы, конденсаторы, диоды (электронные, полупроводниковые), индуктивные линии задержки и пр.

Типовая структурная схема ЦВМ приведена на рис. 2.

 

 
 

 


Рис. 2

 

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

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

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

Адресуемая команда либо непосредственно, либо с перекодировкой через АЛУ загружалась в РК, откуда управляющее поле кода операции (КОп) поступало в ДШК и ФМЦ, в функции которых входило формирование внутренних сигналов управления (УПР) функциональными устройствами ЦВМ. ДШК и ФМЦ обеспечивают также и реакцию на логические условия (ЛУ) по результатам выполнения команды в ЦВМ. В зависимости от ЛУ ПСч либо работает в естественном режиме адресации, наращивая текущий адрес на +1, когда команды размещаются в смежных ячейках ОП (рис. 3), либо в режиме принудительной адресации (ПА) при условной или безусловной передаче управления на расстояние большее +1. При запуске программы в ПСч загружается начальный адрес (НА).

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

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

Перекодировка в АЛУ данных ввода/вывода (ДВВ) резко снижала быстродействие. Если быстродействие АЛУ составляло единицы и десятки тысяч операций в секунду, то быстродействие электромеханических устройств не превышало сотен символов в секунду. В первых образцах машин УВВ в принципе не было. Для ввода/вывода использовался пульт управления оператора (ПУ), через который информация вводилась/выводилась в двоичном или шестнадцатеричном кодах.

Позже появились машинные символьные языки (ассемблеры) и языки высоких уровней (АЛГОЛ, КОБОЛ и др.), позволяющие в значительной степени автоматизировать процесс программирования. Однако для каждой машины была своя версия языка и свой компилятор, что обуславливало второй глобальный недостаток – программную несовместимость ЦВМ. Кроме этого электронная база машин определяла еще ряд недостатков – высокое энергопотребление (мощность машин определялась киловаттами), малую надежность (один отказ в смену), большие габариты.

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

Каждое поколение ЦВМ существовало около 5 лет, и в начале 60-х годов цифровая техника перешла на новую базу, что позволило на один-два порядка улучшить основные параметры (подобное наблюдается и при переходе к дальнейшим поколениям). Архитектура ЦВМ практически не изменилась, лишь электронные лампы были заменены полупроводниковыми транзисторами. В лучших образцах машин второго поколения БЭСМ-6 АЛУ выполняло до одного миллиона операций в секунду. Проблему несоответствия пропускной способности АЛУ и УВВ пытались решить введением буферных устройств ввода/вывода (БУВВ) и простейших вариантов каналов ввода/вывода для компенсации разницы в быстродействии. В области программного обеспечения развитие шло более быстрыми темпами и кроме широкой гаммы языков высокого уровня появились первые варианты операционных систем как средств автоматизации программирования, организации и ведения вычислительного процесса.

Переход к третьему поколению ЦВМ был обусловлен появлением интегральных полупроводниковых устройств – малых (МИС) и средних (СИС) интегральных схем (МИС – до 100 вентилей на кристалл, СИС – до 1000 вентилей на кристалл). Произошли революционные изменения в архитектуре.

Одной из первых концепцию систем третьего поколения реализовала фирма IBM в системе IBM-360. Архитектура базировалась на трёх принципах:

1. Аппаратная наращиваемость.

2. Программная совместимость.

3. Открытость системы.

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

Типовая структура системы третьего поколения приведена на рис. 4.

 

 
 

 

 

 


Аппаратная наращиваемость обеспечивалась за счёт введения технических интерфейсов.

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

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

Так, например, в блок центрального процессора (БЦП) могло входить одно универсальное операционное устройство с программной (временной) реализацией алгоритма как наиболее дешёвый и малопроизводительный вариант либо несколько универсальных и специализированных ОУ, табличные вычислители (аппаратная реализация алгоритма с максимальным быстродействием). В результате пользователь мог получить требуемую модель системы из допустимого ряда.

В блоке основной памяти (БОП) могло содержаться от одного до нескольких блоков памяти различного типа и назначения, что обеспечивало различную ёмкость и быстродействие. Каждый функциональный блок имел местное устройство управления (МУУ), а блок центрального процессора (ЦП) содержал общее устройство командного управления (УКУ). ЦП и ОП соединялись самым скоростным интерфейсом процессор-память (ИПП).

Одним из революционных решений в архитектуре было введение специализированных каналов ввода/вывода (КВВ), что позволило освободить ЦП от ведения медленных операций ввода/вывода и существенно повысить производительность системы. На ЦП возлагалась функции инициализации команды ввода/вывода и передачи команды в канал через интерфейс канал-ЦП (ИКЦП ).

В дальнейшем канал по своим микропрограммам вёл через интерфейс канал-память (ИКП) операции прямого доступа между контроллерами (КВУ) внешних устройств (ВУ) и основной памятью. В это время ЦП выполнял вычислительные операции по активизированным программам в мультипрограммном режиме.

Блок управления каналов ввода/вывода (БУК) обеспечивал сопряжение между ЦП, ОП и периферией, управлял мультиплексным каналом (МКВВ), селекторным каналом (СКВВ), блок мультиплексным каналом (БМКВВ), интерфейсом ввода/вывода (ИВВ), контроллерами внешних устройств. Со стороны программного обеспечения внешние устройства не различались и рассматривались как порты ввода/вывода. Стыковку между стандартными ИВВ и разнотипными внешними устройствами выполняли КВУ, подключаемые к ВУ через специализированные интерфейсы (ИВУ). Это позволяло унифицировать программирование процесса ввода/вывода и минимизировать систему команд. Так в IBM-360 в системе команд было всего четыре команды ввода/вывода:

- начать ввод/вывод (SIO);

- остановить ввод/ввод (HIO);

- проверка канала (TCH);

- проверка устройства (TIO).

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

Селекторные каналы (СКВВ) предназначались для монопольного обслуживания быстрых устройств (накопителей на магнитных лентах, дисках, барабанах).

В более поздних системах появились блок-мультиплексные каналы (БМКВВ), которые в режиме разделения времени могли обслуживать быстрые устройства. Каналы также обеспечивали в режиме ПДП обмен данными через адаптер канал/канал (АКК) между различными областями ОП. К системе могла подключаться аппаратура передачи данных (АПД) для проводной или беспроводной связи с удалёнными терминалами (УТ) или системами.

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

Третий принцип – открытость системы – предусматривал как введение новых архитектурных принципов при расширении системы, соблюдая преемственность, так и открытость операционных систем. Этот принцип ориентирован на минимизацию потерь пользователя при модернизации системы. Он также минимизировал потери разработчика на создание новых средств.

К концу третьего поколения ЦВМ технология электронных компонент позволила создавать большие интегральные схемы (БИС – более 1000 вентилей на кристалл). В архитектурном плане больших изменений не произошло, начался переход на реализацию средств аппаратного и программного обеспечения на основе БИС. Наиболее технологичными в устройствами в БИС исполнении оказались средства памяти. Поэтому практически вся магнитная ОП заменяется полупроводниковой памятью. Начался выпуск в интегральном исполнении и других функциональных устройств – АЛУ, КВУ, ОУ и прочих, что явилось основной причиной появления систем дальнейших поколений.

Четвёртое поколение ЦВМ характеризуется появлением ряда дочерних архитектур и развитием соответствующих направлений в развитии средств вычислительной техники. Выделяется такая область развития, как микропроцессорная техника, которая в свою очередь разделяется на более узкие области: универсальные микропроцессоры, однокристальные ЭВМ (микроконтроллеры), сигнальные процессоры и др.

Основной элементной базой становятся микропроцессорные комплекты (МПК) – наборы электрически- и программно-совместимых БИС и суперБИС (СБИС – более 10 000 вентилей на кристалл), позволяющие строить на их основе функциональные устройства ЦВМ и ЦВМ в целом. Ядром МПК является микропроцессор – вычислительное устройство, выполненное по технологии БИС или СБИС и обладающее свойством программируемости.

Развивается два направления:

- микропрограммируемые МПК;

- программируемые МПК.

Микропрограммируемые МПК имеют микропроцессор в виде одно- или многокристальной интегральной операционной части и обеспечивают доступ проектировщика к микропрограммному уровню управления, что позволяет реализовать систему с заданной архитектурой. Эти МПК использовались для замены морально и физически устаревающих систем предыдущего поколения с сохранением ранее разработанного программного обеспечения, а также для создания новых систем. Выпускались по различным интегральным технологиям (ЭСЛ, ТТЛШ, ТТЛ, И2Л, p-МОП, n-МОП, КМОП), что позволяло перекрывать широкий диапазон требуемых параметров проектируемых систем. Длительность микрокомандного цикла колебалась в пределах 50 нс – 20 мкс, потребляемая мощность изменялась соответственно в диапазоне от единиц ватт до единиц микроватт на кристалл. Алгоритмически избыточная система микроинструкций давала возможность эмуляции любой системы команд, а микропроцессоры допускали разрядное наращивание, что позволяло заменять любые устаревающие системы с качественным улучшением их свойств.

Программируемые МПК содержат в качестве процессорного ядра однокристальные микропроцессоры с фиксированными разрядной сеткой и системой команд. Микропроцессор состоит из операционного устройства, устройства командного управления и интерфейсного блока сопряжения с системой. По архитектурным признакам МПК данного типа относятся к CISC (Complete Instruction Set Computer) системам и предназначаются для создания на их основе новых вычислительных средств.

Параллельно с универсальными микропроцессорами развивается направление однокристальных микроЭВМ – микроконтроллеров (МК). Основное назначение МК – построение встраиваемой управляющей цифровой техники. Кристалл МК содержит все основные компоненты вычислительной системы: блок процессора, память данных, память команд, систему прерывания, блоки периферийных устройств: таймеры, генераторы импульсных сигналов, генераторы аналоговых сигналов, расширенное количество последовательных и параллельных портов ввода/вывода и прочие. Если универсальные микропроцессоры имели один внешний параллельный порт, то микроконтроллеры содержат до 10 параллельных и последовательных портов ввода/вывода.

Микроконтроллеры в основном реализуются в рамках RISC (Reduced Instruction Set Computer) архитектуры с усечённой системой команд (порядка 20-50 команд), ориентированной на быструю реализацию определённых функций с программной эмуляцией более сложных команд через базовую систему. Для RISC систем также характерны:

- конвейерная реализация операций и вычислительного процесса;

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

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

Отличительной особенностью архитектуры пятого поколения ЦВМ, согласно концептуальной модели японских учёных, должно быть наличие баз знаний как средств автоматизированной постановки задачи и алгоритмизации. Функционирование баз знаний должно поддерживаться системой мощных баз данных, что предъявляет высокие требования к параметрам аппаратной и программной среды. К настоящему времени наблюдаются лишь частичные решения проблемы создания систем пятого поколения.