Инструкции в компютрите и информатиката. УУ, АЛУ, КОП, ОП

Инструкции. Управляващо Устройство, Аритметико-Логическо Устройство, Kод на операцията, Оперативна памет.

Инструкциите или т.нар команди съответстват на операциите на Асемблер или машинен език. До тях /инструкциите/ се свеждат програмите писани на езици от високо ниво посредством транслатори и компилатори. Инструкциите се представят като поредица от битове и могат да бъдат с фиксирана или променлива дължина.

Инструкцията има следния формат:
КОП | A1 | A2 | A3 |,
където КОП е двоичният код на операцията, а А1, А2, А3 са операнди.

Операциите биват няколко вида:
Data transfer – прехвърляне на данни от едно място на друго. Операциите могат да са

  • RR регистър – регистър
  • RX регистър – адресация – памет 
  • RS регистър – памет
  • SI памет – непосредствен операнд
  • SS памет – памет
  • S едноадресна операция
Arithmetic – изпълняват се в АЛУ.
Logical – булеви операции – AND, OR, NOT.
Conversion – операции, променящи формата на данните /пр. от 2-ични в 16-ични/.
I/O - инструкции за вход изход.
System Control – привилегировани инструкции, когато централния процесор е в привилегирован режим /пр. когато се чете или пише в контролните регистри/.
Transfer Control – последователността на инструкциите.

Формат на командите
В процесора има cache памет състояща се от 16 регистъра от по 32 разряда.

RR – формат /регистър – регистър/
| КОП | R1| R2|
R1, R2 регистри, адресират се в 16-чна броина с-ма. Адресният регистър е 32 разреден, резултатът от операцията се записва на първия адрес.
Операциите регистър – регистър са най-бързи.

RX – формат /работи с паметта на машината/
| KOП | R1 | X2 | B2 | D2|
R1 поле на общ регистър, А2 е адрес на 2-я операнд, от D2 взема записаното число
А2 = (Х2) + (В2) + D2. Събира се съдържанието на R1 и A2 /този адрес се намира в опративната памет/ и съдържанието се записва в R1.

SI – инструкция с непосредствен операнд /Storage immediate/
| КОП | I | B1 | D1 | I - нашият операнд
А1 = (В1) + D1
A1 → b
b – операндът, чийто адрес е в А1

SS – при формата Storage – Storage и 2-та операнда са в паметта
| КОП | L1 | L2 | B1 | D1 | B2 | D2|
А1 = (В1) + D1
А2 = (В2) + D2
L1, L2 показват дължината на операндите – мах дължина 2^n
A1 → а, A2 → b - намираме а и b в паметта в зависимост от дължината на L1

S– едноадресна команда
| КОП | B1 | D 1 |

Естествния ред на изпълнение на инструкциите е последователния – по принципа на Фон Нойман. Това се променя ако има циклична операция, проверка на условие, или ако тази промяна е зададена в специален операнд на инструкцията. Това е възможно защото инструкциите имат един операнд указваш адреса на следващата инструкция.
Операндите могат да бъдат от следние типове – адреси, числа, символи, логически данни и специализирани типове данни или структури данни.

Инструкциите се изпълняват по следния начин

  • извлича се команда от ОП
  • дешифрира се КОП
  • извлича се операнда
  • изпълняват се поредната операция
  • запазва се резултата
  • преминава се към следващата инструкция

Адресация

В инструкциите има 2 адреса за операнди, 1 за резултат, 1 за следващата инструкция и КОП. Общо са максимално 4 но най-често се срещат по 2-3.

брой адреси     символно    интерпретация    
3OP, A, B, CA ← B OP C
2OP, A, BA ← A OP B
1OP, AAC ← AC OP A
0OPT ← T OP (T-1)

Техники за адресация:

ВидАлгоритъмПреимуществаНедостатъци
непосредственОperand = Aняма обръщение към паметтаограничени стойности
директенДА = Апростотаограничено адресно пространство
индиректенДА = (А)голямо адресно пространствомного обръщения към паметта
регистърДА = Rняма обръщение към паметтаограничено адресно пространство
регистър индиректен?ДА = (R)голямо адресно пространствообръщения към паметта
изместванеДА = А + (R)гъвкавостсложност
стекДА = тоp of stackняма обръщение към паметтаограничена приложимост

T – top of stack
3-адресни инструкции – SUB, ADD, MPY, DIV
2-адресни инструкции – МOVE, SUB, MPY, ADD, DIV
1-адресни инструкции – LOAD, STORE, SUB, ADD, DIV, MPY
По-малко адреси за инструкцииапо примитивни инструкцииапо-опростен процесор.Повече адресиаповече време за изпълнениеапо-сложни програми.

А – адрес на операнда, ДА – действителен адрес на операнда, (Х) – съдържание на адреса Х.

Проектиране на множество инструкции:

  • колко и какви операции ще има
  • типове данни, върху които ще се изпълняват операциите
  • формат – дължина в битове, брои адреси, размер на полетата
  • регистри - колко на брой и за какво ще се използват
  • начин на адресиране

Адресна машина - схема

Адресна машина схема

P1, P2 – регистри, ИР – информационен регистър, СМ – суматор
ВР – входен регистър, Из Р – изходен регистър, Бр И – брояч на инструкциите
D – дешифратор, АР – адресен регистър

Коментари: