Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсак Тиханський.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.03 Mб
Скачать

3. Регістр інструкцій ir

Призначено для зберігання коду прочитаної інструкції. Керуючий сигнал ld_ir дозволяє завантажувати в регістр IR 8-розрядне слово інструкції з пам‘яті команд. Якщо сигнал ld_ir=’0’, то регістр зберігає своє попереднє значення, інакше з пам`яті команд до нього завантажується 8-розрядне слово команди. Вихід з цього регістра поступає до керуючого автомата, регістрового файлу, АЛП та на мультиплексор формування фізичної адреси.

4. Семирозрядний мультиплексор mux2 та суматор sm

Призначено для формування логічної адреси наступної інструкції на основі керуючих сигналів jump_pc[1:0] та inc_pc. Якщо inc_pc=’1’, на виході суматора є збільшений на одиницю вміст лічильника інструкцій PC, а якщо inc_pc=’0’,— поточне. Сигнал jump_pc керує формуванням наступної адреси pc_nxt з молодших розрядів регістра інструкцій IR[3:0], R0[2:0], PC1[6:0], R14_R15[6:0] та виходом з суматора. У таблиці 4.1.1 показано режими роботи мультиплексора.

Табл.4.1.1 Режими роботи мультиплексора MUX2

jump_pc

Обране значення

00

pc_nxt<=pc_r+inc_pc

01

pc_nxt<=pc1_r

10

pc_nxt<=R14_15[6:0]

11

pc_nxt<=R0[2:0]&IR[3:0]

5. Чотирирозрядний мультиплексор mux3

Призначений для передачі на АЛП значень відповідно з шини даних з регістру інструкції та з регістрового файлу. Керується дворозрядним керуючим сигналом mx3[1:0], що надходить з керуючого автомата. Має 4 стани, що показані у табл.4.1.2 нижче

Табл.4.1.2 Режими роботи мультиплексора MUX3

mx3

Обране значення

00”

IR[3:0]

01”

RF_r[3:0]

10”

data[3:0]

11”

збереження попереднього значення

6. Арифметико-логічний пристрій

АЛП є комбінаційним пристроєм, який виконує певні операції над вхідними операндами. Для випадку розглядуваного мікропроцесора Gnome першим вхідним операндом АЛП (рис.4.1.1) є поточна інформація з акумулятора cur_acc, другим операндом є вихід мультиплексора MUX3, а також поточні значення ознак переносу curr_carry та нуля curr_zero. На виході блок АЛП залежно від коду операції alu_op формує результат: наступне значення акумулятора next_acc, отримане значення ознаки переносу next_carry, отримане значення ознаки нуля next_zero. Блок АЛП виконує невелику кількість операцій над 4-розрядними операндами (табл.4.1.3), що зумовлено простою системою команд мікропроцесора.

Табл.4.1.3 Множина операцій АЛП

7. Регістровий файл

Регістровий файл являє собою сукупність 16 4-розрядних регістрів загального призначення. На кожен з них надходить глобальні сигнали синхронізації та скиду. Спільна вхідна шина даних одночасно видає значення на всі 16 регістрів, а дешифратор «обирає» той регістр, якому призначені ці дані. Дешифратором керує 4-розрядна шина адресу та сигнал запису до регістрового файлу (приходить з керуючого автомату), що активізує дешифратор.

Рис.4.1.2. Схема побудови регістрового файлу

Мультиплексор активізації не потребує, тобто процес читання з регістрового файлу відбувається постійно, потрібно лише подавати адресу регістру на вхід addr[3:0]. Одночасно з виходом мультиплексора (основним виходом регістрового файлу) видаються значення регістрів R0, R14 та R15, як цього вимагає технічне завдання на проектування. Значення регістру R0 приймає участь у формуванні адреси (мультиплексор MUX1), об`єднання регістрів R14 та R15 вказує на адресу підпрограми обробки переривання і воно надходить на мультиплексор MUX2. Вихід регістрового файлу RF_r[3:0] є одним з входів мультиплексора MUX3, що працює з акумулятором.

Рис.4.1.3. Часові діаграми роботи регістрового файлу

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