Извличане на знание
/ Knowledge Discovery >> Извличане на знание >> тек >> компютър >> компютърен хардуер >>

Как Микропроцесорна техника Микропроцесорна техника Work

LOADA 128 //ако > 5 скока на 175 CONB 56 COM7 JG 178 LOADA 129 //е = е * а; 9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 //а = а + 1; 13 CONB 114 ADD15 SAVEC 12816 JUMP 4 //линия обратно към if17 STOP ROM <р> Така че сега въпросът е, " Как всички тези инструкции погледнете в ROM " Всеки един от тези езикови сглобяване инструкции трябва да бъдат представлявани от двоично число. За по-голяма простота, нека приемем всеки асемблер инструкция се получава уникален номер, подобен на този:

<Ли> LOADA - 1 | <Ли> LOADB - 2
<Ли> CONB - 3
<Ли> SAVEB - 4
<Ли> SAVEC кор - 5
<Ли> ADD - 6
<Ли> SUB - 7
<Ли> MUL - 8
<Ли> DIV - 9
<Ли> COM - 10
<Ли> JUMP адр - 11
<Ли> JEQ адр - 12
<Ли> JNEQ адр - 13
<Ли> JG адр - 14
<Ли> JGE адр - 15
<Ли> JL адр - 16
<Ли> JLE адр - 17
<Ли> STOP - 18

Числата са известни като опкодове. В ROM, нашата малка програма ще изглежда така:
//Приемаме, че един е с адрес 128 //Приемаме, че F е с адрес 129Addr Кодът /value0 3 //CONB 11 12 4 //SAVEB 1283 1284 3 //CONB 15 16 4 //SAVEB 1,297 1,298 1 //LOADA 1289 12 810 3 511 512 //CONB 10 //COM13 14 //JG 1714 3115 1 //LOADA 12916 12917 2 //LOADB 12818 12819 8 //MUL20 5 //SAVEC 12921 12922 1 //LOADA 12823 12824 3 //CONB 125 126 6 //ADD27 5 //SAVEC 12828 12829 11 //JUMP 430 831 18 //STOP <р> Може да се види, че седем линии на C код станаха 18 линии за сглобяване език, а това стана в 32 байта ROM.
Decoding <р> декодер инструкция трябва да се обърне всеки от опкодовете в набор от сигнали, които управляват различните компоненти във вътрешността на микропроцесора. Нека вземем поука ADD като пример и да разгледаме какво трябва да направите:
<ол> <ли> По време на първия тактов цикъл, ние трябва да се зареди всъщност инструкцията. Затова декодер за експлоатация трябва да: активира три състояние буфер за програмата брояч активирате RD линия активирате данни в три състояние буфер лостчето на инструкцията в регистъра инструкция
<Ли> По време на втория часовник цикъл ДОБАВИ инструкция се декодира. Необходимо е да се направи много малко: настроите работата на ALU да засуче допълнение на изхода на ALU в C регистъра
<Ли> По време на третия тактов цикъл, програмата брояч се увеличава (на теория това би могло да се припокриват в вторият часовник цикъл).

<р> Всеки инструкции могат да бъдат разделени като набор от последователно подредени операции като тези, които манипулират к

Page [1] [2] [3] [4] [5] [6] [7] [8] [9]