Универсальные микропроцессоры

 

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

Восьмиразрядные МП (например, широко распространенные МП   Intel 8080, а также отечественный КР580ВМ80А, более совершенные Iп1е1 8085, МС36502, Z80, МС6809 и другие) выпускаются в виде больших интегральных схем (БИС) с 40 контактами при двухстороннем расположении выводов. Их шина адреса содержит 16 проводников, поэтому они непосредственно могут адресоваться к 65536 ячейкам (64 Кбайт). Все эти микропроцессоры при одинаковой внутренней архитектуре  различаются некоторыми конструктивными особенностями, функциями и количеством программно-доступных внутренних регистров и, как следствие этого, наборами используемых команд. На их основе в 90-е годы изготовляли микроЭВМ, в последнее время их используют иногда для создания сравнительно простых контроллеров, хотя более оправдано использовать для этих целей ОМК.

Шестнадцатиразрядные МП обычно имеют 64-контактный корпус также с двухрядным расположением выводов. По сравнению с 8-разрядными основные преимущества этих МП заключаются в расширении набора команд, более быстром их исполнении и увеличенном объеме адресуемой памяти (обычно 1 Мбайт и более).

Среди архитектурных особенностей 16-разрядных МП отметим несомненную находку, связанную с применением для более быстрого исполнения команд принципа конвейеризации. Так называют специальную организацию работы МП, при которой каждая очередная команда заносится в регистр команд не из памяти, а выбирается из очереди команд. Для этого перед регистром команды дополнительно включается сверхбыстродействующий блок памяти, в который предварительно из памяти переписываются несколько очередных команд (очередь команд). Длина очереди составляет 6 байт (для МП 8086) и 4 байта (для МП 8088). Такой подход позволяет существенно повысить скорость выполнения программы, сократить простои быстродействующего процессора в промежутках времени, когда производится относительно более медленное обращение к памяти.

Тридцатидвухразрядные МП имеют от 60 до нескольких сотен контактов (МП Pentium – 296, Pentium Рго – 387 контактов), расположенных либо по всем четырем сторонам корпуса, либо в узлах прямоугольной сетки, нанесенной на его поверхность (матричное размещение выводов). Как правило, шина адреса таких МП также состоит из 32 проводников, поэтому современные 32-разрядные МП обладают большим диапазоном адресации памяти (4 Гбайт).

Об их исключительно высокой производительности можно судить хотя бы по типичным значениям частоты тактового генератора (сотни МГц вместо10 МГц для лучших образцов 16-разрядных МП).

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

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

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

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

Рассмотрим более подробно устройство и работу микропроцессора  на примере простейшего МП i8080. На рис. 4.2 представлена  внутренняя структура МП i8080, включающего 8-разрядное АЛУ с буферным регистром и схемой десятичной коррекции, блок  регистров общего назначения, регистры указателя стека и счетчика команд, управляющий автомат, буферные схемы шин адреса и данных и схему управления системой.

Внешний интерфейс представлен 8-разрядной двунаправленной шиной данных D[7:0], 16-разрядной шиной адреса A[15:0] и группой линий управления.

 Рис. 4.2. Внутренняя структура МП i8080

 

Назначение входных и выходных линий МП:

 

D [7:0] – двунаправленная шина данных служит для приема и выдачи данных, приема команды, приема вектора прерывания, выдачи дополнительной управляющей информации (слово PSW);

A [15:0] – однонаправленная шина адреса служит для выдачи адреса памяти и устройств ввода/вывода;

Ф 1, Ф 2 – сигналы тактового генератора частотой 1…2,5 МГц;

RESET – сброс (начальная установка и запуск программы с адреса 0000);

 

READY – входной сигнал готовности памяти или ВУ к обмену (обеспечивает асинхронный режим обмена);

INT – запрос внешнего прерывания;

HOLD – захват шины (требование  доступа в память со стороны ВУ);

WR –  запись - выходной сигнал, определяющий направление передачи информации по шине данных от процессора к памяти или ВУ;

RD – чтение - выходной сигнал, определяющий направление передачи информации по шине данных от памяти или ВУ к процессору;

SYNC – выходной сигнал, идентифицирующий наличие на шине данных дополнительной управляющей информации (PSW);

WAIT – выходной сигнал, отмечающий состояние ожидания или останова МП;

INTE – выходной сигнал, подтверждающий режим внешних прерываний;

HLDA – выходной сигнал, подтверждающий режим прямого доступа в память (подтверждение захвата).

МП работает в составе МПС, обмениваясь информацией с памятью и ВУ. В основе работы МП лежит командный цикл (КЦ) – действия по выбору из памяти и выполнению одной команды. В зависимости от типа и формата команды, способов адресации и числа операндов командный цикл может включать различное число обращений к памяти и ВУ и, следовательно,  иметь различную длительность. Командный цикл начинается с извлечения из памяти первого байта команды по адресу, хранящемуся в PC. Напомним, что команды МП i8080 имеют длину 1, 2 или 3 байта, причем в первом байте содержится информация о длине команды. В случае 2- или 3-байтовой команды реализуются дополнительные обращения к памяти по соседним (большим) адресам.

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

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

Командный цикл представляет собой последовательность машинных циклов (МЦ), причем КЦ i8080 может содержать от 1 до 5 МЦ, которые принято обозначать M1, M2,..M5. МЦ обязательно включает действия по передаче байта информации. Кроме того, в некоторых МЦ дополнительно реализуются действия по пересылке и/или преобразованию информации внутри МП, поэтому длительность МЦ может быть различной – из-за различного числа содержащихся в них машинных тактов (T1, T2,...).

Машинный такт образует пара сигналов тактового генератора, поэтому длительность такта постоянна.

Таким образом, просматривается иерархия процедур при работе микропроцессора (не только i8080): командный цикл – машинный цикл – машинный такт.

 

Каждому такту соответствует определенное состояние управляющего автомата. Любой МЦ i8080 обязательно содержит такты T1, T2, T3, предназначенные для передачи байта по интерфейсу. МЦ, в которых осуществляется передача и/или преобразование информации в МП, содержат дополнительно один или два такта T4, T5. МП i8080 вырабатывает несколько типов МЦ, основными из которых являются циклы ПРИЕМ и ВЫДАЧА.

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

· выдача адреса;

· выдача информации о начатом МЦ (PSW);

· анализ значения входных сигналов;

· ожидание сигнала READY = 1  (при необходимости);

· прием/выдача данных;

· внутренняя обработка/пересылка данных.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: