Лекции по архитектуре эвм
Скачать 397.84 Kb.
|
Глава 2. Микропрограммный уровень организации ЭВМ. §1 Принцип микропрограммного управления. В общем случае между программными и аппаратными средствами четкие границы отсутствуют. В большинстве современных ЭВМ непосредственная связь между аппаратурой и программными средствами осуществляется через микропрограммный уровень. Любая машинная команда исполняется аппаратурой не непосредственно, а путем их интерпретации в соответственную последовательность более простых действий. А значит всегда существует задача программирования машинных команд из более простых действий – микропрограммирование. Впервые этот термин был введен в 1953 году специалистом по ВТ Уилксом. Но это было применимо только к аппаратным средствам. Примерно в середине 60- х годов, усилиями разработчиков IBM, идеи Уилкса превратились в принцип организации ВМ. Микропрограммирование обеспечило переход к модульному построению ЭВМ. Развивая идеи микропрограммирования, Глушков показал, что в любом устройстве обработки информации функционально можно выделить операционный автомат и управляющий автомат. На этом уровне структура любой информации: Управляющий блок выдает последовательность сигналов, которые обеспечивают выполнение данной команды. Информационные сигналы зависят не только от исходных значений обрабатываемых данных, но и от результатов получаемых в процессе обработки. Порядок функционирования устройства базируется на следующих положениях: КОп Адрес операнда Направление и число сдвигов 11 100101 00 10010111 1 00 1 11 Операционный блок Управляющий блок Упр. Сигн. Команды опернды Информационные сигналы результаты CPU - 19 - 1) Любая машинная команда рассматривается, как некоторое сложное действие, которое состоит из последовательности элементарных действий над словами информации – микроопераций. 2) Порядок следования микроопераций зависит не только от значений преобразуемых слов, но также от их информационных сигналов, вырабатываемых операционным автоматом. Примерами таких сигналов могут быть признаки результата операции, значения отдельных битов данных и т.п. 3) Процесс выполнения машиной команды описывается в виде некоторого алгоритма в терминах микроопераций и логических условий. Описание информационных сигналов – микропрограмма. 4) Микропрограмма служит не только для обработки данных, но и обеспечивает управление работой всего устройства в целом – принцип микропрограммного управления. Операционный блок обеспечивает выполнение определенного набора микроопераций и вычисление необходимых логических условий. Управляющий автомат, согласно заданной машинной команде, генерирует необходимую последовательность сигналов, инициирующих соответствующие микрооперации, согласно микропрограмме и значениями логических условий, формируемых операционным в ходе обработки по микропрограмме. Таким образом, микропрограммы выступают, с одной стороны, в роли закона по которому выполняется обработка, с другой стороны, закон, по которому работает управляющий блок. §2 Описание функциональных микропрограмм. Существуют языки микропрограммирования, которые обеспечивают описание законов функционирования микропроцессора. Все функциональные блоки рассматриваются на уровне регистров. Языки микропрограммирования являются сильно ориентируемыми на конкретную структуру обработки информации. Основным оператором языка является микрокоманда, которая состоит из нескольких функционально совместимых микроопераций, т.е. порядок выполнения операций не влияет на конечный результат. Совместимость микроопераций зависит не только от действий, но и от структуры операционного автомата. С точки зрения языка для описания объектов используются конструкция идентификатор. Эти идентификаторы используются с конкретным числом битов того или иного данного. Отдельные поля регистров могут иметь собственное обозначение (идентификатор). Любая микрооперация, как некоторый акт преобразования данных, записывается в виде оператора :=. Сами по себе операции по преобразованию могут быть арифметическими, логическими, функциональными. Многофункциональное действие может быть использовано только в случае, если в операционном автомате есть соответствующий аппаратурный элемент. Основной единицей информации является слово. Микропрограммы пишутся с точки зрения слов. Любая микрокоманда выполняется за 1 такт машинного (автоматного) времени. Микрокоманда записывается всегда в 1 строку. Сама микрокоманда записывается в виде отдельных микрооператоров. Для того, чтобы организовать ветвления, используются условные микрооператоры – if, как полный так и укороченный вариант, вплоть до операторов условного присваивания := (условие). Для наглядности представления микропрограмм используется графическое представление – схема алгоритма микропрограммы. В основе вычерчивания схем лежат общие требования, которые определяются стандартами группы ГОСТ 19… - группа единой системы программной документации. При графическом представлении учитывается, что в микропрограмме количество различных типов вершин в схеме алгоритмов резко ограниченно. - 20 - …..…. Конкретный номер микрооперации, который реализуется в операционном автомате и номер логических условий, которые вычисляется в различных автоматах, различны. Но этот номер должен удовлетворять требованиям алгоритмической полноты и эффективности. Полнота – свойства набора операций и логических условий, которые позволяют построить микропрограмму для любой выполняемой операции устройствам машинной команды. Эффективность предполагает, что набор микрооперации и логических условий позволяет строить наиболее быстродействующий алгоритм машинных команд при заданных ограничениях на аппаратные средства. §3 Набор микроопераций и микроэлементов. Операционный блок процессора представляет собой некоторую композицию так называемых композиционных элементов. Операционный элемент имеет аппаратную реализацию в виде «отдельной» части. Обеспечивает хранение слов, выполнение микроопераций над словами и их полями, а также вычисление логических условий. Все элементы в операционном автомате (ОП) соединяются между собой с помощью шин, которые обеспечивают передачу слов с выхода одного операционного элемента на вход другого. Все микрооперации разделяются на семь групп: 1. МО установки (А:=0) G:=N 2. МО передачи (А:=В) 3. МО инвертирования (А:= А) 4. МО сдвига (А:=L1(A).0) – конкатенация. 5. МО счета (С:=С ±1) 6. МО сложения (С:=А ± В) 7. МО поразрядные, логические &,∪,⊕ (С:= А⊕В) Набор микроопераций и микроэлементов. В соответствии с выполняемыми МО операционные элементы процессора разделяются на шины, регистры, счетчики, сумматоры (вычитатели), логические устройства, сдвигатели, преобразователи и формирователи кодов, комбинированные операционные элементы. 1 °. Шина. Для передачи 1 бита данных требуется 1 сигнальная линия (1 проверка). Совокупность всех цепей, которые обеспечивают одновременную предачу всех битов слова, называется шиной Шина реализует МО передачи. Шина, по которой передается только прямое или только инверсное значение, называется однофазной . Если по шине одновременно передается и прямое и инверсное значение, то шина называется парафазной . Если по сигнальным линиям информация может передаваться только в одном направлении, то такая сигнальная линия Начало Конец Обязательно в схеме алгоритма Стрелки необязательны, если движение идет по основному направлению. Микрокоманда R(x) нет да R(x) Значения условий Множественное ветвление - 21 - называется однонапрвленной . Если информация может передаваться в том и другом направлении, то такая шина – двунаправленная Передача информации происходит по сигналу, который имитирует передачу. Ширина шины – количество одновременно передаваемых данных. 2 °. Регистры. Регистр – совокупность запоминающих элементов, которые предназначены для приема, хранения и выдачи информации. Вход и выход шины. С помощью регистра выполняются МО установки, инвертирования, сдвига на заданное число разрядов. Любой регистр может подразделяться на подрегистры, которые соответствуют определенным полям слова. Над подрегистрами могут выполняться автономные операции. Выдача информации из регистра производится без потери в источнике. 3 °. Счетчики. Обеспечивает МО счета (прямого или обратного) Сч:=Сч ±const const = 2 k – степень двойки. Суммирующие счетчики (прямое) Вычитающие счетчики (обратное) Реверсирующие счетчики (то и другое направление) Счетчики строятся с использованием запоминающих элементов (регистров). Кроме МО счета счетчика можно реализовать все МО, которые характерны для регистров, то есть прием, выдачу, сдвиг кода, хранение. 4 °. Сумматоры. Операционный элемент, который реализует МО: 1) С:=А+В 2) С:=С+В – рекуррентная схема. Различают комбинационные и накапливающие сумматоры, которые реализуют соответственно (1) и (2). Комбинационный сумматор. На самом деле сумматор обрабатывает три операнда: А, В – слова одной разрядности, а третий операнд однобитовый. CY.C(n:0) = A(n:0) + B(n:0)+C0 Обычно используют комбинационный сумматор, т.к. написание упрощенное. Двунаправленные шины (передают 8 бит) Однонаправленные шины 8 8 n А 0 n Сч 0 n Сч 0 А В С0 CY - 22 - Комбинационный сумматор – техническое устройство (схема), в которой результат присутствует на выходе до тех пор, пока на входе присутствуют входные сигналы. Накапливающие сумматоры строятся на основе регистров, поэтому результат суммирования может быть считан из соответствующего выхода регистра в любой момент времени до новой МО. Также может быть реализован с помощью комбинационного сумматора. 5 °. Преобразователи кодов. Обеспечивают перекодировку значений, т.е. преобразование из одного кода в другой. Самые распространенные, преобразуют двоичный позиционный код в унитарный двоичный код – дешифрация. (Знать унитарный и позиционный бинарный код). Если m = 2 n+1 –1, то такой дешифратор называется полным. В противном случае – неполным. Эти операционные элементы используются для организации связи между устройствами, в том числе, с памятью ЭВМ. Обратное преобразование (из унитарного кода в позиционный код) реализуется с помощью шифратора. Более сложные преобразования (из бинарного кода в десятичный) требуют более сложных преобразователей. 6°. Вычисление значений логических условий. Эти функции операционным элементом в виде булевой функции. ϕ l (s 1 ,s 2 ,…,s n ) s i – некоторые слова, поля слов или отдельные биты слов. Функция вычисления комбинационной схемой: С 0 Σ n CY C0 B A B 0 C n C0 CY DC Y(m:0) X(n:0) Разрядности входных и выходных слов не равны. CD X(n:0) Y(m:0) КС s 1 s 2 ………….. s n ϕ l - 23 - Наиболее распространенными схемами для вычисления логических условий являются схемы, которые вычисляют отношение 2-х слов А и В: ϕ l (А,В) 7°. Комбинированные операционные элементы. Комбинированные операционные элементы обеспечивают реализацию нескольких разнотипных МО. Комбинированные операционные элементы строятся на основе регистров, имеющих входную и выходную логику. §4 Каноническое построение операционных автоматов. Структура операционного автомата (состав и связь) зависит от алгоритмов выполнения машинных команд. Если структура уже задана, то один и тот же алгоритм может быть реализован по разному. Большинство операционных частей процессоров современных ЭВМ строится по некоторым устоявшимся схемам. Эти схемы называются каноническими. Одним из вариантов канонической схемы является универсальная каноническая структура операционного автомата с общими МО. Она достаточно эффективна с позиций технологического процесса, т.к. обладает высокой однотипностью узлов. В соответствии с канонической структурой, в которой машинная операция описывается в виде набора многодоступных функциональных преобразований данных. C = g(f(A),B)) g – оператор сдвига. f – оператор бинарной арифметико-логических операций h – оператор формирования инверсных кодов (дополнительного, обратного) A,B,C – слова внутри памяти операционного автомата процессора. Логические условия в этом операционном автомате представляются в виде булевой функции ϕ(z) от некоторых слов памяти операционного автомата. Каноническая структура напоминает структуру операционного модуля, для примера BC1, если убрать регистр Q (см. рисунок на практике). Такое каноническое построение операционного автомата заранее определяет какие МО оказываются совместимыми, т.е. структура автомата определяет состав операционной части микрокоманды. Структура определяет также последовательность выполнения МО операционной части микрокоманды. В большинстве современных процессоров в основе построения операционной части базируется на схеме с общими МО. §5 Структурное построение и функционирование микропрограммных устройств управления. Управление работой операционного автомата по микропрограмме реализуются с помощью микропрограммного устройства управления. 1. Управление по схемной (жесткой) логике (микропрограмма реализуется в виде схемы). 2. Управление по хранимой микропрограмме. Управление по схемной логике реализуется на основе принципа Фон-Неймана, на микропрограммном уровне. Микрокоманды имеют операционно-адресную структуру. ВУУ – типовой модуль микропрограммного устройства управления. Любая микропрограмма состоит из микрокоманд. Любой следующий шаг начинается после предыдущего. Управление работой обеспечивает микропрограмма УУ. Два варианта: управление по хранимой микропрограмме, управление по схемной логике (Intel). Управляющие слова имеют операционно-адресную структуру. - 24 - Адрес формируется в СФАМК, в РАМК – хранение адреса. Выбирается начальная МК, поле в регистре МК дешифруется (в ДШ МО), операционным автоматом, регистром МК – формируется адрес следующей МК. Микропрограммы УУ различаются по: 1) Типу памяти МП - ПЗУ – статическая МП - ОЗУ – динамическая МП 2) способу кодирования МО a) прямое b) косвенное 3) технической реализации – тактность использования МК Способы кодирования МО: 1) горизонтальное микропрограммирование 2) вертикальное микропрограммирование 3) смешанное микропрограммирование Y m = {y 0 ,…y m } – номер МО 1) Горизонтальное микропрограммирование. Любому сигналу ставится 1 бит в операционной части МК (для примера 1 – выполняется 0 – нет) В любой МК может выполняться любая МО Достоинства: 1) Если нужен ввод новой МК, то никаких схемотехнических изменений нет. Коды МО Код адреса МК КОп РАМК ПМК Код адреса КОпМО Операционный блок ……….. Чтение Комбинационный элемент (нет памяти). Схема формирования адреса микрокоманда. СФАМК ДШ МО Данные РгК V 1 V 2 … V m-1 V m - 25 - 2) Добавление новой МО к существенному увеличению схемы УУ не приводит 3) Нет схемы дешифрации Недостатки: 1) Сложность (длинна операционной части МК определяется количеством МО, следовательно, емкость памяти МК увеличивается) 2) Сложность доступа 3) Из операционной части полезную информацию несет 10-15% Горизонтальное микропрограммирование применяется в простых устройствах обработки с малым количеством МО. 3) Вертикальное микропрограммирование. Любой сигнал управления задается значением всего кода операционной части. Достоинства: 1) n оч = ]log 2 (M+1)[ (длина операционной части) 2) появление новых МК к принципиальным трудностям не приводит 3) емкость памяти МК достаточно небольшая. Недостатки: 1) нужна дешифрация 2) две одинаковых МО в одной МК не могут быть, следовательно, количество МК возрастает. 3) Смешанное микропрограммирование. Весь набор микроопераций разбивается на некоторое количество подмножеств, причем необязательно, чтобы подмножества были непересекающимися, тогда операционная часть МК будет состоять из нескольких подмножеств. Длина любого поля n iоч = ]log 2 (M i +1)[ Длина операционной части n оч = ∑n iоч Внутри подмножества любая МО кодируется вертикальным способом, может реализовываться способ горизонтально – вертикального программирования. Адресная часть. Так как МК хранится в памяти, то любая МК идентифицируется своим адресом в памяти. Все способы должны исключать арифметику. Используется естественная адресация. Для этого в состав УУ должен вводится счетчик адреса МК. Это эффективно работает только для линейных участков МП, но как правило сложные МП ветвящаяся, следовательно, без принудительной адресации обойтись нельзя. Варианты адресации: - адресная часть iif (условие, A0, A1) - ветвление на 2 направления Но для МП характерно, что ветвление происходит на несколько направлений, но таким способ это будет занимать длительный промежуток времени. Для МП был придуман специальный механизм множественного ветвления – формирование адресов МК. Суть данного метода (на примере): Сам адрес МК содержит 4 поля, поля C, B, A, формируются по γ,β,α. Пусть поля A – 1 бит, B – 1 бит ,C – 4 бит. условие А0 А1 Адресные поля γ β α D C 4 B 1 A 1 Адресная часть – 4 поля Закон формирования Часть адреса сегмент - 26 - Поле D можем рассматривать как начальный адрес – сегмент. Поле C – зона содержит 4 адреса. Из всего множества условий выделяется некоторое количество номеров логических условий (сигналов), которые кодируются с помощью 4 разрядов кода. X j = {x 1 ,…,x m } x 1 = x 1 x 2 x 3 x 4 x 2 = x 3 x 5 x 6 x 8 Таких условий должно быть 16. Все остальные условия – однобитовые, которые кодируются либо в поле β, либо в α. Вычисляется значение условия в γ, если 0 – поле C 0, если не 0, то в С подставляется значение логического условия (например x 3 x 5 x 6 x 8 1001) В поле B и A подставляется код условия, записанный в β. Одна МК поддерживает 64 разветвления. Сложность заключается в том, что все адреса рядом, МК не может находится там же, но время вычисления соответствует комбинационной схеме. |