Описать особенности архитектуры секционных микропроцессоров. Типы архитектур микропроцессоров

Введение

1.3 Обзор существующих типов архитектур микропроцессоров

2. Устройство управления

3. Особенности программного и микропрограммного управления

4. Режимы адресации

Заключение

Список используемой литературы


Процесс взаимодействия человека с ЭВМ насчитывает уже более 40лет. До недавнего времени в этом процессе могли участвовать только специалисты - инженеры, математики - программисты, операторы. В последние годы произошли кардинальные изменения в области вычислительной техники. Благодаря разработке и внедрению микропроцессоров в структуру ЭВМ появились малогабаритные, удобные для пользователя персональные компьютеры. Ситуация изменилась, в роли пользователя может быть не только специалист по вычислительной технике, но и любой человек, будь то школьник или домохозяйка, врач или учитель, рабочий или инженер. Часто это явление называют феноменом персонального компьютера. В настоящее время мировой парк персональных компьютеров превышает 20 млн.

Почему возник этот феномен? Ответ на этот вопрос можно найти, если четко сформулировать, что такое персональный компьютер и каковы его основные признаки. Надо правильно воспринимать само определение " персональный", оно не означает принадлежность компьютера человеку на правах личной собственности. Определение "персональный" возникло потому, что человек получил возможность общаться с ЭВМ без посредничества профессионала-программиста, самостоятельно, персонально. При этом не обязательно знать специальный язык ЭВМ. Существующие в компьютере программные средства обеспечат благоприятную " дружественную" форму диалога пользователя и ЭВМ.

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

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

1. Общая характеристика архитектуры процессора

1.1 Базовая структура микропроцессорной системы

Задача управления системой возлагается на центральный процессор (ЦП), который связан с памятью и системой ввода-вывода через каналы памяти и ввода-вывода соответственно. ЦП считывает из памяти команды, которые образуют программу и декодирует их. В соответствии с результатом декодирования команд он осуществляет выборку данных из памяти портов ввода, обрабатывает их и пересылает обратно в память или порты вывода. Существует также возможность ввода-вывода данных из памяти на внешние устройства и обратно, минуя ЦП. Этот механизм называется прямым доступом к памяти (ПДП).

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

1.2 Понятие архитектуры микропроцессора

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

Рис. 1. Архитектура типового микропроцессора.

Микропроцессор координирует работу всех устройств цифровой системы с помощью шины управления (ШУ). Помимо ШУ имеется 16-разрядная адресная шина (ША), которая служит для выбора определенной ячейки памяти, порта ввода или порта вывода. По 8-разрядной информационной шине или шине данных (ШД) осуществляется двунаправленная пересылка данных к микропроцессору и от микропроцессора. Важно отметить, что МП может посылать информацию в память микроЭВМ или к одному из портов вывода, а также получать информацию из памяти или от одного из портов ввода.

Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это программы пользователя.

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

1. Нажать клавишу с буквой "А" на клавиатуре.

2. Поместить букву "А" в память микроЭВМ.

3. Вывести букву "А" на экран дисплея.

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

На рис. 2 приведена подробная диаграмма выполнения процедуры ввода-запоминания-вывода. Обратите внимание, что команды уже загружены в первые шесть ячеек памяти. Хранимая программа содержит следующую цепочку команд:

1. Ввести данные из порта ввода 1.

2. Запомнить данные в ячейке памяти 200.

3. Переслать данные в порт вывода 10.

В данной программе всего три команды, хотя на рис. 2 может показаться, что в памяти программ записано шесть команд. Это связано с тем, что команда обычно разбивается на части. Первая часть команды 1 в приведенной выше программе - команда ввода данных. Во второй части команды 1 указывается, откуда нужно ввести данные (из порта 1). Первая часть команды, предписывающая конкретное действие, называется кодом операции (КОП), а вторая часть - операндом. Код операции и операнд размещаются в отдельных ячейках памяти программ. На рис. 2 КОП хранится в ячейке 100, а код операнда - в ячейке 101 (порт 1); последний указывает откуда нужно взять информацию.

В МП на рис. 2 выделены еще два новых блока - регистры: аккумулятор и регистр команд.


Рис. 2. Диаграмма выполнения процедуры ввода-запоминания-вывода

Рассмотрим прохождение команд и данных внутри микроЭВМ с помощью занумерованных кружков на диаграмме. Напомним, что микропроцессор - это центральный узел, управляющий перемещением всех данных и выполнением операций.

Итак, при выполнении типичной процедуры ввода-запоминания-вывода в микроЭВМ происходит следующая последовательность действий:

1. МП выдает адрес 100 на шину адреса. По шине управления поступает сигнал, устанавливающий память программ (конкретную микросхему) в режим считывания.

2. ЗУ программ пересылает первую команду ("Ввести данные") по шине данных, и МП получает это закодированное сообщение. Команда помещается в регистр команд. МП декодирует (интерпретирует) полученную команду и определяет, что для команды нужен операнд.

3. МП выдает адрес 101 на ША; ШУ используется для перевода памяти программ в режим считывания.

4. Из памяти программ на ШД пересылается операнд "Из порта 1". Этот операнд находится в программной памяти в ячейке 101. Код операнда (содержащий адрес порта 1) передается по ШД к МП и направляется в регистр команд. МП теперь декодирует полную команду ("Ввести данные из порта 1").

5. МП, используя ША и ШУ, связывающие его с устройством ввода, открывает порт 1. Цифровой код буквы "А" передается в аккумулятор внутри МП и запоминается.Важно отметить, что при обработке каждой программной команды МП действует согласно микропроцедуре выборки-декодирования-исполнения.

6. МП обращается к ячейке 102 по ША. ШУ используется для перевода памяти программ в режим считывания.

7. Код команды "Запомнить данные" подается на ШД и пересылается в МП, где помещается в регистр команд.

8. МП дешифрирует эту команду и определяет, что для нее нужен операнд. МП обращается к ячейке памяти 103 и приводит в активное состояние вход считывания микросхем памяти программ.

9. Из памяти программ на ШД пересылается код сообщения "В ячейке памяти 200". МП воспринимает этот операнд и помещает его в регистр команд. Полная команда "Запомнить данные в ячейке памяти 200" выбрана из памяти программ и декодирована.

10. Теперь начинается процесс выполнения команды. МП пересылает адрес 200 на ША и активизирует вход записи, относящийся к памяти данных.

11. МП направляет хранящуюся в аккумуляторе информацию в память данных. Код буквы "А" передается по ШД и записывается в ячейку 200 этой памяти. Выполнена вторая команда. Процесс запоминания не разрушает содержимого аккумулятора. В нем по-прежнему находится код буквы "А".

