Автор работы: Пользователь скрыл имя, 04 Марта 2013 в 18:31, реферат
Обычно выделяют три класса компьютеров:
а) большие компьютеры, которые обслуживают значительное число терминалов пользователей и периферийных устройств. Они применяются в больших системах обработки данных, например при бухгалтерских расчетах;
На рис. 3.9 показана очень упрощенная структурная схема много платного конторского компьютера Comsen Crystal на основе микропроцессора Z80. К нему подключаются несколько периферийных устройств: дисплей (интерфейс RS-232С), принтер (интерфейс Centronics) и сдвоенный накопитель на гибком диске.
Микропроцессорный комплект серии KP180 представляет собой развитие МПК серии КР580. В комплект входят следующие микросхемы: КР1810ВМ86 - 16-разрядный микропроцессор, КР1810ГФ84 - тактовый генератор, КР1810ВГ86 - контроллер шин, КР1810ВН59А - контроллер прерываний, КР1810ВБ89 - арбитр шины.
По сравнению с
при сохранении той же технология n МДП достигнута более высокая степень интеграции (на кристалле размером 5,5 X 5,5 мм размещено около 30 тыс. транзисторных структур);
уменьшена задержка в логических элементах и тактовая частота повышена до 5 - 8 МГц; благодаря повышению тактовой частоты и совершенствованию структуры производительность микропроцессора повышена примерно на порядок;
расширена разрядность шины данных и тем самым обеспечена возможность выполнения операций обмена и обработки над 16-разрядными данными;
расширена разрядность адреса до 20 и, таким образом, обеспечена возможность адресации памяти емкостью до 1 Мбайта; расширен набор команд.
На рис. 4.1 приведена структурная
схема микропроцессора КР1810ВМ
Регистры операционного устройства. Блок регистров общего назначения составлен из четырех 16-разрядных регистров A,B,C,D. Если эти регистры используются как 16-разрядные, то к их наименованию добавляется символ X (АХ, ВХ, СХ, DX); при их использовании для хранения 8-разрядных слов каждый регистр разбивается на два 8-разрядных, из которых наименование левого образуется добавлением к имени регистра символа Н, наименование правого регистра - добавлением символа L (например, АН, AL и т.д.), как показано на рис.4.1. Эти регистры могут выполнять функции:
регистр А - функции аккумулятора,
регистр В - функции базового регистра, связанные с адресацией данных в оперативной памяти; они близки функциям, выполняемым в микропроцессоре серии КР580 парой регистров HL,
регистр С - функции счетчика,
регистр D - функции хранения данных.
Кроме указанных регистров, имеющих аналоги в микропроцессоре серии КР580, в микропроцессоре серии КР1810 предусмотрены еще четыре 16-разрядных регистра SР, ВР, DI, SI. Из них лишь регистр SP (указатель стека) имеет аналог в микропроцессоре серии КР580. Эти регистры используются при формировании адресов; более подробно они будут рассмотрены далее. В табл.4.1 приведено назначение регистров операционного устройства.
Таблица 4.1
Обозначение регистра |
Назначение регистра |
AX (AH, AL) BX (BH, BL) CX (CH, CL) DX (DH, DL) SP BP DI SI |
Аккумулятор Базовый регистр Счётчик Регистр данных Указатель стека Базовый указатель Индексный регистр операнда Индексный регистр результата операции |
Регистры устройства сопряжения с шиной. Из пяти 16-разрядных регистров, содержащихся в данном устройстве СS, DS, SS, ES, IР, лишь регистр IР имеет аналог в микропроцессоре серии КР580 (в микропроцессоре серии КР580 к нему близок по функциональному назначению регистр PC - счетчик команд). Остальные регистры предназначены для указания области (сегмента) памяти, в которой находится адресуемая ячейка памяти. Приведем наименование регистров, связанное с основным их назначением: CS - сегмент программы, DS - сегмент данных, SS - сегмент стека, ES - дополнительный сегмент, IР - указатель команд.
Формирование адреса операнда. При регистровой адресации в команде указывается регистр, содержимое которого участвует в операции. При косвенной адресации возможны более сложные, чем в микропроцессоре серии КР580, приемы формирования адреса, показанные на рис.4.2.
В оперативной памяти могут выделяться области (сегменты), состоящие из 64К ячеек с последовательно нарастающими адресами. Для указания начальных адресов сегментов в зависимости от информации, для хранения которой предназначен сегмент (команды, стек, данные), используются регистры СS, SS, DS, ES в устройстве сопряжения с шиной. Программным путем регистры могут загружаться новой информацией. Таким образом, в памяти могут быть обозначены новые сегменты.
При определении адреса вначале формируется так называемый исполнительный адрес. Он может быть представлен содержимым регистров ВХ, ВР, SI или DI. Исполнительный адрес операнда можно представить суммой содержимого указанного в команде регистра и представленного в непосредственной форме (в форме числа) смещения. Исполнительный адрес может формироваться и более сложным путем, обычно используемым при обработке последовательности знаков: к некоторой базе, хранящейся в базовом регистре ВХ или BP, прибавляется содержимое индексного регистра DI или SI и смещение.
Исполнительный адрес используется для формирования физического адреса ячейки памяти, т.е. адреса, выдаваемого на шину адреса и поступающего в память. Предполагается, что ячейка находится в некоторой области (сегменте) памяти емкостью 64 Кбайт. В зависимости от характера хранимой в ячейке информации начальным адресом сегмента является содержимое регистра СF, SS, DS или ЕS, а положение ячейки в сегменте определяется исполнительным адресом. Начальным адресом сегмента служит содержимое регистров CS, SS, DS или ES, сдвинутое влево на 4 разряда. Суммирование начального адреса сегмента с 16-разрядным исполнительным адресом дает физический адрес в форме 20-разрядной кодовой комбинации, которая и выдается на адресную шину.
Регистр признаков. Регистр признаков имеет девять разрядов и хранит, таким образом, девять признаков, из которых пять аналогичны соответствующим признакам, хранимым в триггерах регистра признаков микропроцессора серии KP580: признаки CF, PF, AF, ZF, SF аналогичны признакам, формируемым в микропроцессоре серии КР580 соответственно в триггерах регистра признаков Тc, Тр, Tv, Tz, Ts. Дополнительно формируемые признаки: OF - признак переполнения разрядной сетки при выполнении арифметических операций и три признака управления: IF - разрешение прерывания, DF - признак направления, TF - признак захвата. На рис.4.3 показано назначение признаков. Признак DF используется лишь при обработке последовательности знаков. При DF=0 последовательность адресов обрабатываемых данных формируется в порядке их нарастания, а при DF=1 - в порядке убывания адресов. Признак IF=0 используется для игнорирования сигнала запроса прерывания, поступающего на вход маскируемого прерывания. Признак TF применяется в тех случаях, когда предусматривается покомандное выполнение программы. Когда TF=1, процессор после выполнения каждой команды переходит в состояние особого прерывания (не связанного с сигналами запроса прерывания от периферийных устройств).
Блок регистров очереди команд. Блок регистров очереди команд обеспечивает возможность накопления команд объемом до 6 байт. Это позволяет подавать команды из блока регистров в операционное устройство, где происходит их исполнение, без задержки и, кроме того, достигается возможность совместить во времени процессы, связанные с выборкой команд из памяти, и процессы, связанные с их выполнением.
На рис.4.4 показан пример обработки последовательности команд в которой 1-я команда (ранее принятая в блок регистров очереди команд) предусматривает выполнение некоторой операции над данными, хранящимися в регистрах микропроцессора, и запись результата в память; 2-я команда также выполняет операцию над хранящимися в процессоре данными, но в отличие от 1-й команды не предусматривает записи результата в память; З-я команда требует извлечения операнда из оперативной памяти. В интервалах времени, свободных от записи или чтения данных из оперативной памяти, производится обращение к ней для выборки очередных команд, устанавливаемых в очередь в блоке регистров очереди команд. Таким образом, можно обеспечить высокую плотность загрузки шины и повышение скорости выполнения программы.
Операционное устройство |
Выполнение 1-й команды |
Выполнение 2-й команды |
Выполнение 3-й команды | ||||||
t | |||||||||
Выборка 2-й команды |
Выборка 2-й команды |
Выборка 3-й команды |
Запись результата 2-й команды |
Выборка 4-й команды |
Чтение операнда 3-й команды |
Выборка 5-й команды |
|||
t | |||||||||
Шина |
Занята |
Занята |
Занята |
Занята |
Занята |
Занята |
|||
t | |||||||||
Рис.4.4. Пример обработки последовательности команд |
Очевидно, такое опережающее чтение из оперативной памяти команд до выполнения предыдущих команд возможно лишь в процессе исполнения последовательных участков программы, т. е. участков, не содержащих условных и безусловных переходов. При таких переходах очередная команда должна поступать не из блока регистров очереди команд, а непосредственно из оперативной памяти.
На рис.4.5 показан простейший вариант построения микропроцессорного устройства на микропроцессоре КР1810ВМ86. Микросхема микропроцессора имеет 40 выводов. Из-за увеличенной разрядности шин, очевидно, в этом случае невозможно предусмотреть раздельные шины адреса и данных, как это сделано в микропроцессоре серии КР580. В микропроцессоре серии KP1810 сокращение числа выводов для шин достигнуто за счет использования совмещенных функций выводов: 16 выводов, обозначенные на рис.4.5 АД15...АД0, в разные временные интервалы используются либо как адресные выводы либо как выводы данных. Так как адрес имеет 20 разрядов, предусмотрено дополнительно 4 адресных вывода А19...А16, на которые выдаются старшие разряды адреса. С выводов A19…А16 и АД15...АД0 адрес через буфер Б1 поступает в 20-разрядную шину адреса системы. С этой шины адрес принимается в блок памяти и периферийные устройства ввода-вывода данных. Относится ли выдаваемый из микропроцессора на шину адреса адрес к блоку памяти или к периферийному устройству, определяется значением сигнала, выдаваемого микропроцессором на вывод . При уровне лог.1 на этом выводе инициируется работа блоков оперативной памяти, при уровне лог.0 - работа периферийных устройств. Вид обмена между микропроцессором и этими устройствами определяется сигналом на выводах и : при =0 осуществляется чтение и прием данных через шину данных в микропроцессор, при =0 производится запись выводимой из микропроцессора на шину данных информации в блоки памяти или в периферийные устройства.
Операции чтения и записи занимают в микропроцессоре один цикл, состоящий из четырех тактовых интервалов. В тактовом интервале Т1 на выводы A19...A16 и А15...А0 микропроцессор выдает адресную информацию, которая должна быть принята в Б1 и зафиксирована в нем на время, равное полной длительности цикла. Тактовый интервал Та, как и в микропроцессоре серии КР580, используется для проверки наличия сигнала Готовность. Собственно обмен данными (чтение или запись) через шину данных осуществляется в тактовых интервалах Т3 и Т4.
Переключение буфера Б2 на передачу по шине данных в требуемом направлении производится сигналом ЧТ/ .
Рассмотрим адресацию блоков памяти (рис.4.6). Память строится в виде двух блоков памяти, каждая емкостью 512К байт. Один из блоков связан со старшим байтом шины данных, другой - с младшим байтом этой шины.
Адресация блоков осуществляется разрядами A19...A1 адреса. В зависимости от значения сигнала (выборки блока памяти с нечетными адресами) и значения младшего разряда адреса А0 происходит инициирование того или другого либо обоих блоков в соответствии с табл.4.2.
При обмене двухбайтовой величиной (запись в память или чтение из памяти) адресом этой величины служит адрес ее младшего байта.
Если младший байт размещается в ячейке блока памяти с четными адресами, то при поступлении на блок четного адреса (А0 = 0), и управляющего сигнала =0 происходит обращение одновременно в оба блока. В блок с нечетными адресами (или из него) перелается младший байт величины, а в блок с четными адресами (или из него) передается старший байт величины. Таким образом, передача двухбайтовой величины осуществляется при одном обращении к памяти. Если же младший байт передаваемой двухбайтовой величины размещается в ячейке блока памяти с нечетными адресами, то обмен такой величиной потребует двух обращений к памяти: при первом обращении подается нечетный адрес и сигнал =0, происходит обращение в блок с нечетными адресами и осуществляется передача младшего байта, затем адрес увеличивается на единицу (при этом он принимает четное значение) и подается сигнал =1, происходит обращение в блок с четными адресами и осуществляется передача старшего байта. Таким образом, при обращении к памяти требуется не только указывать адреса, но и сообщать сведения о том, является ли передаваемая величина однобайтовой или двухбайтовой.
Таблица 4.2
А0 |
Пересылаемый байт | |
0 0 1 1 |
0 1 0 1 |
Оба байта Верхний байт (D8…D15),нечётные адреса Нижний байт (D0…D7), чётные адреса Ни тот, ни другой |