Архитектура, конфигурация и организация ЭВМ
Дадим некоторые понятия и термины, связанные с ЭВМ.
Архитектура компьютера. Архитектурой компьютера называют его описание, включающее описание пользовательских возможностей программирования, системы машинных команд, системы адресации к памяти и периферийным устройствам, организации памяти и др. Архитектура не определяет особенности реализации аппаратной части ЭВМ, времени выполнения команд, ширины шин и других аналогичных характеристик. Архитектура отображает аспекты структуры ЭВМ, которые являются видимыми для пользователя: режимы адресации, форматы данных, набор программно-доступных регистров и другие принципы действия, информационные связи и взаимное соединение основных логических узлов компьютера, их взаимосвязи т.д. Другими словами это стандарты на устройства, их подключение, на программы управления устройствами, BIOS, операционные системы и др. IBM-совместимые компьютеры строятся по открытой архитектуре. В результате чего по этим стандартам сотни и тысячи компаний во всем мире выпускают электронные компоненты, разнообразное периферийное оборудование и программное обеспечение. Классическая архитектура Джона фон Неймана – одно АЛУ, через которое проходит один поток данных, и одно ЦУУ, через которое проходит один поток команд – программа, была представлена на рис.10.
Многопроцессорная архитектура приведена на рис. 12.
Параллельно могут быть организовано много потоков данных и много потоков команд. Таким образом, параллельно могут выполняться несколько фрагментов одной и той же задачи.
Рис. 12
Архитектура с параллельными процессорами (рис.13). Здесь АЛУ работают под управлением одного центрального устройства управления.
В современных ЭВМ часто при-сутствуют элементы различных типов архитектурных решений.
Многомашинная вычислительная система – это несколько процессоров, входящих в вычислительную систему,
которые не имеют общего ОЗУ, а име-
Рис.13 ют каждый свое. Каждый компьютер
в системе имеет классическую архитектуру. Такие системы применяются для решения специфических задач, когда задача разбивается на столько слабо связанных подзадач, сколько компьютеров в системе.
Часто употребляется термин конфигурация ЭВМ, под которым понимают компоновку вычислительного устройства с четким определением характера, количества, взаимосвязей и основных характеристик его функциональных элементов.
Термин организация ЭВМ определяет, как реализованы возможности ЭВМ.
Принципы фон Неймана можно реализовать множеством способов. Рассмотрим два из них: ЭВМ с шинной и канальной организацией.
Шинная организация ЭВМ. Шинная организация является наиболее простой формой организации ЭВМ. В соответствии с приведенными принципами фон Неймана подобная ЭВМ имеет в своем составе следующие функциональные блоки, изображенные на рис. 14.
Центральный процессор – функциональная часть ЭВМ, выполняющая основные операции по обработке данных и управлению работой других блоков. Это наиболее сложный компонент ЭВМ как с точки зрения электроники, так и с точки зрения функциональных возможностей. Центральный процессор состоит из следующих взаимосвязанных составных элементов: АЛУ,
Рис. 14
устройства управления и регистров, а также арифметического сопроцессора и небольшого объема быстродействующей памяти – кэш первого уровня.
АЛУ содержит в своем составе устройство, хранящее характеристику результата выполнения операции над данными, называемое регистром флагов. Отдельные разряды этого регистра указывают на равенство результата операции нулю, переполнение разрядной сетки, знак результата и др. Программный анализ флагов позволяет производить не только контроль за выполнением операций, но и операции ветвления программы в зависимости от конкретных значений данных. Кроме того, в АЛУ имеется набор программно-доступных быстродействующих регистров процессора.
Регистры составляют основу архитектуры процессора. Среди обязательного набора регистров можно отметить следующие. Регистр данных служит для временного хранения промежуточных результатов при выполнении операций (DX). Регистр аккумулятор (AX) – регистр временного хранения, используемый в процессе вычислений (в нем формируется, например, результат выполнения команды умножения). Регистр указатель стека используется при операциях со стеком (SP). Стек представляет собой формируемую в памяти структуру данных, которая работает по принципу: последним пришел – первым вышел. Стеки используются для организации работы подпрограмм. Индексные, указательные и базовые регистры (IP, BP, SP, SI, DI) используются для хранения и вычисления адресов (номеров ячеек памяти) операндов, участвующих в операции. Регистры-счетчики (CX) используются для организации циклических участков в программах. Все регистры делятся как бы на две части, например, DX (DH и DL), AX (AH и AL) и т.д. Регистры общего назначения, имеющиеся во многих ЭВМ, могут использоваться для любых целей. Наличие большого количества регистров общего назначения с богатым набором возможностей упрощает программирование и повышает гибкость программного обеспечения. Кроме перечисленных, в состав АЛУ могут входить внутренние системные регистры, не доступные программно и используемые во время внутренних пересылок информации при выполнении команд.
Работа устройства управления и ОЗУ были описаны выше при рассмотрении принципов работы компьютера.
Периферийные устройства – это устройства внешней памяти, устройства ввода данных и выдачи результатов и др.
Обмен данными с внешними устройствами осуществляется через порты ввода-вывода – некие абстрактные каналы связи, организуемые в рамках системной шины. Каждому порту присваивается свой уникальный номер, который может совпадать с таким же номером ячейки памяти. Но путаницы ни какой не происходит, так как команды записи и чтения в порты и ячейки памяти разные. К портам, как и к ячейкам памяти можно обращаться из программы. Порты обеспечивают единственную возможность приема или передачи данных любым компонентом компьютера, кроме оперативной памяти.
Система шин. Объединение функциональных блоков в ЭВМ осуществляется посредством следующей системы шин:
· шина данных, по которой осуществляется обмен информацией между блоками ЭВМ;
· шина адреса используется для передачи адресов (номеров ячеек памяти или портов ввода-вывода, к которым производится обращение);
· шина управления служит для передачи управляющих сигналов.
Совокупность этих трех шин называют системной шиной, системной магистралью или системным интерфейсом.
Состав и назначение шин, а также правила их использования, виды передаваемых по шине сигналов и другие характеристики шины могут существенно различаться у разных ЭВМ. Однако есть принципиально общие закономерности в организации шин. Шина состоит из отдельных проводников (линий) и оконечных логических схем с разной функциональностью. Сигналы по линиям могут передаваться потенциальные (разные уровни напряжения) или импульсные. Шириной шины называется количество линий, входящих в состав шины.
Обычно на шине в любой момент времени можно выделить два активных устройства. Одно из них называется задатчиком и инициирует операцию обмена данными (формирует адреса и управляющие сигналы). Другое называется исполнителем и выполняет операцию (дешифрирует адреса и управляющие сигналы и принимает или передает данные). В большинстве случаев задатчиком является ЦП. Память всегда выступает только в качестве исполнителя.
Из управляющих линий выделим следующие.
Линии занятости. Если они в состоянии "шина свободна", любой задатчик может начать операцию обмена данными на шине, иначе задатчику придется ожидать, пока шина не освободится.
Линии выполняемой операции. Указывают, какая именно операция будет выполняться: чтение (задатчик принимает данные от исполнителя) или запись (задатчик передает данные исполнителю).
Линии синхронизации. Синхронизация задатчиков и исполнителей может осуществляться по-разному в зависимости от выполняемых операций.
Функционирование ЭВМ с шинной структурой можно упрощенно описать обобщенным алгоритмом, приведенным на рис. 15.
1. Инициализация. В память ЭВМ c загружаемого устройства помещается программа – первичный внесистемный загрузчик IPL1, которая передает управление системному загрузчику IPL2 для загрузки операционной системы. После размещения ее в памяти в программный счетчик заносится адрес первой команды ОС. Следует отметить, что механизм загрузки операционной системы может быть другой для разных типов ЭВМ.
2. Центральный процессор считывает первую команду ОС из памяти, используя содержимое программного счетчика.
3. Содержимое считанной ячейки помеща-
ется в регистр команд. Устройство управления Рис. 15
приступает к интерпретации команды. По полю кода операции устройство управления определяет ее длину и, если команда окажется длинной, организует дополнительные операции считывания, пока вся команда полностью не будет прочитана процессором. Вычисленная длина команды прибавляется к исходному содержанию программного счетчика, в котором получается адрес следующей команды.
4. По адресным полям команды устройство управления определяет, имеет ли команда операнды в памяти. Если имеет, то на основе указанных в адресных полях режимов адресации
вычисляются адреса операндов и производятся операции чтения памяти для считывания операндов.
5. Устройство управления и АЛУ выполняют операцию, указанную в поле кода команды. В регистре флагов процессора запоминаются признаки результата операции.
6. Если необходимо, устройство управления выполняет операцию записи для того, чтобы поместить результат выполнения команды в память.
7. После загрузки ОС постоянно в цикле выполняется программа вывода интерфейса пользователя (в Windows – содержимое рабочего стола). ОС запускает в работу программы пользователя. По имени программа с помощью файловой системы считывается в оперативную память и размещается в определенные адреса. Адрес первой команды заносится в программный счетчик, и все повторяется, как описано выше с шага 2 по шаг 6. Последовательность действий процессора с шага 2 по шаг 6 называется циклом процессора.
8. Если последняя команда была командой ОСТАНОВИТЬ ПРОЦЕССОР, то описанная последовательность действий прерывается, программный счетчик и регистры процессора очищаются и управление передается шагу 1.
Большинство мини - и микро-ЭВМ, в том числе персональные компьютеры, имеют шинную организацию, и их поведение описывается рассмотренным алгоритмом. В конкретных различных ЭВМ реализация этого алгоритма может несколько отличаться. Так, например, по-разному может осуществляться синхронизация задатчиков и исполнителей, процессор может считывать из памяти не одну команду, а сразу несколько и хранить их в специальной очереди команд. Часто используемые программой команды и данные могут храниться не в оперативной памяти, а в быстродействующем кэш и т.д.
Канальная организация ЭВМ. В основе этого типа организации ЭВМ лежит множественность каналов связи между устройствами и функциональная специализация узлов. Упрощенная схема организации ЭВМ с каналами приведена на рис. 16. Все фон-неймановские ЭВМ очень похожи друг на друга и алгоритм функционирования центрального процессора практически ничем не отличается от рассмотренного выше.
Помимо уже знакомого набора устройств, в состав ЭВМ с канальной организацией входят устройства, называемые каналами. Канал – это специализированный процессор, осуществляющий всю работу по управлению контроллерами внешних устройств и обмену данными между основной памятью и внешними устройствами. Каналы бывают с различной скоростью передачи
Рис. 16
и подразделяются на селекторные и мультиплексные. "Быстрые" устройства (например, накопители на жестких магнитных дисках) подсоединяются к се-
лекторным каналам. Такое устройство получает селекторный канал в моно-
польное пользование на все время выполнения операции обмена данными.
"Медленные" устройства подключаются к мультиплексным каналам. Мультиплексный канал разделяется (мультиплексируется) между несколькими устройствами, при этом возможен одновременный обмен данными с несколькими устройствами. Доступ к оперативной памяти может получить и центральный процессор и один из каналов. Для управления очередностью доступа имеется контроллер оперативной памяти. Наименьший приоритет имеет центральный процессор. Среди каналов больший приоритет имеют медленные каналы. Таким образом, приоритет обратно пропорционален частоте обращения устройств к памяти.
Аналогично подсоединяются устройства и в персональных компьютерах с шинной организацией. "Быстрые" устройства подсоединяются к быстрой шине (например, к PCI подключаются сетевые карты, HDD и др.), а "медленные" устройства подсоединяются к медленной шине (например, флоппи диски, клавиатура и др. подсоединяются к медленной шине ISA).
За счет существенного усложнения организации ЭВМ упрощается архитектура ввода-вывода. Операции обмена данными становятся более простыми. Канал, по сути, представляет собой специализированный "интеллектуальный" контроллер прямого доступа к памяти. (Такие контроллеры DMA-Direct Memory Access есть и у некоторых устройств в персональных компьютерах с шинной организацией). Для ускорения обмена данными реализованы несколько трактов обмена: процессор – основная память и каналы – основная память. О своем состоянии канал может информировать процессор с помощью прерываний. Свобода подключения внешних устройств к каналу обеспечивается благодаря стандартному протоколу интерфейса, при этом появляется возможность группировать устройства по характеристикам.
Канал, являясь хотя и специализированным, но процессором, выполняет свою канальную программу. Она состоит из канальных команд и хранится в оперативной памяти. Подготовку канальной программы и загрузку ее в оперативную память выполняет операционная система. После того, как канальная программа подготовлена, адрес ее начала размещается в фиксированной ячейке памяти, называемой словом адреса канала (CAW-Channel Address Word).
Для управления каналами процессор имеет всего несколько команд. Операция обмена данными инициируется центральным процессором с помощью команды SIO M,N (Start Input-Output, где М-номер канала, а N-номер устройства в канале). Выдав команду запуска обмена, процессор, не обращая внимания на обменный процесс, продолжает выполнять свою программу. Он может проверить состояние канала с помощью команды TIO (Test Input-Output) – опросить ввод-вывод. Команда SIO M,N передается во все каналы, но воспринимает ее только канал М. Если канал занят, то он устанавливает соответствующее состояние своих регистров, и процессор по команде тестирования может выяснить, что запуск канальной программы не состоялся. Если канал свободен, то, во-первых, он выбирает из оперативной памяти CAW в свой регистр, во-вторых, передает подключенным к нему устройствам команду SIO, которую читают все устройства, но воспринимает только устройство с номером N. Если устройство занято или не готово, то в регистрах канала устанавливаются соответствующие состояния и процессор по команде тестирования снова может узнать о том, что операция обмена данными не состоялась. Если же устройство готово и свободно, оно устанавливает в интерфейсе сигнал ожидания. Вся дальнейшая обменная операция протекает по инициативе внешнего устройства. Получив сигнал ожидания, канал выбирает по адресу CAW адрес начала канальной программы и передает ее контроллеру внешнего устройства, где она и выполняется.
Канальные программы могут быть подготовительными или командами обмена данными. Подготовительные команды устанавливают режимы работы внешних устройств, осуществляют операции поиска и т.д. Обменные команды содержат коды операций и адреса оперативной памяти. Обмен происходит по асинхронной схеме по инициативе внешнего устройства. Данные извлекаются из памяти и помещаются в память напрямую, без посредников.
После выполнения команды канал проверяет в выполненной команде признак конца. Если это не последняя команда, меняется адрес CAW и выбирается следующая команда. Если команда последняя, канал "привлекает к себе внимание" процессора с помощью сигнала прерывания, по которому обработчик, являющийся частью операционной системы, выполняет операции, завершающие обмен данными.
Канал может сгенерировать сигнал прерывания до окончания выполнения канальной программы при возникновении исключительных ситуаций. В этом случае операционная система запрашивает состояние регистров канала и выясняет, что именно произошло, и определяет, какие действия необходимо предпринять в возникшей ситуации.
Отметим некоторые особенности канальных машин. Несколько подряд идущих канальных команд могут образовать цепочку данных. В этом случае имеется одна команда обмена, например чтения физической записи из нескольких адресов оперативной памяти со счетчиков. Одна физическая запись распределяется в несколько адресов оперативной памяти.
В ЭВМ с канальной организацией центральный процессор практически полностью освобождается от рутинной работы по организации ввода-вывода данных. Наличие нескольких трактов передачи данных снимает трудности , связанные с блокировкой единственного канала передачи данных (системной шины), что повышает скорость обмена. В результате общая производительность системы существенно возрастает, за счет чего удорожание схемы окупается.
Ярким примером ЭВМ с канальной организацией являются большинство менфреймов начиная еще с машин семейства IBM-360/370, появление которых произвело переворот в вычислительной технике. Все машины семейства ЕС ЭВМ строились по такой схеме. В настоящее время накоплено богатое наследие в виде интересных архитектурных решений, программных и алгоритмических разработок, поэтому канальная организация ЭВМ встречается довольно часто.
Лекция 16
Дата добавления: 2018-11-25; просмотров: 1473;