12. МП обращается к ячейке памяти 104 для выбора очередной команды и переводит память программ в режим считывания.

13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен операнд.

14. МП выдает адрес 105 на ША и устанавливает память программ в режим считывания.

15. Из памяти программ по ШД к МП поступает код операнда "В порт 10", который далее помещается в регистр команд.

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

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

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

Рис.14 Типовая структурная схема МП

Каждый микропроцессор имеет свой внутренний язык, называемый множеством микрокоманд или составом команд – это набор команд, которые понимает и может выполнять данный микропроцессор.

В течение каждого цикла команды ЦП выполняет много управляющих функций:

1) помещает адрес команды в адресную шину памяти;

2) получает команду из шины ввода данных и дешифрирует ее;

3) выбирает адреса и данные, содержащиеся в команде; адреса и данные могут находиться в памяти или в регистрах;

4) выполняет операцию, определенную в коде команды. Операцией может быть арифметическая или логическая функция, передача данных или функция управления;

5) следит за управляющими сигналами, такими как прерывание, и реагирует соответствующим образом;

6) генерирует сигналы состояния, управления и времени, которые необходимы для нормальной работы УВВ и памяти.

Таким образом, ЦП является «мозгом», определяющим действия ЭВМ.

Рис.15 Цикл команды процессора

По характеру исполняемого кода и организации устройства управления выделяется несколько типов архитектур:

- Процессор со сложным набором инструкций , англ. CISC - Complex Instruction Set Computer . Эту архитектуру характеризует большое количество сложных инструкций, и как следствие сложное устройство управления. В ранних вариантах CISC-процессоров и процессоров для встроенных приложений характерны большие времена исполнения инструкций (от нескольких тактов до сотни), определяемые микрокодом устройства управления. Для высокопроизводительных суперскалярных процессоров свойственны глубокий анализ программы, внеочередное исполнение операций.


- Процессор с упрощённым набором инструкций , англ. RISC - Reduced Instruction Set Computer . В этой архитектуре значительно более простое устройство управления. Большинство инструкций RISC-процессора содержат одинаковое малое число операций (1, иногда 2-3), а сами командные слова в подавляющем числе случаев имеют одинаковую ширину (PowerPC, ARM), хотя бывают исключения (Coldfire). У суперскалярных процессоров - простейшая группировка инструкций без изменения порядка исполнения.

- Процессор с явным параллелизмом , англ. EPIC - Explicitly Parallel Instruction Computer (-ing , термин ® Intel, HP). Отличается от прочих прежде всего тем, что последовательность и параллельность исполнения операций и их распределение по функциональным устройствам явно определены программой. Такие процессоры могут обладать большим количеством функциональных устройств без особого усложнения устройства управления и потерь эффективности. Обычно такие процессоры используют широкое командное слово, состоящее из нескольких слогов, определяющих поведение каждого функционального устройства в течение такта.

- Процессор с минимальным набором инструкций , англ. MISC - Minimal Instruction Set Computer . Эта архитектура определяется прежде всего сверхмалым количеством инструкций (несколько десятков), и почти все они нуль-операндные. Такой подход даёт возможность очень плотно упаковать код, выделив под одну инструкцию от 5 до 8 бит. Промежуточные данные в таком процессоре обычно хранятся на внутреннем стеке, и операции производятся над значениям на вершине стека. Эта архитектура тесно связана с идеологией программирования на языке Forth и обычно используется для исполнения программ, написанных на этом языке.

- Процессор с изменяемым набором инструкций , англ. WISC - Writable Instruction Set Computer . Архитектура, позволяющая перепрограммировать себя, изменяя набор инструкций, подстраивая его под решаемую задачу.

- Транспорт-управляемый процессор , англ. TTA - Transort Triggered Architecture . Архитектура изначально ответвилась от EPIC, но принципиально отличающаяся от остальных тем, что инструкции такого процессора кодируют функциональные операции, а так называемые транспорты - пересылки данных между функциональными устройствами и памятью в произвольном порядке.

По способу хранения программ выделяется две архитектуры:

- Архитектура фон Неймана . В процессорах этой архитектуры используется одна шина и одно устройство ввода-вывода для обращения к программе и данным.

- Гарвардская архитектура . В процессорах этой архитектуры для выборки программ и обмена данным существуют отдельные шины и устройства ввода-вывода. Во встроенных микропроцессорах, микроконтроллерах и ПЦОС это также определяет существование двух независимых запоминающих устройств для хранения программ и данных. В центральных процессорах это определяет существование отдельного кэша инструкций и данных. За кэшем шины могут быть объединены в одну посредством мультиплексирования.

По организации регистрового файла ФУ можно выделить следующие типы процессоров.

- Регистровая архитектура - характеризуется свободным доступом к регистрам для выборки всех аргументов и записи результата. Элементарны арифметико-логические операции в таких процессорах кодируются в двух-, или трёхоперандные инструкции (регистр+регистр→регистр, иногда регистр результата совпадает с источником одного из агрументов).

- Аккумуляторная архитектура - из регистров выделяется один из несколько регистров-аккумуляторов. Регистр-аккумулятор является источником одного из аргументов и приёмником результата вычислений. Операции кодируются как правило в однооперандные инструкции (аккумулятор+операнд→аккумулятор). Такая архитектура характерная для многих CISC-процессоров (напр. Z80).

- Стековая архитектура - определяется организацией регистрового файла в виде стека, и косвенной адресацией регистров через указатель стека, который определяет положение вершины стека, операции производятся над значениями на вершине стека и результат кладётся также на вершину. Арифметические операции кодируются в нуль-операндные инструкции. Стековая архитектура является неотъемлемой частью MISC-процессоров.

Микропроцессор характеризуется: 1) тактовой частотой, определяющей максимальное время выполнения переключения элементов в ЭВМ; 2) разрядностью, т.е. максимальным числом одновременно обрабатываемых двоичных разрядов.

Разрядностть МП обозначается m/n/k/ и включает: m - разрядность внутренних регистров, определяет принадлежность к тому или иному классу процессоров; n - разрядность шины данных, определяет скорость передачи информации; k - разрядность шины адреса, определяет размер адресного пространства. Например, МП i8088 характеризуется значениями m/n/k=16/8/20; 3) архитектурой. Понятие архитектуры микропроцессора включает в себя систему команд и способы адресации, возможность совмещения выполнения команд во времени, наличие дополнительных устройств в составе микропроцессора, принципы и режимы его работы. Выделяют понятия микроархитектуры и макроархитектуры.

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

