Back

ⓘ Инструкцијски циклус




Инструкцијски циклус
                                     

ⓘ Инструкцијски циклус

Инструкцијски циклус је основна операција циклуса рачунара. То је процес путем којег рачунар преузима инструкције програма из своје меморије, одређује које радње инструкција захтева, и извршава те радње. Овај циклус се стално понавља помоћу процесора, из покретача оперативног система када је рачунар искључен.

                                     

1. Употреба циклуса

Циклуси који се користе у процесору током процесорског циклуса су:

  • Меморијски регистар за податке MDR - двосмерни регистар који садржи податке преузете из меморије и спремне да их процесор обради или садржи податке који чекају да буду сачувани у меморији.
  • Аритметичко-логичка јединица ALU - обавља математичке и логичке операције.
  • Меморијски адресни регистар MAR - држи адресу блока меморија која треба да се прочита или упише.
  • IP процесор PC - бројач за повећање који бележи меморијску адресу инструкције која следећа треба да се изврши.
  • Управљачка јединица CU - декодира инструкцију програма у IR, селектује мешинске ресурсе као што су регистар извора податка и одређене аритметичке податке, и координира активацијом тих података.
  • Регистар за инструкције IR - привремемо држи терен за инструкцију која је управо преузета из меморије.

Сваки процесор може да има различите циклусе засноване на различитом скупу инструкција, али ће бити слични следећем циклусу:

1. Преузимање инструкција

Следећа инструкција је преузета из меморијске адресе која се тренутно чува у IP процесор PC, и чува се у регистру за инструкције IR. На крају операције преузимања, PC указује на следеће инструкције које ће бити прочитане у следећем циклусу.

2. Декодирање инструкције

Декодер тумачи инструкцију. Током овог циклуса инструкција унутар IR инструкцијског регистра је декодирана.

3. У случају меморијске инструкције директне или индиректне фаза извршења ће бити у следећем такту.

Ако инструкција има индиректни приступ, ефективна адреса се чита из главне меморије, и било који захтевани подаци су преузети из главне меморије да би се обрадили и онда ставили у регистре података Такт: T 3. Ако је инструкција директна, ништа није учињено на том такту. Ако је у питању У/И инструкција или инструкција регистра, операција се одвија извршава на такту.

4. Извршавање инструкције

Контролна јединица процесора пролази декодиране информације као низ контролних сигнала на релевантне јединице функција процесора да би извршила радње које су захтеване од стране инструкција, као што су читање вредности из регистара, пролазећи кроз ALU да би извршила математичке или логичке операције на њима, и уписује резултат назад у регистар. Ако је ALU укључена, она шаље условни сигнал назад на процесор.

Генерисани резултат је сачуван у главној меморији, или послат на неки излазни уређај. На основу стања било какве повратне информације од ALU, програмски бројач може да се ажурира на другу адресу од које ће следећа инструкција бити преузета.

Циклус се затим понавља.

                                     

2. Започињање циклуса

Циклус почиње одмах када се укључи напајање система користећи почетну PC вредност која је унапред дефинисана за архихектуру система. Типично ова адреса указује на инструкције у ROM-у који почиње процес учитавања оперативног система. Тај процес учитавања се зове booting.

                                     

3. Циклус доношења

Корак 1 Инструкцијског циклуса се зове Циклус доношења. Ови кораци су исти за сваку инструкцију. Циклус доношења обавља инструкцију из речи инструкције која садржи код операције.

                                     

4. Декодирање

Корак 2 инструкцијског циклуса се зове декодирање. Код операције донет из меморије се декодира за наредне кораке и премешта се у одговарајуће регистре.

                                     

5. Читање ефективне адресе

Корак 3 одлучује која је то операција у питању. Ако је меморијска операција - у овом кораку рачунар проверава да ли је то директна или индиректна меморијска опрерација:

  • Директна меморијска инструкција - Ништа се не дешава.
  • Индиректна меморијска инструкција - Ефективна адреса се чита из меморије.

Ако је у питању У/И или инструкција регистра - рачунар проверава ту врсту и извршава инструкцију.

                                     

6. Циклус извршавања

Корак 4 Инструкцијског циклуса је Циклус извршавања. Ови кораци ће се мењати са сваком инструкцијом.

Подаци се преносе између CPU и У/И модула. Даље, аритметичке и логичке операције дате у инструкцијама се извршавају на основу података, као и друге инструкције, као што су скакање на другу локацију на програмском бројачу.

                                     
  • истовремено извршавати у било којој фази проточне обраде у датом инструкцијском циклусу Код временске вишенитне обраде је једна, док је код симултане више
  • се користи код процесора високих перформанси да би искористили инструкцијске циклусе који би, у супротном, били неискоришћени због неког одређеног типа
  • хијерархију. Они су имали 16 KB инструкцијског кеша првог нивоа и 16 KB кеша података првог нивоа. L2 кеш је уједињен  инструкцијски и за податке и има 256 KB
  • циклуса кеша, енергије и простора. Ови алати укључују и отворени - изворни CACTI кеш симулатор и отворени - изворни SimpleScalar симулатор инструкцијског
  • архитектуром од 1980 - их до 1990 - их. Модерни процесори имају вишефазне инструкцијске цевоводе. Свака фаза у цевоводу одговара различитој акцији коју процесор
  • mašina MARK I. Mašina je imala 72 reči sa po 23 decimalna mesta, i instrukcijski ciklus je trajao 6 sekundi. Kao ulazno izlazne jedinice, korišćene su bušene
  • VLIW - а, концепт прерасподеле функционалних јединица и паралелизма на инструкцијском нивоу у софтверу је био добро познат у пракси развоја хоризонталног
  • 16 - битни регистри опште намене, базни регистар, индексни регистар, инструкцијски показивач, и FLAGS регистар, али не и сегментни регистри, су проширени
  • писати у фајл преименовања. Број ознаке се обично серијски алоцира у инструкцијском редоследу. Није потребан free tag FIFO, Као и са шемом са означеним