Автор работы: Пользователь скрыл имя, 04 Марта 2013 в 18:31, реферат
Обычно выделяют три класса компьютеров:
а) большие компьютеры, которые обслуживают значительное число терминалов пользователей и периферийных устройств. Они применяются в больших системах обработки данных, например при бухгалтерских расчетах;
Рассмотрим подробнее процесс выполнения команды. Этот процесс разбивается на циклы, обозначаемые М1, М2, М3, М4, M5. В каждом цикле производится одно обращение микропроцессора к памяти или УВВ (исключение составляет лишь выполнение команды DAD).
В зависимости от типа команда может быть выполнена за один цикл (М1), либо за два цикла (M1, М2), либо за три цикла (M1, М2, M3) и т. д. Самые длинные по времени исполнения команды выполняются в пять циклов (М1 …М5).
Каждый цикл включает в себя несколько тактов, обозначаемых Т1, Т2, Т3, Т4, Т5. Циклы могут содержать три (Т1...Т3), четыре (Т1...Т4) либо пять (Т1...Т5) тактов. Первые три такта во всех циклах используются для организации обмена с памятью и УВВ, такты Т4 и Т5 (если они присутствуют в цикле) - для выполнения внутренних операций в микропроцессоре. На рис. 2.5 показана временная диаграмма цикла из пяти тактов.
Отсчет тактов производится от положительных фронтов импульсов Ф1. Рассмотрим цикл М1. В такте Т1 содержимое счетчика команд выдается на шину адреса, адрес принимается памятью, где начинается процесс чтения байта команды из указанной ячейки. В такте T2 проверяется наличие сигнала (уровня лог.1) на входе Готовность. Этот сигнал подается на вход микропроцессора через интервал времени, достаточный для завершения процесса чтения из памяти. Если на входе Готовность сигнал отсутствует (действует уровень лог.0), то микропроцессор устанавливается в режим ожидания, в котором каждый следующий такт рассматривается как такт T2 до тех пор, пока не появится сигнал на входе Готовность. С приходом этого сигнала микропроцессор выходит из режима ожидания, переходя в такт Т3. В этом такте выданный из памяти байт команды с шины данных принимается в микропроцессор, где он помешается в регистр команд. В такте Т4 анализируется принятый байт команды и выясняется, нужны ли дополнительные обращения в оперативную память. Если такие обращения не требуются (команда однобайтовая и операнды находятся в регистрах микропроцессора), то в этом же такте либо с использованием дополнительно такта Т5 выполняется предусматриваемая командой операция.
Если необходимы дополнительные обращения в оперативную память, то после такта Т4 цикл М1 завершается и происходит переход к циклу М2. Пусть, например, команда однобайтовая, но в операции должен участвовать операнд, хранящийся в оперативной памяти. Тогда в цикле М2 происходят следующие процессы: в такте Т1 выдается адрес ячейки памяти, в такте T2 проверяется наличие сигнала на входе Готовность (сигнала о том, что прошел интервал времени, достаточный для чтения из памяти). С появлением этого сигнала происходит переход к такту Т3, в котором выданное из памяти число с шины данных принимается в микропроцессор и в этом же такте выполняется операция, предусматриваемая командой.
При исполнении большинства команд в случаях, когда происходят дополнительные обращения к памяти, первый цикл М1 содержит четыре такта, в каждом следующем цикле содержится три такта и происходит одно дополнительное обращение к памяти.
В каждом цикле в интервале времени от момента положительного фронта импульса последовательности Ф2 в такте Т1 и до момента положительного фронта импульса Ф2 в такте Т2 микропроцессор выдает на выход Синхронизация уровень лог. 1 и на шину данных информацию о состоянии. Элемент И-НЕ (см. рис. 2.3) формирует строб, которым осуществляется прием информации о состоянии микропроцессора с шины данных в регистр состояния (временное положение строба состояния показано на рис. 2.5). В табл. 2.3 показано назначение отдельных разрядов кода состояния.
В табл. 2.4 приведено соответствие сигналов состояния отдельным видам циклов.
Таблица 2.3
Разряд |
Назначение сигнала |
D0 |
Подтверждение прерывания: используется для стробирования команды RST в микропроцессор из устройства, запрашивающего прерывание |
D1 |
Запись-вывод: уровень лог. 0 свидетельствует о том, что в данном цикле будет происходить запись (выдача информации из микропроцессора в оперативную память) или вывод (передача информации из микропроцессора в УВВ); уровень лог. 1 означает, что происходит чтение (прием информации из оперативной памяти) или ввод (прием из УВВ) |
D2 |
Свидетельствует о том, что в данном цикле на адресной шине установлено содержимое указателя стека |
D3 |
Подтверждение останова: свидетельствует о том, что микропроцессор в состоянии останова |
D4 |
Свидетельствует о том, что в данном цикле на адресной шине установлен номер внешнего устройства и осуществляется вывод содержимого аккумулятора на устройство вывода |
D5 |
Свидетельствует о том, что в данном цикле микропроцессор принимает первый байт команды |
D6 |
Свидетельствует о том, что в данном цикле на адресной шине установлен номер устройства ввода и осуществляется ввод информации из устройства ввода в аккумулятор микропроцессора |
D7 |
Свидетельствует о том, что в данном цикле производится чтение (прием информации из памяти в микропроцессор) |
Таблица 2.4
Вид цикла |
Состояние микропроцессора | |||||||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 | |
Выборка первого байта команды Чтение из памяти Запись в память Чтение стека Запись в стек Ввод из УВВ Вывод на УВВ Подтверждение прерывания Подтверждение останова Подтверждение прерывания при останове |
1 1 0 1 0 0 0 0 1 0 |
0 0 0 0 0 1 0 0 0 0 |
1 0 0 0 0 0 0 1 0 1 |
0 0 0 0 0 0 1 0 1 1 |
0 0 0 0 0 0 0 0 1 1 |
0 0 0 1 1 0 0 0 0 0 |
1 1 0 1 0 1 0 1 1 1 |
0 0 0 0 0 0 0 1 0 1 |
Система команд микропроцессора приведена в табл. 2.2. Команды разбиты на семь групп. Группа может содержать несколько типов операций. Каждый тип операций характеризуется некоторой структурой кодовых комбинаций команд, где вместо Ri должен быть подставлен адрес регистра и вместо Кi - 3-разрядная кодовая комбинация, определяющая конкретный тип команды.
В таблице указано число байтов, содержащихся в команде, число циклов и тактов, в которые выполняется команда (в знаменателе указано число циклов и тактов в случаях, когда указан адрес регистра 110 и требуется дополнительное обращение в оперативную память для выборки операнда, адресом которого служит содержимое пары регистров HL).
Для каждого типа команды показано, как формируются признаки в пяти триггерах регистра признаков. Принята следующая система обозначений:
«+» означает, что признак в данном триггере формируется;
«-» означает, что соответствующий признак при выполнении данной команды не формируется и в триггере сохраняется значение признака, сформированное при выполнении предыдущих команд;
0 означает установку триггера в состояние лог. 0;
1 означает установку триггера в состояние лог. 1;
Отметим следующие особенности формирования признаков:
команды пересылки и переходов не изменяют состояния триггеров признаков;
команды увеличения или уменьшения содержимого одиночного регистра используют все признаки, за исключением признака переноса С;
команды увеличения или уменьшения содержимого пар регистров не изменяют состояния триггеров признаков;
команды арифметических операций используют все признаки; при выполнении логических операций триггеры переносов Тс и Tv сбрасываются в состояние лог. 0; команды сложения содержимого пар регистров используют только признак переноса С.
Операции циклического сдвига выполняются над содержимым аккумулятора и предусматривают четыре вида сдвига.
1. Сдвиг циклический влево (СЦЛ) без переноса (рис. 2.6, а): содержимое каждого разряда аккумулятора А передается в соседний старший разряд , содержимое старшего разряда передается в младший разряд и одновременно в триггер переноса .
2. Сдвиг циклический вправо (СЦП) без переноса (рис. 2.6, б): содержимое каждого разряда аккумулятора А передается в соседний младший разряд , содержимое младшего разряда передается в старший разряд и одновременно в триггер переноса .
3. Сдвиг циклический влево с переносом (рис. 2.6, в): отличие от сдвига без переноса состоит в том, что триггер переноса Тс вводится в замкнутый контур, в котором осуществляется сдвиг; триггер переноса передает свое содержимое в младший разряд аккумулятора и принимает выдвигаемое из аккумулятора содержимое старшего разряда .
4. Сдвиг циклический вправо с переносом (рис. 2.6, a): отличие от сдвига без переноса в том, что триггер переноса передает свое содержимое в старший разряд аккумулятора и принимает выданное из аккумулятора содержимое младшего разряда .
Стек - память с определенной (упрошенной) формой адресации. В микропроцессорном устройстве на МПК КР580 стек организуется следующим образом. В оперативной памяти (ОЗУ) команды размещаются в ячейках с младшими, последовательно нарастающими адресами. Стек использует ячейки со старшими адресами и по мере заполнения стека занимаются ячейки с адресами, последовательно убывающими. Таким образом, адреса этих двух частей памяти изменяются навстречу друг другу (рис. 2.7, а).
Особенность организации стека состоит в следующем. Указатель стека SР содержит так называемый адрес входа в стек; при чтении из стека производится выборка содержимого ячейки по адресу входа в стек (по адресу, хранящемуся в SP); при записи в стек вводимое в стек число помещается в ячейку с адресом, на единицу меньшим содержимого SP; одновременно с записью и чтением изменяется содержимое SP: при записи уменьшается, а при чтении увеличивается на единицу.
Обмен со стеком производится двухбайтовыми словами, занимающими две ячейки памяти. Пусть указатель стека хранит адрес А. При вводе нового слова его байты должны быть помещены в пару соседних со входом в стек ячеек, имеющих адреса А-1 и А-2. Таким образом, ввод в стек сводится к следующей последовательности действий: содержимое SP уменьшается на единицу и по образующемуся в SP адресу помещается старший байт вводимого двухбайтового слова; затем содержимое SP вновь уменьшается на единицу и по образующемуся в нем адресу помещается младший байт вводимого слова (рис. 2.7,б).
Мы видим, что SP каждый раз указывает адрес последней ячейки, занятой под стек, - так называемый вход в стек.
Вывод данных из стека производится также двухбайтовыми словами. При этом каждый раз доступна для чтения лишь ячейка, адрес конторой содержится в SP. Если указатель стека хранит адрес А, то байты выводимого из стека слова выбираются из ячеек памяти, имеющих адреса А и A+1. Таким образом, выбор слова из стека сводится к такой последовательности действий: чтение младшего байта выводимого слова из ячейки, адресом которой служит содержимое SP, и увеличение содержимого SP на единицу; затем чтение старшего байта выводимого слова по хранящемуся в SP адресу и увеличение содержимого SP на единицу (рис. 2.7, д).
О таком принципе функционирования, когда читается последняя помещенная в память информация, говорят как о принципе «последним вошел - первым вышел». Как видим, при записи и чтении производится обращение в ячейку, адрес которой связан с содержимым SP. Это упрощает адресацию памяти, но исключает возможность обращения в произвольную ячейку памяти.