Макроархитектура - это система команд, типы обрабатываемых данных, режимы адресации и принципы работы микропроцессора.

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

Структура типового микропроцессора

Архитектура типичной небольшой вычислительной системы на основе микроЭВМ показана на рис. 2.1 Такая микроЭВМ содержит все 5 основных блоков цифровой машины: устройство ввода информации, управляющее устройство (УУ), арифметико-логическое устройство (АЛУ) (входящие в состав Микропроцессор координирует работу всех устройств цифровой системы с помощью шины управления (ШУ). Помимо ШУ имеется 16-разрядная адресная шина (ША), которая служит для выбора определенной ячейки памяти, порта ввода или порта вывода. По 8-разрядной информационной шине или шине данных (ШД) осуществляется двунаправленная пересылка данных к микропроцессору и от микропроцессора. Важно отметить, что МП может посылать информацию в память микроЭВМ или к одному из портов вывода, а также получать информацию из памяти или от одного из портов ввода.

микропроцессора), запоминающие устройства (ЗУ) и устройство вывода информации.

Рис. 2.1. Архитектура типового микропроцессора.

Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это программы пользователя.

В качестве примера, иллюстрирующего работу микроЭВМ, рассмотрим процедуру, для реализации которой нужно выполнить следующую последовательность элементарных операций: 1. Нажать клавишу с буквой "А" на клавиатуре. 2. Поместить букву "А" в память микроЭВМ. 3. Вывести букву "А" на экран дисплея.

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

На рис. 2.2 приведена подробная диаграмма выполнения процедуры ввода-запоминания-вывода. Обратите внимание, что команды уже загружены в первые шесть ячеек памяти. Хранимая программа содержит следующую цепочку команд: 1. Ввести данные из порта ввода 1. 2. Запомнить данные в ячейке памяти 200. 3. Переслать данные в порт вывода 10.

Рис. 2.2. Диаграмма выполнения процедуры ввода-запоминания-вывода.

В данной программе всего три команды, хотя на рис. 2.2 может показаться, что в памяти программ записано шесть команд. Это связано с тем, что команда обычно разбивается на части. Первая часть команды 1 в приведенной выше программе - команда ввода данных. Во второй части команды 1 указывается, откуда нужно ввести данные (из порта 1). Первая часть команды, предписывающая конкретное действие, называется кодом операции (КОП), а вторая часть - операндом. Код операции и операнд размещаются в отдельных ячейках памяти программ. На рис. 2.2 КОП хранится в ячейке 100, а код операнда - в ячейке 101 (порт 1); последний указывает откуда нужно взять информацию.

В МП на рис. 2.2 выделены еще два новых блока - регистры: аккумулятор и регистр команд.

Рассмотрим прохождение команд и данных внутри микроЭВМ с помощью занумерованных кружков на диаграмме. Напомним, что микропроцессор - это центральный узел, управляющий перемещением всех данных и выполнением операций.

Итак, при выполнении типичной процедуры ввода-запоминания-вывода в микроЭВМ происходит следующая последовательность действий: 1. МП выдает адрес 100 на шину адреса. По шине управления поступает сигнал, устанавливающий память программ (конкретную микросхему) в режим считывания. 2. ЗУ программ пересылает первую команду ("Ввести данные") по шине данных, и МП получает это закодированное сообщение. Команда помещается в регистр команд. МП декодирует (интерпретирует) полученную команду и определяет, что для команды нужен операнд. 3. МП выдает адрес 101 на ША; ШУ используется для перевода памяти программ в режим считывания. 4. Из памяти программ на ШД пересылается операнд "Из порта 1". Этот операнд находится в программной памяти в ячейке 101. Код операнда (содержащий адрес порта 1) передается по ШД к МП и направляется в регистр команд. МП теперь декодирует полную команду ("Ввести данные из порта 1"). 5. МП, используя ША и ШУ, связывающие его с устройством ввода, открывает порт 1. Цифровой код буквы "А" передается в аккумулятор внутри МП и запоминается.Важно отметить, что при обработке каждой программной команды МП действует согласно микропроцедуре выборки-декодирования-исполнения. 6. МП обращается к ячейке 102 по ША. ШУ используется для перевода памяти программ в режим считывания. 7. Код команды "Запомнить данные" подается на ШД и пересылается в МП, где помещается в регистр команд. 8. МП дешифрирует эту команду и определяет, что для нее нужен операнд. МП обращается к ячейке памяти 103 и приводит в активное состояние вход считывания микросхем памяти программ. 9. Из памяти программ на ШД пересылается код сообщения "В ячейке памяти 200". МП воспринимает этот операнд и помещает его в регистр команд. Полная команда "Запомнить данные в ячейке памяти 200" выбрана из памяти программ и декодирована. 10. Теперь начинается процесс выполнения команды. МП пересылает адрес 200 на ША и активизирует вход записи, относящийся к памяти данных. 11. МП направляет хранящуюся в аккумуляторе информацию в память данных. Код буквы "А" передается по ШД и записывается в ячейку 200 этой памяти. Выполнена вторая команда. Процесс запоминания не разрушает содержимого аккумулятора. В нем по-прежнему находится код буквы "А". 12. МП обращается к ячейке памяти 104 для выбора очередной команды и переводит память программ в режим считывания. 13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен операнд. 14. МП выдает адрес 105 на ША и устанавливает память программ в режим считывания. 15. Из памяти программ по ШД к МП поступает код операнда "В порт 10", который далее помещается в регистр команд. 16. МП дешифрирует полную команду "Вывести данные в порт 10". С помощью ША и ШУ, связывающих его с устройством вывода, МП открывает порт 10, пересылает код буквы "А" (все еще находящийся в аккумуляторе) по ШД. Буква "А" выводится через порт 10 на экран дисплея.

В большинстве микропроцессорных систем (МПС) передача информации осуществляется способом, аналогичным рассмотренному выше. Наиболее существенные различия возможны в блоках ввода и вывода информации.

Подчеркнем еще раз, что именно микропроцессор является ядром системы и осуществляет управление всеми операциями. Его работа представляет последовательную реализацию микропроцедур выборки-дешифрации-исполнения. Однако фактическая последовательность операций в МПС определяется командами, записанными в памяти программ.

Таким образом, в МПС микропроцессор выполняет следующие функции: - выборку команд программы из основной памяти; - дешифрацию команд; - выполнение арифметических, логических и других операций, закодированных в командах; - управление пересылкой информации между регистрами и основной памятью, между устройствами ввода/вывода; - отработку сигналов от устройств ввода/вывода, в том числе реализацию прерываний с этих устройств; - управление и координацию работы основных узлов МП.

