Registr rejstříku - Index register
![]() | tento článek potřebuje další citace pro ověření.Prosince 2009) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
An rejstřík rejstříku v počítači procesor je registr procesoru nebo přiřazené místo v paměti[1] slouží k úpravám operand adresy během běhu programu. To se ukázalo jako užitečné 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á k (v některých případech odečte) od bezprostřední adresa (ta, která je součástí samotné instrukce) pro vytvoření „efektivní“ adresy 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ějaký instrukční sady povolit použití více než jednoho rejstříku registrů; v takovém případě další pole instrukcí určují, které rejstříkové registry se mají použít.[2] 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ě.[3]
V raných počítačích bez jakékoli formy nepřímé adresování, operace pole musely být provedeny uživatelem upravující adresu instrukce, která vyžadovala několik dalších kroků programu a spotřebovala více paměti počítače,[4] vzácný zdroj v počítačových instalacích rané éry (stejně jako v raných mikropočítačích o dvě desetiletí později).
Dějiny
Rejstříkové registry, běžně známé jako linie B v časných britských počítačích, byly poprvé použity v USA britský Manchester Mark 1 computer, in 1949. Indexové registry se obecně staly standardní součástí počítačů během druhé generace technologie, zhruba v letech 1954–1966. Většina[A] stroje v IBM 700/7000 mainframe série je měla, počínaje IBM 704 v roce 1954, i když u některých menších strojů, jako např IBM 650 a IBM 1401.
Rané „malé stroje“ s rejstříky indexů zahrnují AN / USQ-17 kolem roku 1960 a Řada 9 z počítače v reálném čase z Vědecké datové systémy, od počátku 60. let.
Zatímco Intel 8080 povoleno nepřímé adresování prostřednictvím registru, první mikroprocesor se skutečným rejstříkovým indexem se zdá být Motorola 6800 a podobně Technologie MOS 6502 dobře využil 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 // načíst 4 * velikost pole do indexového registru 2 (index2) loop_start: Add_word_to_accumulator array_start, index2 // Přidat do AC slovo na adrese (array_start + index2) Branch_and_decrement_if_index_not_zero loop_start, 4, index2 // loop2start o 4, dokud indexový registr není nulový
Viz také
Poznámky
- ^ The 702, 705 a 7080 neměl rejstříkové registry.
Reference
- ^ „Pokyny: Slova rejstříku“ (PDF). IBM 7070-7074 Principy provozu (PDF). IBM. 1962. str. 11. GA22-7003-6.
- ^ Referenční příručka IBM 709, formulář A22-6501-0, 1958, s. 12
- ^ IBM 7094 Principy provozu (PDF). Páté vydání. IBM. 21. října 1966. A22-6703-4.
- ^ IBM 1401 Reference manual, Form A24-1403-4, 1960, str. 77