Processzorok fejlődése, működése
(Intel 80486-ig)

Intel

4040

Az Intel 4040 a 4004-es utódja, az MCS-4 családba tartozik illetve az MCS-40 lapkakészlet tagja. 1974-ben mutatták be. Az elődjéhez hasonlóan 4 bites és 10μm-es szilíciumkapus PMOS technológiával készült. Elődjével összehasonlítva 14 új utasítást, nagyobb (8 szintes) vermet, 8 új regisztert és megszakítási rendszert kapott, a programtár méretét 4 KiB-ről 8 KiB-ra növelték benne. Több mint 3000 tranzisztorból áll és körülbelül 60 000 utasítás végrehajtására képes másodpercenként, 92 000 utasítás végrehajtására egyszavas (nyolcbites) utasítások esetén. Utasításkészlete főleg a BCD aritmetikát támogatja.
Főleg játékokban alkalmazták, valamint beágyazott alkalmazásokban: műszerekbe, POS-terminálokba, fejlesztő- és felügyelőberendezésekbe került beépítésre. Az 1970-es évek elején forgalmazott Intellec 4/Mod 40 (Intellec 4/40) fejlesztőrendszer processzora is Intel 4040-es volt.
Gyártását egészen 1981-ig folytatták, főleg a Fülöp-szigeteken készült.

Tervezők:
A projektet Federico Faggin javaslatára indították, az architektúrát az ő elvei alapján tervezték és ő volt a projekt vezetője is. A részletes terveket Tom Innes dolgozta ki.

Újítások:
    -megszakítások kezelése (interrupt)
    -kibővített utasításkészlet (60 utasításra)
    -lépésenkénti végrehajtás üzemmód (single step)
    -8 KiB-ra bővített programmemória
    -24 regiszter
    -7 szint mélységű szubrutin kezelés

A processzor lényegesebb jellemzői:
    -adatbusz: 4 bites
    -címbusz: 4 bites
    -órajel: 740 KHz
    -üzemi feszültség: +15V
    -adatmemória mérete: 640 byte
A processzor egy négybites párhuzamos kialakítású CPU.
A processzor egy négybites kétirányú busszal rendelkezik, ezek a D0-D3 kivezetések. Az adatok és a címek is ezen a buszon közlekednek. A címek 8 bitesek, az adatok 4 bitesek. A 4040 processzorra épülő rendszerekben megkülönböztetik a ROM és RAM memóriákat; a címzést még a 2 "CM ROM" és 4 "CM RAM" memóriabank-kiválasztó vonal segíti.
A processzor az adatmemóriát a programmemóriától eltérően kezeli. Az adatmemória mérete 640 byte, az adathozzáférés az I/O portokhoz hasonlóan történik; egy utasítás beírja a processzorba a memóriarekesz címét, és a rákövetkező író vagy olvasó utasítás az akkumulátorba, vagy abból a memóriába írja az adatot.
A processzor ALU-ja 4 bites, ennek bemenete egy akkumulátor és egy ideiglenes regiszter. A műveleteknél kezeli a decimális kiigazítást, és az átvitelbit (carry) ki van vezetve a processzor "CY" lábára.
A processzor 16 4 bites bemeneti portot, és ugyancsak 16 4 bites kimeneti portot tartalmaz.
A CPU utasításszava 8 bites, az utasítások egy- vagy kétszavasak (8 vagy 16 bitesek) lehetnek. A kétszavas utasításoknál a második szó általában egy cím. A processzor 4 KiB utasításszót (4×1024 bájtot) tud megcímezni egy memóriabankon belül, és 8 KiB utasításszót – két 4 KiB-os bankot – bankváltással.
A processzor programszámlálója (program counter) 12 bites. A programszámláló mellett a processzor tartalmaz egy belső 7 elemű veremtárat; ez a kiépítés max. 7 mélységű egymásba ágyazott szubrutinhívást enged meg.
A processzor 24 db. 4 bites regisztert tartalmaz, amelyek 12 8 bites regiszterként is használhatók; a regiszterek indexként használhatók.
A processzor képes egy kívülről jövő programmegszakítási kérelmet kezelni (INT, INT ACK lábak), amely után a programok szabályosan folytatódnak.
Utasításszinten és elektromos jellemzőiben is kompatibilis elődjével, a 4004-es processzorral. A processzor disszipációja 1 watt, kétfázisú külső órajelet igényel.

Támogató áramkörök:
    -4201 – órajelgenerátor, 500-tól 740 kHz-ig, 4—5,185 MHz-es kristályokkal
    -4308 – 1 KiB ROM
    -4207 – általános célú bájtos kimeneti port
    -4209 – általános célú bájtos bemeneti port
    -4211 – általános célú bájtos ki/bemeneti port (I/O port)
    -4289 – szabványos memória-interfész (a 4008/4009 felváltására)
    -4702 – 256 bájt UVEPROM
    -4316 – 2 KiB ROM
    -4101 – 256 × 4 bites RAM

 

Történelem    Működés    Kronológia    4004    4040    8008    8080    8085    8086    8088    80186    80286    80386    80486