Принципы микропрограммного управления

В условиях, когда микропрограммирование не используется, выполнение команды обеспечивается электрической схемой. Но в большинстве современных вычислительных машин непосредственная связь между аппаратурой и программными средствами осуществляется через микропрограммный уровень. Любая машинная команда исполняется аппаратурой не непосредственно, а путем ее интерпретации в соответственную последовательность более простых действий. А значит, всегда существует задача программирования машинных команд из более простых действий - микропрограммирование. Впервые этот термин был введен в 1953 г. специалистом по ВТ Уилксом. Но это было применимо только к аппаратным средствам. Примерно в середине 1960-х гг. усилиями разработчиков «1ВМ» идеи Уилкса превратились в принцип организации вычислительных машин.

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

Рис. 4.1.

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

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

На рис. 4.2 приведена обобщенная структура устройства управления (УУ).

Рис. 4.2.

ЦУУ - центральное УУ, которое выполняет основные функции по реализации программы.

МУУ - местное УУ (находится при каждом из устройств, входящих в состав ЭВМ). Оно реализует специфические алгоритмы, соответствующие принципам действия различных внешних устройств.

ВЗУ - внешнее запоминающее устройство.

Иерархическая структура понятий при постановке задач на ЭВМ представлена на рис. 4.3.

Алгоритм - это система последовательных операций (в соответствии с определенными правилами) для решения поставленной задачи.

Программа - кодированная запись алгоритма.

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

Рис. 4.3.

Микрооперация - некоторое простейшее преобразование данных, например прием байта данных в регистр, инверсия переменной и т.д.

Порядок функционирования устройства базируется на следующих положениях.

  • 1. Любая машинная команда рассматривается как некоторое сложное действие, которое состоит из последовательности элементарных действий над словами информации - микроопераций.
  • 2. Порядок следования микроопераций зависит не только от значений преобразуемых слов, но также от их информационных сигналов, вырабатываемых операционным автоматом. Примерами таких сигналов могут быть признаки результата операции, значения отдельных битов данных и т.п.
  • 3. Процесс выполнения машиной команды описывается в виде некоторого алгоритма в терминах микроопераций и логических условий. Описание информационных сигналов - микропрограмма.
  • 4. Микропрограмма служит не только для обработки данных, но и обеспечивает управление работой всего устройства в целом - принцип микропрограммного управления.

Таким образом, основная задача уровня микроархитектуры - интерпретация команд второго уровня архитектуры команд (см. рис. 1.2). На этом уровне регистры вместе с АЛУ формируют тракт данных , по которому поступают данные. На некоторых машинах работа тракта данных контролируется особой программой, которая называется микропрограммой. На других машинах тракт данных контролируется аппаратными средствами. Строение уровня микроархитектуры зависит от уровня архитектуры команд, а также от стоимости и назначения компьютера.

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

Чтобы освободить программиста от необходимости детально изучать устройство машины, необходимо использовать методы автоматического программирования и в максимальной степени приблизить язык программирования к языку человека. И уже с 1970 г., когда микропрограммирование стало обычным, у производителей появилась возможность вводить новые машинные команды путем расширения микропрограммы, т.е. с помощью программирования. Это открытие привело к виртуальному взрыву в производстве программ машинных команд, поскольку производители начали конкурировать друг с другом, стараясь выпустить лучшие программы. Эти команды не представляли особой ценности, поскольку те же задачи можно было легко решить, используя уже существующие программы, но обычно они работали немного быстрее.

Связь с микрокодом и архитектурой

набора команд

Как было сказано выше (см. п. 1.2), в компьютерной инженерии микроархитектура, также называемая организацией компьютера, - это способ, которым данная архитектура набора команд (АНК) реализована в процессоре. Каждая АН К может быть реализована с помощью различных микроархитектур. Реализация может варьироваться в зависимости от целей конкретной разработки или в результате технологических сдвигов. Архитектура компьютера является комбинацией микроархитектуры, микрокода и архитектуры набора команд.

Архитектура набора команд (англ, instruction set architecture, ISA) определяет программируемую часть ядра микропроцессора.

Микроархитектура описывает модель, топологию и реализацию архитектуры набора команд на микросхеме микропроцессора. На этом уровне определяется:

  • конструкция и взаимосвязь основных блоков центрального процессора;
  • структура ядер, исполнительных устройств, АЛУ, а также их взаимодействия;
  • блоки предсказания переходов;
  • организация конвейеров;
  • организация кэш-памяти;
  • взаимодействие с внешними устройствами.

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

Микроархитектура машины обычно представляется в виде диаграмм определенной степени детализации, описывающих взаимосвязи различных микроархитектурных элементов, которые могут быть чем угодно: от отдельных вентилей и регистров до целых арифметико-логических устройств и даже более крупных элементов. На этих диаграммах обычно выделяют тракт данных (где размещены данные) и тракт управления (который управляет движением данных).

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

В настоящее время на уровне микроархитектуры команд обычно находятся простые команды, которые выполняются за один цикл (таковы, в частности, Я^С-машины). В других системах (например, в Репйит 4) на этом уровне имеются более сложные команды; выполнение одной такой команды занимает несколько циклов. Чтобы выполнить команду, нужно найти операнды в памяти, считать их и записать полученные результаты обратно в память. Управление уровнем команд со сложными командами отличается от управления уровнем команд с простыми командами, так как в первом случае выполнение одной команды требует определенной последовательности операций.

Команды микропроцессора, в отличие от микрокоманд, разрабатываются независимо от аппаратуры микросхемы, поэтому их разрядность обычно совпадает с разрядностью микропроцессора. Команда микропроцессора состоит из инструкции и обозначается - код операции, КОП (или INS в англоязычной литературе). Команда микропроцессора может состоять только из кода операции, когда не требуется указывать адрес операнда (операнды - это данные, над которыми команда производит какое-либо действие), или может состоять из кода операции и адресов операндов или данных. Форматы команд очень сильно зависит от структуры процессора.

Рассмотрим построение команд для восьмиразрядного процессора, построенного по структуре фон-Неймана. Примеры построения команд для такого процессора приведены на рис. 4.4.

Однобайтовая команда Двухбайтовая команда

Трехбайтовая команда

Четырехбайтовая команда

Рис. 4.4. Форматы различных команд микропроцессора

