- •«Архитектура информационных систем» моделирование схемы регистра приема, хранения, выдачи кодов
- •Брянск 2013
- •Брянск: бгту, 2013. - 13 с.
- •1. Цель работы
- •2. Теоретическая часть
- •2.1. Классификация регистров
- •2.2. Регистры хранения и сдвига
- •2.2.1. Регистры хранения (памяти)
- •2.2.3.Пример работы регистра сдвига
- •2.3. Регистры общего назначения, сегментов и флагов
- •2.3.1. Регистры общего назначения
- •2.2.2. Регистры сдвига
- •2.3.2. Регистры сегментов
- •2.3.3.Регистры флагов
- •2.3.4.Регистры приема, хранения, выдачи кодов
- •3. Порядок выполнения работы
- •4. Список заданий
- •5. Контрольные вопросы
- •6. Список использованной литературы
2.2.2. Регистры сдвига
Регистры с последовательным приемом или выдачей информации называются регистрами сдвига. Регистры сдвига могут выполнять функции хранения и преобразования информации. Регистры сдвига обычно реализуются на:
а) D-триггерах (рис. 3а);
б) RS-триггерах (рис. 3б).
Разрядность регистров сдвига, как и у регистров хранения, определяется количеством триггеров, входящих в их состав. На рис. 3 приведены схемы четырехразрядных регистров сдвига, реализованных на D- и RS-триггерах.
а
б
Рис.3. Четырехразрядные регистры сдвига на D-триггерах (а) и на RS-триггерах (б).
2.2.3.Пример работы регистра сдвига
Работу регистра сдвига рассмотрим на примере схемы, приведенной на рис. 3а. Можно предположить, что в начале все триггеры регистра находятся в состоянии логического нуля, т.е. Q0=0, Q1=0, Q2=0, Q3=0. Если на входе D-триггера Т1 имеет место логический 0, то поступление синхроимпульсов на входы “С” триггеров не меняет их состояния.
Как следует из рисунка 3, синхроимпульсы поступают на соответствующие входы всех триггеров регистра одновременно и записывают в них то, что имеет место на их информационных входах. На информационных входах триггеров Т2, Т3, Т4 - уровни логического “0”, т.к. информационные входы последующих триггеров соединены с выходами предыдущих триггеров, находящихся в состоянии логического “0”, а на вход “D” первого триггера, по условию примера, подается “0” из внешнего источника информации. При подаче на вход “D” первого триггера “1”, с приходом первого синхроимпульса, в этот триггер запишется “1”, а в остальные триггеры - “0”, т.к. к моменту поступления фронта синхроимпульса на выходе триггера Т1 “ещё” присутствовал логический “0”. Таким образом, в триггер Т1 записывается та информация (тот бит), которая была на его входе “D” в момент поступления фронта синхроимпульса и т.д.
При поступлении второго синхроимпульса логическая “1” , с выхода первого триггера, запишется во второй триггер, и в результате происходит сдвиг первоначально записанной “1” с триггера Т1 в триггер Т2, из триггера Т2 в триггер Т3 и т.д. Таким образом, производится последовательный сдвиг поступающей на вход регистра информации (в последовательном коде) на один разряд вправо в каждом такте синхроимпульсов.
После поступления m синхроимпульсов регистр оказывается полностью заполненным разрядами числа. В течение следующих четырех синхроимпульсов производится последовательный поразрядный вывод из регистра записанного числа, после чего регистр оказывается полностью очищенным (регистр окажется полностью очищенным только при условии подачи на его вход уровня “0” в режиме вывода записанного числа).
2.3. Регистры общего назначения, сегментов и флагов
2.3.1. Регистры общего назначения
32-х битные регистры общего назначения eax, ebx, ecx, edx, esi, edi, ebp и esp могут хранить следующие типы данных:
Операнды для логических и арифметических операций
Операнды для расчета адресов
Указатели на ячейки памяти
Многие команды используют конкретные регистры для хранения своих операндов. Например, команды обработки текстовых строк используют содержимое регистров ecx, esi и edi в качестве операндов.
Основные случаи использования регистров общего назначения:
eax - используется для хранения операндов и результатов операций
ebx - как указатель на данные в сегменте ds
ecx - как счетчик для строковых операций и циклов
edx - указатель для ввода/вывода
esi - указатель на данные в сегменте ds, а также как указатель на источник в командах работы со строками
edi - указатель на данные в сегменте es, а также как указатель на приемник в командах работы со строками
esp - указатель вершины стека в сегменте ss
ebp - указатель на некоторые данные в стеке
В регистрах, оканчивающихся на x, можно обращаться к младщим 16-ти битам (ax, bx, cx и dx соответственно), которые в свою очередь можно разделить на старший байт (ah, bh, ch и dh) и младший (al, bl, cl и dl) и работать с ними, как с регистрами длиной 8 бит. Регистры-указатели esp (указатель вершины стека) и ebp (базовый регистр), а также индексные регистры esi (индекс источника) и edi (индекс приемника) допускают только 32-битное обращение.
