Архитектура ЭВМ. Курс лекций Томск 2013 2 Оглавление
Скачать 1.9 Mb.
|
Достоинства подхода – простота и дешевизна реализации. Недостаток – жесткое закрепление за различными блоками ОП одной строки Кэш-памяти. Поэтому, если программа поочередно обращается к словам из двух разных блоков, отображающихся на одну и ту же строку Кэш-памяти, вероятность частого обновления Кэш будет очень большой. 7. ПОДСИСТЕМА УПРАВЛЕНИЯ 7.1. Основные функции и состав устройства управления Упрощенные структура процессора и схема выполнения машинной команды обсуждены в п.5.2. В этом разделе рассмотрим подробнее структуру и принципы функционирования устройства управления (УУ). В общем случае УУ формирует управляющие сигналы для выполнения следующих функций: • выборка из основной памяти (ОЗУ или ПЗУ) кода очередной команды; • расшифровка кода операции и признаков выбранной команды; • формирование исполнительного адреса операнда; • выборка операндов и выполнение машинной операции; • анализ запросов на прерывание исполняемой программы; • формирование адреса следующей команды. 48 Для выполнения указанных функций УУ содержит блоки: расшифровки команд, адреса команды, управления операциями, прерываний, тактовых импульсов, на входы которых поступают определенные группы управляющих сигналов (УС) (рис. 32.). Рис. 32. Общая структура и функционирование устройства управления По соответствующим управляющим сигналам адрес очередной команды из блока адреса команды (регистр счетчика команд) пересылается в ОЗУ (или ПЗУ), устанавливаемое в режим считывания. По этому адресу очередная команда программы принимается для расшифровки и исполнения в блок расшифровки команд (регистр команд). Управляющие сигналы, под воздействием которых производится выдача и прием адреса команды и собственно кода команды (ее двоичного представления), непосредственно вырабатываются блоком тактовых импульсов и называются тактовыми импульсами. Блок тактовых импульсов вырабатывает и сигналы общего управления режимами работы всех блоков процессора и запоминающих устройств. После приема кода команды в блок регистра команд ее операционная часть (код операции, признаки) пересылаются в блок управления операциями, который после расшифровки операционной части вырабатывает последовательность управляющих сигналов; эти управляющие сигналы инициируют операции арифметико-логического устройства процессора и синхронизированные тактовые импульсы, необходимые для выполнения требуемой машинной операции. Если операндная часть кода команды содержит ссылки на адрес основной памяти, блок формирования адреса обеспечивает формирование исполнительных адресов операндов. Следует учесть, что в командах перехода операндная часть указывает на адрес следующей команды программы, в этом случае адрес поступает на вход блока адреса команды. В современных ЭВМ перед выборкой очередной команды, а также во время ее выполнения производится анализ запросов на прерывание текущей программы (в частности, на наличие поступивших сигналов от внешних запоминающих устройств на Расшифровка команды Команда УС Формирование адреса УС Адресная часть (данные) Адрес команды Адрес команды В шину адреса УС Блок тактовых импульсов тактовые импульсы Код операции Управление операциями … УС Признаки результата … УС Осведомительные сигналы Блок прерываний Запросы на прерывание 49 выполнение операций ввода-вывода), для чего в устройство управления включается блок прерываний . 7.2. Принципы функционирования Выполнение машинных команд. В процессе исполнения машинных команд устройство управления производит анализ и пересылку команды, отдельных ее частей (кода операции, признака способа адресации и адреса) или операнда из одного регистра в другой, арифметико-логическое устройство, память. Эти элементарные действия (микрооперации) протекают в определенной временной последовательности и скоординированы между собой. Микрооперации осуществляют: • передачу информации из одного регистра в другой, • выполнение элементарных сдвигов в рамках одного регистра, • проверку бита в регистре, • передачу данных из регистра в шины и т.д. Каждая машинная команда выполняется в течение некоторого временного отрезка (цикла команды), определяемого количеством тактовых импульсов работы ЭВМ, необходимых для ее (команды) реализации. Цикл команды включает один или несколько машинных циклов, причем каждый машинный цикл предназначен для определенной цели (выполнения функции УУ), например, выборка команды, дешифровка кода операции, выборка операнда и т.д. Ясно, что каждый машинный цикл требует выполнения определенной последовательности микроопераций. На вход микрооперации поступает булев вектор, представляющий значение соответствующей компоненты команды (код операции, номер регистра, адрес памяти). Результатом выполнения микрооперации является булев вектор, задающий набор сигналов, которые должны быть поданы на вход соответствующих управляющих линий. Таким образом, самый высокий уровень иерархии управления состоит в анализе информации, содержащейся в машинной команде; саму машинную команду, в конечном счете, представляющую собой булев вектор, в некотором смысле можно рассматривать как совокупность управляющих сигналов. Выполнение микрооперации в этом случае есть не что иное, как результат реализации соответствующей комбинационной схемы. Основы функционирования операционной компоненты. При разделении процессора на управляющую компоненту - устройство управления (УУ), и операционную компоненту (блок управления операциями – БУО или АЛУ), его можно представить в следующем виде (рис. 33.) 50 Рис. 33. Структура процессора при декомпозиции его на УА и ОУ На приведенном рисунке Y={y 1 ,y 2, …,y m } - множество функциональных сигналов, управляющих ходом выполнения операций. Каждый функциональный сигнал соответствует выполняемой микрооперации на некотором такте работы ЭВМ. U={u 1 , u 2 ,…,u k }- сигналы, оповещающие о ходе выполнения операции. Функционирование блока управления операциями определяется следующими двумя множествами: • множеством наборов сигналов на входах x 1 , x 2 , ... , x n , соответствующих двоичному коду операционной части команды (например, КОП) и двоичным значениям сигналов осведомительных признаков (на рис.33. вектор U); • множеством двоичных управляющих сигналов на выходах УС 1 , УС 2 , ... , УС m (на рис. 33. вектор Y), соответствующих множеству выдаваемых из устройства управления сигналов микроопераций: их общее число определяется количеством управляемых точек, в которые устройство управления выдает управляющие сигналы; эти выходные сигналы могут быть поданы на вход устройства управления более низкого уровня иерархии или непосредственно на вход управляемого блока. Поскольку каждый из входных и выходных сигналов может принимать только два значения: 0 или 1, каждый выходной сигнал УС i можно описать как логическую функцию входных сигналов: УС i =f i (x 1 , x 2 , ... ,x n ), i=1, 2, ... ,m (*) По принципу формирования и развертывания временной последовательности управляющих сигналов (способу построения цикла работы ЭВМ и ее устройства управления), различают устройства управления аппаратного и микропрограммного типов. В устройстве управления аппаратного (схемного) типа блок управления операциями представляет собой комбинационную схему , в которой требуемое множество состояний задается множеством логических и запоминающих элементов, непосредственно (без вмешательства микропрограмм), реализующих функции переходов и выходов. Другими словами, логические функции (*) реализуются электронными схемами из элементов, выполняющих простейшие логические действия И, ИЛИ, НЕ. Для каждого такта обеспечивается выбор требуемых элементов, что позволяет подать на выходы блока сигналы микроопераций. Ясно, что всякое изменение управления требует изготовления новой комбинационной схемы и (что эквивалентно) перепроектирования ЭВМ. Данные Результат УС КОП УУ БУО y 1 y 2 . . . y m U=(u 1 , u 2 , …,u k ) 51 В устройстве управления микропрограммного типа логические функции (*) рассматриваются как некоторые формулы. Например, комбинационную схему полусумматора можно представить следующей совокупностью формул: Очевидно, что значение управляющих сигналов S и C можно "вычислить", используя блок управления операциями как электронную машину с упрощенной системой команд (микрокоманд), выполняющей простейшие логические операции (микрооперации); микрооперации выполняются в соответствии с указаниями, содержащимися в микрокомандах. Таким образом, блок управления операциями выполняет функции блока хранения и выборки кодов микрокоманд. Микропрограммный принцип управления представляет более гибкие возможности для перенастройки центрального процессора при частичной модификации системы команд; для этого достаточно поменять микросхему с ПЗУ, в которой "зашита" система микропрограмм на эту же микросхему, но с другой настройкой ("прошивкой"). Такие изменения при схемной реализации невозможны. Однако схемная реализация существенно превосходит микропрограммную по быстродействию. В современных ЭВМ общего назначения (универсальных ЭВМ) используется микропрограммное управление, а в специализированных ЭВМ для достижения максимальной производительности - схемное. Замечание. Совершенствование технологической базы в настоящее время позволяет упростить схемную перенастройку, что определяет тенденцию к постепенному переходу к аппаратному принципу управления (возврату к принципам управления в первых поколениях ЭВМ). 7.3. Понятие микропрограммирования Микропрограммный принцип реализации устройства управления основан на том, что любую комбинационную схему можно реализовать запоминающим устройством. Как всякая комбинационная схема, так и всякая система логических функций могут быть однозначно заданы таблицей истинности. x 0 x 1 x n-1 f 0 f 1 f m-1 0 0 … 1 1 0 0 … 1 1 0 1 … 0 1 0 1 … 0 0 1 1 … 0 1 1 0 … 0 1 Эта таблица задает соответствие между наборами значений n входных переменных x 0 , x 1 , ... , x n-1 и наборами, характеризующими значения выходных функций f 0 , f 1 , ... , f m-1 Рассмотрим структуру запоминающего устройства (ЗУ) на рис.34. S=(X^Y) ^ (X ∨Y) C=X^Y 52 Рис. 34. Схема запоминающего устройства, реализующего комбинационную схему На вход устройства поступает булев вектор х=(x 0 , x 1 , ... , x n-1 ), задающий номер (адрес) ячейки памяти. Память состоит из 2 n m-разрядных ячеек, каждая из которых хранит вектор f=(f 0 , f 1 , ... , f m-1 ). Такое ЗУ по своим функциям может заменить любую комбинационную схему с n входами и m выходами. Действительно, последовательность управляющих сигналов (содержимое ячеек), поступающих из памяти такого ЗУ, можно рассматривать как некоторую программу, определяющую функционирование управляющих схем дискретных устройств. Набор управляющих сигналов f несет информацию о тех микрооперациях, которые, должны быть выполнены устройствами в данный временной такт. Справедливо поэтому назвать строки памяти микрокомандами, а их объединение - микропрограммой. Каждый управляющий сигнал (*) связан с конкретной микрооперацией, которая должна быть выполнена, если он принял значение 1. Следовательно, двоичный набор, представляющий микрокоманду, можно рассматривать как перечень тех микроопераций, которые возбуждаются устройством управления для параллельного, одновременного выполнения в различных устройствах ЭВМ в данный такт работы. Ячейки памяти часто называют управляющими словами, а саму память - управляющей памятью. Замечание. В составе микрокоманды есть поле, хранящее адрес микрокоманды, которая должна выполниться на следующем такте соответствующего машинного цикла. С помощью этого поля микрокоманды и объединяются в микропрограммы. В некоторых различных по своему функциональному назначению циклах работы ЭВМ выполняются группы одинаковых микрокоманд. Например, при разных по смыслу обращениях в основную память за командой или за данными необходимо выполнить одинаковую группу микрокоманд, формирующих адрес по памяти, вызывающих этот адрес на дешифратор оперативной памяти с учетом сигналов ее готовности к работе. Такие группы микрокоманд формируются в микроподпрограммы. Возможность использовать подпрограммы значительно экономит микропрограммную память. В то же время это требует усложнения микропрограммного устройства управления. В нем в том или ином виде должны существовать аппаратные средства, обеспечивающие переход к подпрограммам, возврат из подпрограмм, команды условного и безусловного переходов. 8. УПРАВЛЕНИЕ ВВОДОМ-ВЫВОДОМ 8.1. Системная магистраль "Общая шина". Контроллеры внешних устройств и уровни сопряжения Связь процессора с внешними устройствами осуществляется по шинам - системам проводов, несущим сигналы от процессора к внешним устройствам и обратно. Организация Входы x 0 x 1 … x n-1 … m-1 … 2 1 0 f m-1 f 2 f 1 f 0 Выходы … Регистр считывания 53 связи в различных моделях ЭВМ различна; здесь описывается способ связи, принятый в наиболее распространенном классе современных ЭВМ – микро-ЭВМ. Замечание. Микро-ЭВМ – это компьютеры, в которых центральный процессор выполнен в виде одной микросхемы (микропроцессора). Линии, по которым происходит передача информации, можно разделить на три группы: информационную (шину данных), адресную (шину адреса) и управляющую (шину управления). В целом все эти шины носят название Системная шина (Общая магистраль). При магистральном принципе организации ОЗУ и все внешние устройства подключаются к общей магистрали, исходящей из процессора (рис.35.). Рис.35. Магистральная организация архитектуры ЭВМ Описание связей, осуществляемых по общей шине, должно включать ответы на ряд чрезвычайно важных вопросов: • Каков способ передачи данных (словами, байтами, битами)? • Каков способ передачи адреса? • Какими управляющими и (или) осведомительными сигналами сопровождается передача адреса и данных? • Какие осведомительные сигналы (о состоянии памяти и внешних устройств) пересылаются в процессор? • Как должны быть распределены во времени информационные, управляющие и осведомительные сигналы? • Какими напряжениями кодируются двоичные 0 и 1? • С каких выводов системной платы или разъемов можно снять тот или иной сиг- нал и на какие подать? • Какой тип разъема надо использовать для подключения к процессору? Ответы на эти и многие другие вопросы можно получить, ознакомившись с системным интерфейсом. В общем случае под интерфейсом понимается совокупность средств, определяю- щих логический порядок взаимодействия систем (протокол взаимодействия, в котором все физические и логические параметры согласуются между собой), и вытекающие из протокола требования к аппаратуре и к программному обеспечению, если обмен данными осуществляется под управлением программы. Замечание. Если интерфейс является общепринятым, например, утверждённым на уровне международных соглашений, то он называется стандартным. Таким образом, системный интерфейс - это набор цепей, связывающих процессор с памятью и внешними устройствами, алгоритм передачи сигналов по этим цепям, их электрические параметры и тип соединительных элементов. Подключение любого внешнего устройства к ЭВМ осуществляется через его устройство управления - контроллер ВУ (далее просто контроллер). Таким образом, в системах ввода-вывода большинства современных ЭВМ можно выделить два уровня со- пряжения внешних устройств с процессором и памятью. На первом уровне контроллеры сопрягаются с процессором и памятью через системный интерфейс, который обеспечивает объединение отдельных устройств ЭВМ в единую систему. На втором уровне сопряжения контроллеры посредством шин связи соединяются с соответствующими внешними устройствами (рис. 36.). ОЗУ ВЗУ УВВ … Процессор 54 Рис.36. Уровни сопряжения контроллеров ВУ Двухуровневая система интерфейса определяет зависимость способов структурной и функциональной организации контроллеров от двух основных факторов: • форматов данных и режима работы конкретных внешних устройств, • типа системного интерфейса (организации общей шины). Влияние первого фактора на организацию контроллеров достаточно очевидна. Действительно, нерационально было бы создавать единый универсальный контроллер, обеспечивающий, например, подключение к ЭВМ простых устройств типа клавиатуры и сложных устройств типа накопителей на магнитных дисках. Именно поэтому на практике применяют самые разнообразные контроллеры: от простейших для подключения к ЭВМ датчиков одиночных сигналов до очень сложных, сравнимых по сложности с процессорами микро-ЭВМ, например, для сопряжения ЭВМ с аппаратурой для автоматизации научных исследований. Второй фактор - тип интерфейса - определяет способ организации электронных схем контроллеров, обеспечивающих связь с шинами общей магистрали. Упрощения и унификации аппаратуры сопряжения добиваются за счет введения промежуточного стандартного интерфейса параллельной или последовательной передачи данных. В этом случае для подключения к микро-ЭВМ различных внешних устройств с такими стандартными интерфейсами можно использовать одинаковые (для данной ЭВМ) контроллеры параллельного или последовательного интерфейса. Такие контроллеры, выпускаемые серийно в виде отдельных микросхем, часто называют |