Если для кода операции используется восьмибитное слово (байт), то при помощи этого слова можно закодировать 256 операций. В процессе разработки системы команд для операции может быть назначен любой код. Именно системой команд и определяется конкретное семейство процессоров. Однобайтовые команды позволяют работать с внутренними программно-доступными регистрами процессора.

Для выполнения одной и той же операции над разными регистрами процессора назначаются разные коды. Запоминать эти коды очень утомительно для человека. При программировании в машинных кодах легко совершить ошибку и очень трудно найти ее, особенно если коды различаются только на один бит. Для сокращения объема записи вместо двоичного можно воспользоваться шестнадцатеричным кодом, однако это не увеличивает наглядности программы. Фрагмент исполняемого кода микропроцессора приведен в листинге 4.1.

Листинг 4.1

Фрагмент исполняемого кода микропроцессора

7 5CBFF75CAFB75CDFF75CCFB75985275 С 8 3 4D2 8875D2 4А7 5 D3 2075D50175330E 75345975A60175A11375D13230DFFD20 892 9E5DB9 533C2D712 О 0F8E5DA9 534С2 D712 О 0F8E5DD12 О 0F8E5DC12 00F89001 181200D8B2B41200CF80CEC289E5DB94

Чтобы уменьшить объем запоминаемой информации и увеличить наглядность исходного текста программы, каждой операции процессора придумывают мнемоническое обозначение. В качестве мнемонического обозначения операции обычно используют сокращения английских слов, обозначающих эту операцию. Например, для операции копирования используется мнемоническое обозначение MOV ; для операции суммирования используется мнемоническое обозначение ADD ; для операции вычитания используется мнемоническое обозначение SUB для операции умножения используется мнемоническое обозначение MUL и т.д.

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

  • MOV R0, А Скопировать содержимое регистра А в регистр R0;
  • ADDA , R5 Просуммировать содержимое регистров R5 и А, результат поместить в регистр А.

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

  • MOV А, 1025; Скопировать содержимое 1025 ячейки памяти в регистр Л;
  • ADD А, #110; Просуммировать содержимое регистра А с числом ПО.

Несмотря на то что общий объем исходного текста программы увеличивается, скорость написания и, особенно, отладки программ в таком виде возрастает. Теперь вместо одного текста программы в памяти компьютера или на бумаге придется хранить два текста: один для человека, который в дальнейшем будем называть исходным текстом программы; другой для микропроцессора, который в дальнейшем будем называть загрузочным модулем.

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

Основные направления развития микропроцессоров

В общем случае все центральные процессоры, одночиповые микропроцессоры и многочиповые реализации выполняют программы, производя следующие шаги:

  • 1) чтение инструкции и ее декодирование;
  • 2) поиск всех связанных данных, необходимых для обработки инструкции;
  • 3) обработка инструкции;
  • 4) запись результатов.

Эта последовательность выглядит просто, но осложняется тем фактом, что иерархия памяти (где располагаются инструкции и данные), которая включает в себя кэш, основную память и энергонезависимые устройства хранения, такие как жесткие диски, всегда была медленнее самого процессора. Шаг 2 часто привносит длительные (по меркам центрального процессора) задержки, пока данные поступают по компьютерной шине.

В настоящее время существуют два направления развития микропроцессоров:

  • RISC -процессоры (процессоры с сокращенным набором команд);
  • С/5С-процессоры (процессоры с полным набором команд).

RISC (Reduced Instruction Set

Computers) используют сравнительно небольшой (сокращенный) набор наиболее употребляемых команд, определенный в результате статистического анализа большого числа программ для основных областей применения С/5С-процессоров исходной архитектуры. Все команды работают с операндами и имеют одинаковый формат. Обращение к памяти выполняется с помощью специальных команд загрузки регистра и записи. Простота структуры и небольшой набор команд позволяют реализовать полностью их аппаратное выполнение и эффективный конвейер при небольшом объеме оборудования. Арифметику /?/5С-процессоров отличает высокая степень дробления конвейера. Этот прием позволяет увеличить тактовую частоту (а значит, и производительность) компьютера. Чем более элементарные действия выполняются в каждой фазе работы конвейера, тем выше частота его работы. /?/5С-процессоры с самого начала ориентированы на реализацию всех возможностей ускорения арифметических операций, поэтому их конвейеры обладают значительно более высоким быстродействием, чем в С/5С-процессорах. Поэтому RISC- процессоры в 2-4 раза быстрее имеющих ту же тактовую частоту С/АС-процессоров с обычной системой команд и более высокопроизводительны, несмотря на больший размер программ. RISC- архитектура построена на четырех основных принципах.

  • 1. Любая операция должна выполняться за один такт вне зависимости от ее типа.
  • 2. Система команд должна содержать минимальное количество наиболее часто используемых простейших инструкций одинаковой длины.
  • 3. Операции обработки данных реализуются только в формате «регистр-регистр» (операнды выбираются из оперативных регистров процессора, и результат операции записывается также в регистр, а обмен между оперативными регистрами и памятью выполняется только с помощью команд загрузки/записи).
  • 4. Состав системы команд должен быть удобен для компиляции операторов языков высокого уровня.

Усложнение /?/5С-процессоров фактически приближает их архитектуру к С/АС-архитектуре.

В настоящее время число процессоров с /?/5С-архитектурой существенно возросло и все ведущие фирмы США их производят, в том числе фирмы «Intel», «Motorola» - производители основных семейств процессоров с С/5С-архитектурой.

Микропроцессоры с архитектурой CISC (Complex Instruction Set Computers - архитектура вычислений с полной системой команд) реализуют на уровне машинного языка комплексные наборы команд различной сложности - от простых, характерных для микропроцес-

сора первого поколения, до очень сложных. Большинство современных процессоров для персональных компьютеров построено по архитектуре С/5С.

В последнее время появились гибридные процессоры, которые имеют систему команд С/5С, однако внутри преобразовывают их в цепочки Л/^С-команд, которые и исполняются ядром процессора.

Постепенное усложнение С/ЗС-процессоров происходит в направлении более совершенного управления машинными ресурсами, а также в направлении сближения машинных языков с языками высокого уровня.

В то же время сложная система команд и переменный формат команды процессоров с С/^С-архитектурой привели к быстрому росту сложности схем. Для того чтобы такие процессоры вообще могли работать с приемлемым энергопотреблением и размещаться на ограниченной площади, производители работают над миниатюризацией транзисторов.

В качестве примера внутреннего устройства микропроцессора рассмотрим устройство процессора с полным набором команд. Здесь будет рассматриваться упрощенная модель процессора для облегчения понимания работы. СУ^С-микропроцессор состоит из двух частей:

  • обрабатывающего блока;
  • блока микропрограммного управления.

