Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Цикл виконання (Execute cycle - EX)




Послідовність виконання елементарних операцій, що виконуються інформаційним трактом на фазі EX, залежить від типу інструкції, які можна умовно об‘єднати в три групи: арифметико-логічні операції, операції збереження результату, операції умовних та безумовних переходів.

У групу арифметико-логічних операцій входять команди: CLEAR_C, SET_C, LOAD_IMM, ADD_IMM, LOAD_DIR, ADD_DIR, XOR_DIR, TEST_DIR. При виконанні вищенаведених інструкцій в фазі EX бере участь арифметико-логічний пристрій, результат заноситься в акумулятор. В дану групу включені команди LOAD_IMM, LOAD_DIR, оскільки запис в акумулятор виконується за участю АЛП. Код операції alu_op для АЛП формує керуючий автомат:

ACC = ACC alu_op IR[3:0] або ACC = ACC alu_op RF[IR[3:0]].

Встановлюється значення mx3 для вибору джерела для АЛП.

Групу операцій збереження результату становлять команди STORE_DIR, LOAD та STORE. При виконанні даних інструкцій у фазі EX записується вміст акумулятора в один з двох пристроїв або читається інформація з них(LOAD та STORE), а також запис у регістровий файл (команда STORE_DIR).

DEV[R0[3:0]& IR[3:0]]=ACC або

ACC=DEV[R0[3:0]& IR[3:0]] – для команд LOAD та STORE;

RF[IR[3:0]]=ACC – для команди STORE_DIR, формується сигнал we=1 для запису у регістровий файл.

В принципі можливим є читання із зовнішньої пам`яті даного з певної комірки, що адресується так: ACC=MEM[R0[3:0]&IR[3:0]].

Група операцій умовних переходів складається з команд SKIP_C, SKIP_Z, JZ.

Команди безумовних переходів представлені однією єдиною командою RET. При виконанні команди SKIP_C або SKIP_Z, при встановленому в одиницю регістра переносу C або регістра ознаки нульового результата Z відповідно, виконується збільшення поточного значення лічильника команд на одиницю:

PC = PC +1 (inc_pc=Z або inc_pc=C відповідно)

Операція умовного переходу виконується записом адреси переходу в регістр PC:

PC = R0[2:0]&IR[3:0] та визначенням сигналу jump_pc=”11”.

Команда безумовного переходу виконує такі мікродії: встановлення сигналу jump_pc=”01”, встановлення можливості обробки переривання – відповідно сигнали disable_interrupt та enable_interrupt: disable_interrupt= '0' та enable_interrupt='1';

Якщо лінія маскованого апаратного переривання утримана в 1, то скидаємо сигнал запису до регістру PC1: pc1_we<='0'; вибираємо перехід по адресі R14_15 сигналом керування jump_pc<="10" мультиплексора MUX2; та забороняємо переривання на час виконання підпрограми обробки переривання:

disable_interrupt <= '1';

enable_interrupt<='0';

Окремо стоїть команда NOP, призначення якої не виконувати протягом трьох циклів ніяких змін у стані мікропроцесора.

 

4.3 Керуючий автомат

Проектування керуючого автомата є складним та багатогранним етапом проектування, оскільки вимагає від розробника розуміння особливостей функціонування пристрою, вміння вибрати та ефективно спроектувати абстрактний автомат. Керуючий автомат — один з найважливіших блоків мікропроцесора. Спільно з генератором тактових

імпульсів, який формує сигнал синхронізації clock, керуючий автомат забезпечує проходження подій в мікропроцесорі в правильній послідовності, тобто декодування інструкції та генерацію відповідних керуючих сигналів для реалізації елементарних операцій інформаційним трактом в циклах IF, ID, EX, встановлення в початковий стан вузлів мікропроцесора при надходженні сигналу встановлення в початковий стан reset. Множину керуючих сигналів складають сигнали sel_addr, read, write, ld_ir, inc_pc, jump_pc, alu_op, pc1_we, mx3, disable_interrupt, enable_interrupt, we. Розглянемо детально, які значення керуючих сигналів формуються пристроєм керування на кожному циклі виконання інструкції.

1. Цикл вибирання інструкцій (Instruction Fetch cycle -IF)

Завантаження з пам‘яті інструкцій, інкремент значення лічильника команд PC на одиницю:

read <= '1';

ld_ir <= '1';

inc_pc <= '1';

перехід до циклу ID

2. Цикл декодування інструкції/вибирання операнда з регістрового файлу (Instruction decode/register fetch cycle - ID )

Для інструкцій LOAD та STORE, що виконують читання та запис за відповідною адресою:

if ir_r(7 downto 4)= LOAD then

sel_addr <= '1';

read <= '1';

mx3<="10";

end if;

if ir_r(7 downto 4)= STORE then

sel_addr <= '1';

write <='1';

end if;

та встановлення сигналу запису до регістру PC1 при виникненні переривання

if inter='1' then

pc1_we<='1';

end if;

перехід до циклу EX

Для решти інструкцій, які не вимагають завантаження значення з пам`яті:

sel_data_ram=0

read=0

write=0

ld_ir=0

inc_pc=0

jump_pc=00

alu_op=000 (NOP)

перехід до циклу EX




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 347; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.