4. Вычислительные системы (ВС) [1].
Развитие вычислительной техники основывается на постоянном усовершенствовании элементной базы и разработки новых архитектурных решений. Можно условно разделить периоды развития на этапы - поколения. По элементной базе можно выстроить следующий ряд поколений: ламповые — полупроводниковые — интегральные схемы. В свою очередь машины на интегральных схемах можно подразделить на ИС — БИС — СБИС — Микропроцессор (Кил-ЦП). Под кил-ЦП (приставка "кил" - образовано от слова килер) понимается современный микропроцессор, вобравший в себя все современные архитектурные решения и называемый килером в связи со своей дешевизной, а значит и повсеместным использованием при построении современных многопроцессорных вычислительных систем.
4.1 Существенные архитектурные признаки вычислительных систем.
Наибольшие архитектурные изменения произошли в машинах третьего поколения, в ВС построенных на ИС. В этом поколении можно выделить ряд существенных признаков.
- По элементной базе - переход от дискретных полупроводниковых элементов к интегральным схемам (ИС). Это уменьшило габариты, энергоемкость, повысило надежность ВС.
- По структуре данных и команд - переход к стандартным структурам: байт (6, в дальнейшем 8 бит); полуслово (16 бит, 2 байта); слово (32 бит, 4 байта); двойное слово (64 бит, 8 байт). В ВС введено несколько форматов команд, имеющих в целом побайтовую структуру.
- В центральном процессоре введена система прерывания.
- Все управление ВС автоматизировано, верхний уровень автоматизации осуществляет комплекс программ, объединенный в операционную систему (ОС). ОС является неотъемлемой частью ВС, без которой она работать не может. Пользователь общается с ВС через ОС, которая синхронизирует работу аппаратной части ВС через систему прерываний и таймер - электронные часы.
- ВС работает в многопрограммном режиме работы.
- Усилена иерархия памяти; ОЗУ делится на блоки с независимыми системами управления, могущие работать одновременно, в процессоре появляются элементы ограниченной сверхбыстродействующей памяти на электронных регистрах. Ячеечная структура ОЗУ дополняется более крупным структурным объединением - страницей, сегментом.
- Значительно расширена номенклатура и число периферийных устройств и устройств внешней памяти, в том числе вводятся в качестве основного устройства внешней памяти магнитные диски НМД (накопители на магнитных дисках).
- Несколько моделей одной архитектуры, отличающихся производительностью, но программно совместимых "снизу вверх" с совместимыми для всех моделей периферийными и внешними запоминающими устройствами, объединены в одно семейство (ряд).
- Введены специальные периферийные процессоры (каналы) для управления ВЗУ и периферией.
Ядром ВС 3-го поколения является центральный процессор (ЦП). Схема его усложнилась. Он является уже не единственным процессором, а центральным процессором всей ВС. На рис. 4.1 показана логическая структура ЦП. Видна четко прослеживаемая интеграция в понятие ЦП совокупности свойств блоков АУ и УУ, рассматриваемых на предыдущей лекции.
Для работы с различными типами данных, АУ центрального процессора содержит блоки дополнительного оборудования, обеспечивающих работу с различными форматами данных (числа с плавающей или фиксированной запятой, целые числа). На рис. 4.1 это показано несколькими типами АУ. Соответственно расширяется и состав машинных команд, т.е. функции УУ. Для быстрого запоминания и повторного использования промежуточных результатов, индексации адресов в командах, быстрого запоминания текущего состояния ВС, для возможности временного переключения на программы и возвращения затем к прерванной программе ЦП снабжается небольшим количеством быстрых регистров, которые составляют сверхоперативную память. При этом ЦП приобретает некоторую автономность и короткие программы, главным образом управляющего плана, может выполнять, не обращаясь к ОЗУ.
Рис. 4.1. Логическая структура ЦП
Весьма важной частью ВС, обеспечивающей многопрограммность ее работы, является система прерывания программы. Система прерываний реализуется программно и аппаратно. Ее программные блоки в основном входят в ОС. Назначение системы прерывания состоит в том, что если по ходу работы ВС возникает необходимость выполнить срочную работу, не входящую в выполняемую в этот момент программу, то выполнение программы приостанавливается, включается подпрограмма требуемой работы и после ее выполнения вновь восстанавливается работа прерванной программы. Для этого при прерывании основной программы состояние всех основных регистров, в том числе и следующей команды основной программы, запоминается. После этого управление передается подпрограмме ОС, обрабатывающей прерывание. В конце подпрограммы ОС помещены команды, восстанавливающие состояние ВС перед прерыванием, и последней командой управление вновь передается основной программе. По сути, организация взаимодействия основной программы и подпрограммы обработки прерывания не отличается от организации обращения к библиотечной подпрограмме и выхода из нее. Только в случае библиотечной подпрограммы инициатива исходит от основной программы, а при прерывании - от аппаратно (или программно) выставляемого сигнала прерывания.
Прерывания делятся на внутренние и внешние. Внешние прерывания поступают от периферийных устройств, периферийных процессоров, таймера и пультовой машины на внешний регистр прерывания и, как правило, фиксируют статус внешнего устройства, например, завершение обмена с ВУ. Внутренние сигналы прерывания вырабатываются при возникновении аппаратных сбоев внутри процессора, при программных ошибках и в ряде специальных случаев. К конкретным причинам внутренних прерываний относятся: запрещенные команды в различных режимах, некомандный тег на РК, экстракод, переполнение сумматора АУ, ошибки памяти, совпадение адреса записи или чтения в Р+А с заданным и т.д. и т.п. Сигналы внутреннего прерывания имеют приоритет перед сигналами внешнего прерывания и блокируют дальнейшее выполнение программы Схемы, фиксирующие сбой/ошибку/статус устанавливают соответствующие разряды регистра внутренних или внешних прерываний в состояние "1".
Собственно обработка прерывания заключается в прерывании выполнения текущей команды, запоминании признаков режимов работы программы (состояние процессора) в специальных регистрах процессора и переходу на программу анализа причины прерывания (анализ регистра прерывания) и дальнейшей обработки прерывания. Операция прерывания начинается при довыполнении команд на всех уровнях конвейера ниже того уровня, где образуется прерывание. В зависимости от типа прерывания аппаратная передача управления (занесение кода на СчК) происходит по различным адресам. А уж в ячейках по этим адресам памяти находятся опять команды передачи управления, но на нужные программы последующей обработки прерывания. Этим достигается независимость аппаратных средств от типа устанавливаемой операционной системы. В большинстве вычислительных систем имеется также программно доступный регистр маски прерываний. Он позволяет блокировать формирование некоторых сигналов прерываний и используется для программного способа установления приоритетами прерываний, особенно важного для вычислительных систем, работающих в реальном времени.
Теперь рассмотрим блок-схему ВС, показанную на рис. 4.2. В верней части блок-схемы показано ОЗУ, разделенное на отдельные блоки. Каждый блок имеет свое местное устройство управления оперативной памяти. Нумерация страниц в ОЗУ и быстрой ВЗУ делается сквозной. Обмен между ОЗУ и быстрой ВЗУ (МД) происходит сравнительно большими объемами информации достаточно быстро и оперативно. Программирование упрощается, так как пользователю дают весь объем памяти (ОЗУ + МД) для прямой поячеечной адресации. Такие адреса носят названия виртуальных. Физическими адресами данных являются только адреса ОЗУ. В первом блоке ОЗУ размещена резидентная часть ОС (часть блоков ОС которые часто используются). Под системой коммутации располагаются процессоры: центральный процессор (ЦП) и периферийные процессоры ввода-вывода (ППВВ), выполняющие функции обмена между ОЗУ и периферийными устройствами. Простейшие ППВВ, по терминологии для отечественных ЭВМ, также называют каналами.
Левый канал подключен к ВЗУ. Поскольку скорость передачи данных высокая и, следовательно, время обмена короткое канал поддерживает связь ОЗУ с выбранным ВЗУ все время, пока не закончится обмен. Поэтому этот канал называется селекторным, то есть канал выбирает устройство на все время обмена. К правому каналу подключены более медленные периферийные устройства ввода вывода (УВВ). Чтобы полностью использовать пропускную способность канала, его снабжают своим быстродействующим ЗУ и системой переключения с одного УВВ на другое. Этот канал работает в 2 такта: во-первых, он накапливает данные из УВВ в ячейках памяти, закрепленных за этим УВВ, переключаясь, по мере готовности передать или принять данные, с одного УВВ на другое, а во-вторых, обменивается более крупными порциями данных между своим буферным ЗУ и ОЗУ. Этот тип канала за способность к быстрому переключению получил название мультиплексного.
Для стандартизации подключения всех ВЗУ и УВВ к магистралям, идущим от каналов к устройствам, все электрические параметры этих магистралей стандартизированы. Этот стандарт называется главным интерфейсом ВС.
Рис. 4.2. Физическая структура ВС
Интерфейс - это стандарт на сопряжение информационных блоков, определяющий число линий в этом сопряжении, назначение каждой линии, тип передаваемой по каждой линии информации и направление передачи, кодировку информации, передаваемой по линиям, все электрические и временные параметры сигналов и конструктивы соединения (разъемы). Устройство, согласующее главный интерфейс и интерфейс устройства называется адаптером. В некоторых случаях адаптер получается достаточно сложным и в тоже время может использоваться в каждый момент времени только с одним устройством, например одним диском из нескольких имеющихся в селекторном канале. Такое устройство, совмещающее функции адаптера и мультиплексора, называется контроллером (К1 и К2 на рис 4.2)
4.4. Перспективы архитектур ввода/вывода для серверов и рабочих станций. [2]
Архитектура современных компьютеров, изображенных на рис 4.3, предусматривает наличие разделяемой шины ввода/вывода, а также специальных мостов, через которые данные поступают в шину ввода/вывода из других шин. В результате в системе образуются узкие места, заметно снижающие ее производительность. Спецификация NGIO не потребует внесения изменений в архитектуру микропроцессоров и сможет использоваться в серверах, которые создаются на платформах, отличных от Intel, например в компьютерах Sun с процессорами UltraSPARC или в серверах Compaq, построенных на основе процессоров Alpha.
Рис. 4.3. Современная архитектура ввода/вывода
Корпорации IBM и Intel разработали новую архитектуру ввода/вывода (рис.4.4), которая должна сменить используемую сегодня спецификацию PCI, развитие которой заметно отстает от темпов увеличения вычислительной мощности процессоров. IBM предлагает спецификацию Future I/O, позаимствованное из архитектуры мэйнфреймов и базирующееся на использовании коммутируемых соединений, или каналов, как ее называют в самой IBM. Такая технология применялась в широко известных мэйнфреймах S/390. Тем временем на прошедшем в середине ноября 1998 года в Сан-Диего форуме Next Generation I/O for Servers корпорация Intel анонсировала поразительно похожую на предложения IBM технологию NGIO.
Рис.4.4. Перспективная архитектура ввода/вывода
Таким образом, наблюдается вытеснение большей части шинных архитектур ввода/вывода коммутируемыми каналами. Многопроцессорные комплексы по-прежнему планируется строить на основе шины, но взаимодействие этой шины с остальной частью системы будет осуществляться при помощи канального адаптера хоста HCA (host channel adapter). В этом случае адаптер HCA через коммутатор подключается к конечным канальным адаптерам (target channel adapters, TCA), которые в свою очередь обмениваются данными с контроллерами Gigabit Ethernet, Fibre Channel, SCSI и другими каналами ввода/вывода.
Предлагаемый стандарт NGIO - преемник шин PCI и PCI X, в поддержку которых высказались все основные производители аппаратного обеспечения. Большинство аналитиков согласны, что существующая архитектура шины PCI уже не сможет адекватно поддерживать работу более мощных приложений. Современные процессоры Xeon компании Intel позволяют передавать данные со скоростью около 800 Мбит/с, перспективный 32-разрядный процессор Foster будет рассчитан на пропускную способность 3,2 Гбит/с, а производительность процессора McKinley может оказаться еще выше.
Литература
- Смирнов А.Д. Архитектура вычислительных систем: Учеб. пособие для вузов. М.: Наука. Гл. ред.физ.мат. лит., 1990. 320 с
- Дэвид Пендери, Энди Сантони, Эд Скэннел "Ревизия архитектур ввода/вывода" / InfoWorld, США. COMPUTERWORLD РОССИЯ #46/98