Блок обработки микропроцессора (операционный блок)

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

В этой схеме явно просматривается, что отдельные биты микрокоманды (показанной внизу схемы) управляют различными блоками обработки сигналов (БОС), поэтому их можно рассматривать независимо друг от друга. Такие группы бит называются полями микрокоманды и составляют формат этой микрокоманды. Кроме бит, управляющих блоком обработки сигналов, есть биты, управляющие блоком микропрограммного управления. Формат микрокоманды рассматриваемого процессора приведен на рис. 4.6. Результат выполнения микрокоманды записывается по сигналу общей синхронизации сб к.


CONST AS BS K,PI,M RS Z,C,OV,N

Рис. 4.5. Операционный блок микропроцессора

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

Для хранения и декодирования выполняемой команды выделим 8-разрядный регистр, который назовем RI.

Для реализации более простой системы команд выберем аккумуляторный процессор. Соответственно необходимо один из регистров выделить в качестве аккумулятора ЛСС.

Так как мы выбрали для примера 8-разрядный микропроцессор, то и все регистры в этом процессоре 8-разрядные. Максимальное число, которое можно записать в такой регистр, - 255, но для большинства программ такого объема памяти недостаточно. В приведенной на рис. 4.5 схеме, для того чтобы получить 16-разрядный адрес, используется два 8-разрядных регистра адреса. Теперь максимальное число, которое можно записать в этих двух регистрах, будет 65535, что вполне достаточно для записи программ и обрабатываемых ими данных. Для того чтобы различать регистр старшего и младшего байта адреса, обозначим их как РСН - старший байт и PCL - младший байт. Это позволяет при помощи 8-разрядного АЛУ формировать 16-разрядный адрес.

Программный счетчик хранит текущее значение ячейки памяти, из которой считывается команда, но процессор может обращаться и к данным, поэтому для формирования адреса выделим еще пару регистров: RAH - старший байт и RAL - младший байт. Выходы этих регистров выведем за пределы микросхемы и будем использовать в качестве 16-разрядной шины адреса.

Еще один регистр используется для формирования сигналов управления системной шины микропроцессора. В простейшем случае это сигналы записи (WR) и чтения (RD ). Для формирования необходимых сигналов достаточно записывать в определенный бит регистра логический ноль или единицу. Определим формат регистра управления. Пусть нулевой бит этого регистра будет сигналом записи, а первый бит этого регистра будет сигналом чтения. Остальные биты этого регистра пока не важны. Полученный формат приведен на рис. 4.6.

Рис. 4.6. Формат регистра управления (СЯ )

Блок микропрограммного управления предназначен для формирования последовательности микрокоманд блока обработки сигналов. В простейшем случае его можно построить на счетчике с возможностью предзаписи и ПЗУ. Схема такого блока приведена на рис. 4.7.


Рис. 4.7.

В этой схеме адрес очередной микрокоманды формирует двоичный счетчик. Если требуется осуществить безусловный или условный переход, то новый адрес записывается из ПЗУ в этот счетчик, как в обычный параллельный регистр по сигналу параллельной записи VI. Переход к следующему адресу микрокоманды производится по сигналу общей синхронизации СЬК (рис. 4.8).

Управление БОС (26 бит)

Управление БМУ

Рис. 4.8. Формат микрокоманды процессора

Микропрограммирование процессора

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

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


Рис. 4.9.

Любую временную диаграмму формирует микропроцессор. Устройство микросхемы, на примере которой мы будем формировать

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

Работа любого цифрового устройства начинается с заранее заданных начальных условий. Эти начальные условия формируются специальным сигналом RESET (сброс), который формируется после подачи питания на схему. Договоримся, что сигнал сброса микропроцессора будет записывать в регистр программного счетчика PC нулевое значение. (Это условие справедливо не для всех процессоров. Например, IBM-совместимые процессоры при сбросе микросхемы записывают в программный счетчик значение Я)000 /г)

Выполнение любой команды начинается с ее считывания из системной памяти (ОЗУ или ПЗУ). Необходимые для этого микрокоманды подаются на входы управления БОС из блока микропрограммного управления (БМУ), как только снимается сигнал сброса со счетчика микрокоманд БМУ. При считывании однобайтной команды достаточно считать из системной памяти только код операции и выполнить эту операцию. Временная диаграмма этого процесса приведена на рис. 4.10. Последовательность операций, которые необходимо выполнить микропрограмме, показана стрелочками. Для считывания следующей команды микропрограмма запускается заново.


Рис. 4.10.

Для того чтобы считать код операции из системной памяти, необходимо выставить на шине адреса адрес этой команды. Этот адрес хранится в счетчике команд РС. Скопируем его в регистр адреса ЯЛ, выходы которого подключены к шине адреса.

Затем сформируем сигнал считывания. Для этого в регистр управления запишем константу 1111 1101.

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

Прежде чем перейти к дальнейшему выполнению микропрограммы, увеличим содержимое счетчика команд на единицу.

После считывания команды ее необходимо декодировать. Это можно выполнить микропрограммным способом, проверяя каждый бит регистра команд и осуществляя ветвление по результату проверки, или включить в состав блока микропрограммного управления аппаратный дешифратор команд, который сможет осуществить ветвление микропрограммы на 256 ветвей за один такт синхронизации микропроцессора. Выберем именно этот путь. Восьмым тактом микропрограмма направляется на одну из 256 ветвей, отвечающую за выполнение считанной инструкции. Например, если была считана команда МОУА, /?0, то следующая микрокоманда будет выглядеть следующим образом.

И так как в этом случае команда полностью выполнена, то счетчик микрокоманд сбрасывается для выполнения следующей команды.

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

Описание

Поля микрокоманды БОС

Источник

Источник

РСН -»RAH

PCL RAL

const -> CR

data -> R1

const -> CR

PCL + 1 -> PCL

PCH + C^ PCH

Теперь считаем второй байт адреса перехода.

В результате выполнения этой микропрограммы в программный счетчик будет загружен адрес, записанный во втором и третьем байтах команды безусловного перехода ЛМР 1234. Временная диаграмма, формируемая рассмотренной микропрограммой, приведена на рис. 4.11.


Микропроцессоры

Введение

ЭВМ получили широкое распространение, начиная с 50-х годов. Прежде это были очень большие и дорогие устройства, используемые лишь в государственных учреждениях и крупных фирмах. Размеры и форма цифровых ЭВМ неузнаваемо изменились в результате разработки новых устройств, называемых микропроцессорами.

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

