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

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

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

НЕ нашли? Не то? Что вы ищете?

Информация об особенностях результата последней операции, выполненной АЛУ (информация о внутреннем состоянии МП), хранится в регистре флажков (другие его названия – регистр состояния, регистр кода условия). В микропроцессорной технике так обычно называют простой набор триггеров, состояния которых зависят от результатов операции АЛУ (строго говоря, простой набор отдельных триггеров нельзя называть регистром, но применительно к МП это не вызывает особых недоразумений). Каждый триггер в составе регистра состояния устанавливается (или сбрасывается) при какой-то своей особенности результата в АЛУ (например, триггер нуля Z, переполнения V, отрицательного результата N переноса С и др.). Регистры состояния программно-доступны, причем программист может установить (или сбросить) каждый триггер в отдельности или одновременно весь регистр.

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

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

2…4 МГц, для современных МП типичны значения частоты порядка 1…3 ГГц и выше.

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

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

Восьмиразрядные МП (например, широко распространенные МП 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-байтовой команды реализуются дополнительные обращения к памяти по соседним (большим) адресам.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37