Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_CompModCU_Akchurin_2012.pdf
Скачиваний:
170
Добавлен:
18.05.2015
Размер:
6.98 Mб
Скачать

6.2. Регистры

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

установка всех разрядов регистра в состояние логического нуля или логической единицы;

прием и хранение в регистре многоразрядного слова;

сдвиг хранимого в регистре слова вправо или влево на заданное число разрядов;

преобразование параллельного двоичного кода в последовательный, и наоборот.

Регистры состоят из множества триггеров. Возможны регистры:

Параллельный. В каждый триггер данные заносятся одновременно.

Сдвига. Данные заносятся последовательно, начиная с первого триггера. При занесении очередного отсчета предыдущие сдвигаются по внутренним триггерам регистра.

Моделируем 2 типа регистров: параллельный и сдвиговый.

62

6.2.1. Параллельный регистр

Для параллельного регистра создаем статическую модель. Его поведение лучше анализировать в статике.

В модель 3-разрядного параллельного регистра включаем:

3 SR триггера S-R FlipFlop.

Константы Constant и Constant1 co значениями1 и 0 для выбора управляющих значений. Блок находится в Simulink => Sources.

3 ручных переключателя Manual Switch. Блок находится в Simulink => Signal Routing. Нужны для выбора входных данных для каждого триггера.

Их имена - Input 1, Input 2, Input 3.

Ручной переключатель Manual Switch для выбора сигнала записи. Его имя Record. При записи Record =1, Reset = 0.

Ручной переключатель Manual Switch для выбора сигнала сброса. Его имя Reset. При сбросе Reset = 1, Record =0.

3 логических блока Logical Operator (AND). Блок находится в Simulink => Logic and Bit Operations, с их помощью биты данных передаются на триггеры только при Record =1.

6 дисплеев Display для контроля прямых Q и инверсных !Q выходов триггеров. Блок находится в Simulink => Sinks.

63

Прогон при записи. Выбраны Record =1, Reset = 0, биты данных 011.

Прогон при сбросе. Выбраны Record =0, Reset = 1, биты данных безразличны.

64

6.2.2. Регистр сдвига

Для регистра сдвига создаем динамическую модель. Его поведение надо анализировать во времени.

В модель 3-разрядного регистра сдвига включаем:

3 триггера D_защелка D_Latch. Блок находится в Simulink Extras=>FlipFlops.

2 элемента памяти Memory между триггерами. Блок находится в Simulink => Discrete. Они необходимы для запоминания предыдущего состояния триггеров в процессе моделирования.

Генераторы прямоугольных импульсов Pulse Generator. Блок находится в Simulink => Sources. Один для формирования сигнала данных, другой для формирования сигнала синхронизации триггеров (при его наличии данные заносятся в триггер).

2 преобразователя типа данных Data Type Conversion. Блок находится в Simulink => Signal Attributes. Преобразует данные численного типа в булевые, что нужно для триггера D_защелка..

Наблюдатель Scope. Блок находится в Simulink => Sinks. Нужен для просмотра временных диаграмм сигналов в модели. В нем 5 входов.

65

Прогон при записи. Выбраны:

Для Pulse Generator период 4 сек., Длительность импульса 50% от периода, Задержка начала.4 сек.

Для Pulse Generator1 период 3 сек., Длительность импульса 10% от периода, Задержка начала.1 сек.

Видно, что выходы внутренних триггеров повторяют входные данные со сдвигом во времени.

66

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]