В 1970 году Маршиан Эдвард Хофф из фирмы Intel сконструировал интегральную схему, аналогичную по своим функциям центральному процессору большой ЭВМ - первый микропроцессор Intel-4004, который уже в 1971 году был выпущен в продажу.

Это был настоящий прорыв, ибо МП Intel-4004 размером менее 3 см был производительнее гигантской машины ENIAC. Правда работал он гораздо медленнее и мог обрабатывать одновременно только 4 бита информации (процессоры больших ЭВМ обрабатывали 16 или 32 бита одновременно), но и стоил первый МП в десятки тысяч раз дешевле.

Кристалл представлял собой 4-разрядный процессор с классической архитектурой ЭВМ гарвардского типа и изготавливался по передовой p-канальной МОП технологии с проектными нормами 10 мкм. Электрическая схема прибора насчитывала 2300 транзисторов. МП работал на тактовой частоте 750 кГц при длительности цикла команд 10,8 мкс. Чип i4004 имел адресный стек (счетчик команд и три регистра стека типа LIFO), блок РОНов (регистры сверхоперативной памяти или регистровый файл - РФ), 4-разрядное параллельное АЛУ, аккумулятор, регистр команд с дешифратором команд и схемой управления, а также схему связи с внешними устройствами. Все эти функциональные узлы объединялись между собой 4-разрядной ШД. Память команд достигала 4 Кбайт (для сравнения: объем ЗУ миниЭВМ в начале 70-х годов редко превышал 16 Кбайт), а РФ ЦП насчитывал 16 4-разрядных регистров, которые можно было использовать и как 8 8-разрядных. Такая организация РОНов сохранена и в последующих МП фирмы Intel . Три регистра стека обеспечивали три уровня вложения подпрограмм. МП i4004 монтировался в пластмассовый или металлокерамический корпус типа DIP (Dual In-line Package ) всего с 16 выводами.

В систему его команд входило всего 46 инструкций.

Вместе с тем кристалл располагал весьма ограниченными средствами ввода/вывода, а в системе команд отсутствовали операции логической обработки данных (И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ), в связи с чем их приходилось реализовывать с помощью специальных подпрограмм. Модуль i4004 не имел возможности останова (команды HALT) и обработки прерываний.

Цикл команды процессора состоял из 8 тактов задающего генератора. Была мультиплексированная ША (шина адреса)/ШД (шина данных), адрес 12-разрядный передавался по 4-разряда.

1 апреля 1972 г. фирма Intel начала поставки первого в отрасли 8-разрядного прибора i8008. Кристалл изготавливался по р-канальной МОП-технологии с проектными нормами 10 мкм и содержал 3500 транзисторов. Процессор работал на частоте 500 кГц при длительности машинного цикла 20 мкс (10 периодов задающего генератора).

В отличие от своих предшественников МП имел архитектуру ЭВМ принстонского типа, а в качестве памяти допускал применение комбинации ПЗУ и ОЗУ.

По сравнению с i4004 число РОН уменьшилось с 16 до 8, причем два регистра использовались для хранения адреса при косвенной адресации памяти (ограничение технологии - блок РОН аналогично кристаллам 4004 и 4040 в МП 8008 был реализован в виде динамической памяти). Почти вдвое сократилась длительность машинного цикла (с 8 до 5 состояний). Для синхронизации работы с медленными устройствами был введен сигнал готовности READY.

Система команд насчитывала 65 инструкций. МП мог адресовать память объемом 16 Кбайт. Его производительность по сравнению с четырехразрядными МП возрасла в 2,3 раза. В среднем для сопряжения процессора с памятью и устройствами ввода/вывода требовалось около 20 схем средней степени интеграции.

Возможности р-канальной технологии для создания сложных высокопроизводительных МП были почти исчерпаны, поэтому "направление главного удара" перенесли на n-канальную МОП технологию.

1 апреля 1974 МП Intel 8080 был представлен вниманию всех заинтересованных лиц. Благодаря использованию технологии п-МОП с проектными нормами 6 мкм, на кристалле удалось разместить 6 тыс. транзисторов. Тактовая частота процессора была доведена до 2 Мгц , а длительность цикла команд составила уже 2 мкс. Объем памяти, адресуемой процессором, был увеличен до 64 Кбайт. За счет использования 40-выводного корпуса удалось разделить ША и ШД, общее число микросхем, требовавшихся для построения системы в минимальной конфигурации сократилось до 6 (рис. 1).

Рис. 1. Микропроцессор Intel 8080.

В РФ были введены указатель стека, активно используемый при обработке прерываний, а также два программнонедоступных регистра для внутренних пересылок. Блок РОНов был реализован на микросхемах статической памяти. Исключение аккумулятора из РФ и введение его в состав АЛУ упростило схему управления внутренней шиной.

Новое в архитектуре МП - использование многоуровневой системы прерываний по вектору. Такое техническое решение позволило довести общее число источников прерываний до 256 (до появления БИС контроллеров прерываний схема формирования векторов прерываний требовала применения до 10 дополнительных чипов средней интеграции). В i8080 появился механизм прямого доступа в память (ПДП) (как ранее в универсальных ЭВМ IBM System 360 и др.).

ПДП открыл зеленую улицу для применения в микроЭВМ таких сложных устройств, как накопители на магнитных дисках и лентах дисплеи на ЭЛТ, которые и превратили микроЭВМ в полноценную вычислительную систему.

Традицией компании, начиная с первого кристалла, стал выпуск не отдельного чипа ЦП, а семейства БИС, рассчитанных на совместное использование.

Архитектура микропроцессора

Основные характеристики микропроцессора

Микропроцессор характеризуется:
1) тактовой частотой, определяющей максимальное время выполнения переключения элементов в ЭВМ;
2) разрядностью, т.е. максимальным числом одновременно обрабатываемых двоичных разрядов.

Разрядностть МП обозначается m /n /k / и включает:
m - разрядность внутренних регистров, определяет принадлежность к тому или иному классу процессоров;
n - разрядность шины данных, определяет скорость передачи информации;
k - разрядность шины адреса, определяет размер адресного пространства. Например, МП i8088 характеризуется значениями m /n /k=16/8/20;
3) архитектурой. Понятие архитектуры микропроцессора включает в себя систему команд и способы адресации, возможность совмещения выполнения команд во времени, наличие дополнительных устройств в составе микропроцессора, принципы и режимы его работы. Выделяют понятия микроархитектуры и макроархитектуры .

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

Макроархитектура - это система команд, типы обрабатываемых данных, режимы адресации и принципы работы микропроцессора.

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

