Registr rejstříku - Index register

Zobrazení rejstříkového rejstříku na sálovém počítači IBM 7094 ze začátku 60. let.

Registr index v dané počítače CPU je registr procesoru nebo postoupena pamětóvé použity pro modifikaci operand adresy během běhu programu. To se ukázalo jako užitečné při provádění operací vektor / pole a při komerčním zpracování dat pro navigaci z pole do pole v rámci záznamů. V obou případech indexové registry podstatně snížily množství použité paměti a zvýšily rychlost provádění.

Obsah rejstříku rejstříků se přidá (v některých případech odečte) od okamžité adresy (adresy, která je součástí samotné instrukce), aby se vytvořila „účinná“ adresa skutečných dat (operandu). K testování indexového registru se obvykle poskytují speciální pokyny, a pokud test selže, zvýší indexový registr o okamžitou konstantu a větve, obvykle na začátek smyčky. Některé sady instrukcí umožňují použití více než jednoho indexového registru; v takovém případě další pole instrukcí určují, které rejstříky se mají použít. Zatímco běžně procesory, které umožňují instrukci specifikovat více indexových registrů, přidávají obsah dohromady, IBM měla řadu počítačů, ve kterých byl nebo byl obsah společně.

V raných počítačích bez jakékoli formy nepřímého adresování musely být operace s poli prováděny úpravou adresy instrukce, což vyžadovalo několik dalších kroků programu a spotřebovalo více paměti počítače, což je vzácný zdroj v počítačových instalacích rané éry (stejně jako v rané mikropočítače o dvě desetiletí později).

Dějiny

Registry rejstříků, které se v počátcích britských počítačů běžně označují jako linie B, byly poprvé použity v počítači britského Manchesteru Mark 1 v roce 1949. Obecně se rejstříky registrů staly standardní součástí počítačů během druhé generace technologie, zhruba v letech 1954–1966 . Většina strojů z řady sálových počítačů IBM 700/7000 je měla, počínaje IBM 704 v roce 1954, ačkoli u některých menších strojů, jako jsou IBM 650 a IBM 1401 , byly volitelné .

Rané „malé stroje“ s rejstříky indexů zahrnují AN / USQ-17 , kolem roku 1960, a 9 sérií počítačů v reálném čase od Scientific Data Systems , od počátku 60. let.

Zatímco Intel 8080 umožňoval nepřímé adresování prostřednictvím registru, zdá se , že prvním mikroprocesorem se skutečným indexovým registrem byla Motorola 6800 a podobná MOS Technology 6502 dobře využila dva takové registry.

Moderní návrhy počítačů obecně neobsahují vyhrazené rejstříky indexů; místo toho umožňují, aby jakýkoli registr pro obecné účely obsahoval adresu, a umožňují konstantní hodnotu a na některých strojích k němu přidat obsah jiného registru jako offset pro vytvoření efektivní adresy. Časné počítače navržené tímto způsobem zahrnují PDP-6 a IBM System / 360 .

Příklad

Zde je jednoduchý příklad použití indexového registru v pseudokódu montážního jazyka, který sečte 100 vstupních polí 4bajtových slov:

   Clear_accumulator
   Load_index 400,index2  //load 4*array size into index register 2 (index2)
loop_start : Add_word_to_accumulator array_start,index2   //Add to AC the word at the address (array_start + index2)
   Branch_and_decrement_if_index_not_zero loop_start,4,index2   //loop decrementing by 4 until index register is zero

Viz také

Poznámky

Reference