Структура типового микропроцессора

Архитектура типичной небольшой вычислительной системы на основе микроЭВМ показана на рис. 2.1 Т акая микроЭВМ содержит все 5 основных блоков цифровой машины: устройство ввода информации, управляющее устройство (УУ), арифметико-логическое устройство (АЛУ) (входящие в состав микропроцессора), запоминающие устройства (ЗУ) и устройство вывода информации.

Рис. 2.1. Архитектура типового микропроцессора.

Микропроцессор координирует работу всех устройств цифровой системы с помощью шины управления (ШУ). Помимо ШУ имеется 16-разрядная адресная шина (ША), которая служит для выбора определенной ячейки памяти, порта ввода или порта вывода. По 8-разрядной информационной шине или шине данных (ШД) осуществляется двунаправленная пересылка данных к микропроцессору и от микропроцессора. Важно отметить, что МП может посылать информацию в память микроЭВМ или к одному из портов вывода, а также получать информацию из памяти или от одного из портов ввода.

Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это программы пользователя.

В качестве примера, иллюстрирующего работу микроЭВМ , рассмотрим процедуру, для реализации которой нужно выполнить следующую последовательность элементарных операций:
1. Нажать клавишу с буквой "А" на клавиатуре.
2. Поместить букву "А" в память микроЭВМ .
3. Вывести букву "А" на экран дисплея.

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

На рис. 2.2 приведена подробная диаграмма выполнения процедуры ввода-запоминания-вывода. Обратите внимание, что команды уже загружены в первые шесть ячеек памяти. Хранимая программа содержит следующую цепочку команд:
1. Ввести данные из порта ввода 1.
2. Запомнить данные в ячейке памяти 200.
3. Переслать данные в порт вывода 10.

Рис. 2.2. Диаграмма выполнения процедуры ввода-запоминания-вывода.

В данной программе всего три команды, хотя на рис. 2.2 может показаться, что в памяти программ записано шесть команд. Это связано с тем, что команда обычно разбивается на части. Первая часть команды 1 в приведенной выше программе - команда ввода данных. Во второй части команды 1 указывается, откуда нужно ввести данные (из порта 1). Первая часть команды, предписывающая конкретное действие, называется кодом операции (КОП), а вторая часть - операндом. Код операции и операнд размещаются в отдельных ячейках памяти программ. На рис. 2.2 КОП хранится в ячейке 100, а код операнда - в ячейке 101 (порт 1); последний указывает откуда нужно взять информацию.

В МП на рис. 2.2 выделены еще два новых блока - регистры: аккумулятор и регистр команд.

Рассмотрим прохождение команд и данных внутри микроЭВМ с помощью занумерованных кружков на диаграмме. Напомним, что микропроцессор - это центральный узел, управляющий перемещением всех данных и выполнением операций.

Итак, при выполнении типичной процедуры ввода-запоминания-вывода в микроЭВМ происходит следующая последовательность действий:
1. МП выдает адрес 100 на шину адреса. По шине управления поступает сигнал, устанавливающий память программ (конкретную микросхему) в режим считывания.
2. ЗУ программ пересылает первую команду ("Ввести данные") по шине данных, и МП получает это закодированное сообщение. Команда помещается в регистр команд. МП декодирует (интерпретирует) полученную команду и определяет, что для команды нужен операнд.
3. МП выдает адрес 101 на ША; ШУ используется для перевода памяти программ в режим считывания.
4. Из памяти программ на ШД пересылается операнд "Из порта 1". Этот операнд находится в программной памяти в ячейке 101. Код операнда (содержащий адрес порта 1) передается по ШД к МП и направляется в регистр команд. МП теперь декодирует полную команду ("Ввести данные из порта 1").
5. МП, используя ША и ШУ, связывающие его с устройством ввода, открывает порт 1. Цифровой код буквы "А" передается в аккумулятор внутри МП и запоминается.В ажно отметить, что при обработке каждой программной команды МП действует согласно микропроцедуре выборки-декодирования-исполнения.
6. МП обращается к ячейке 102 по ША. ШУ используется для перевода памяти программ в режим считывания.
7. Код команды "Запомнить данные" подается на ШД и пересылается в МП, где помещается в регистр команд.
8. МП дешифрирует эту команду и определяет, что для нее нужен операнд. МП обращается к ячейке памяти 103 и приводит в активное состояние вход считывания микросхем памяти программ.
9. Из памяти программ на ШД пересылается код сообщения "В ячейке памяти 200". МП воспринимает этот операнд и помещает его в регистр команд. Полная команда "Запомнить данные в ячейке памяти 200" выбрана из памяти программ и декодирована.
10. Теперь начинается процесс выполнения команды. МП пересылает адрес 200 на ША и активизирует вход записи, относящийся к памяти данных.
11. МП направляет хранящуюся в аккумуляторе информацию в память данных. Код буквы "А" передается по ШД и записывается в ячейку 200 этой памяти. Выполнена вторая команда. Процесс запоминания не разрушает содержимого аккумулятора. В нем по-прежнему находится код буквы "А".
12. МП обращается к ячейке памяти 104 для выбора очередной команды и переводит память программ в режим считывания.
13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен операнд.
14. МП выдает адрес 105 на ША и устанавливает память программ в режим считывания.
15. Из памяти программ по ШД к МП поступает код операнда "В порт 10", который далее помещается в регистр команд.
16. МП дешифрирует полную команду "Вывести данные в порт 10". С помощью ША и ШУ, связывающих его с устройством вывода, МП открывает порт 10, пересылает код буквы "А" (все еще находящийся в аккумуляторе) по ШД. Буква "А" выводится через порт 10 на экран дисплея.

В большинстве микропроцессорных систем (МПС) передача информации осуществляется способом, аналогичным рассмотренному выше. Наиболее существенные различия возможны в блоках ввода и вывода информации.

Подчеркнем еще раз, что именно микропроцессор является ядром системы и осуществляет управление всеми операциями. Его работа представляет последовательную реализацию микропроцедур выборки-дешифрации-исполнения. Однако фактическая последовательность операций в МПС определяется командами, записанными в памяти программ.

Таким образом, в МПС микропроцессор выполняет следующие функции:
- выборку команд программы из основной памяти;
- дешифрацию команд;
- выполнение арифметических, логических и других операций, закодированных в командах;
- управление пересылкой информации между регистрами и основной памятью, между устройствами ввода/вывода;
- отработку сигналов от устройств ввода/вывода, в том числе реализацию прерываний с этих устройств;
- управление и координацию работы основных узлов МП.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: