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

Intel

80186

Az Intel 80186 egy 1982-ben megjelent mikroprocesszor és mikrokontroller. Felépítése az Intel 8086 processzoron alapul, ahhoz hasonlóan 16 bites külső adatbusza van, amit egy 20 bites címbusszal multiplexel. Ennek egy 8 bites külső adatbusszal készült változata 80188 néven került forgalomba. Ezeket a processzorokat főleg beágyazottt rendszerekbe szánták. A processzorok a 8086-hoz képest bővített utasításkészlettel rendelkeznek, különféle beépített perifériákat tartalmaznak: időzítőket, DMA-vezérlőt, megszakításvezérlőt és másokat; a változatokban kissé eltér a perifériák készlete. Az Intel 2007-ben megszüntette a gyártását, de helyettesítő csipek még kaphatók.

Története:
Az Intel 1982-ben jelentette meg a 80186 jelű beágyazott mikroprocesszort, amely a javított i8086-os mag mellett kiegészítő modulokat is tartalmaz, amelyek átveszik a külső támogató áramkörök feladatait; a processzor NMOS technológiával készült.
A technológiai fejlődés következtében az Intel 1987-ben kibocsátotta az i186 processzorok második generációját, az Intel 80C186-os processzorokat. Ezek a processzorok javított CHMOS III folyamattal készültek, ami az általános méretcsökkenés és egyéb tulajdonságok javulása mellett lehetővé tette az órajel kétszeresére való növelését és a fogyasztás egynegyedére való csökkentését. A lábkiosztás változatlan maradt.
1990-ben az Intel az i186-osok újabb sorozatát bocsátotta ki, ez az Intel 80С186EB, amely igen sok változást tartalmaz az előzőekhez képest. A processzormagot teljesen újratervezték, ami most modulárissá vált és a „80C186 Moduláris Mag” (80C186 Modular Core) elnevezést kapta. A támogató áramköröket szintén újratervezték, azokat szabványos interfész-modulokká alakították. A 80C186EB processzor más támogató áramköröket tartalmaz, mint az eredeti 80186. Az újabb CHMOS IV folyamatra való áttérés és a moduláris technológia következtében csökkent az energiafelvétel és a disszipáció. Az i80C186EB processzort mobil eszközökben alkalmazták, pl. mobiltelefonokban.
1991-ben az Intel folytatta a sorozatot és megjelentette a 80C186 XL, 80C186 EA és 80C186 EC jelű processzorokat. Ezek szintén az i80C186 moduláris magon alapultak. Az i80C186XL processzor jellemzője a nagy teljesítmény alacsony fogyasztás mellett. Az i80C186EA processzor i80C186 magot tartalmaz és az energiafelvételt szabályozó lehetőségekkel van ellátva (teljesen statikus mag, energiatakarékos, tétlen és „tápfeszültség ki” üzemmódok). Az i80C186EC a többi processzorából hiányzó perifériákat is tartalmaz.
Az Intel összesen négy utótag-jelölést alkalmazott a 186-osok CMOS sorozatában: XL, EA, EB, EC. A 80C186XL és 80C188XL modellek alapverziók, kis eltéréssel megegyeznek a korábbi 80186/80188 modellekkel. A legfejlettebb változat az EC jelű. Az EB sorozat csipjeiből hiányzik az energiatakarékos „zöld” üzemmód és a DMA vezérlő, az I/O portok 16 bitesek. Az EC sorozat csipjeiben megvan a watchdog időzítő, a DMA-vezérlő 4 csatornás, az I/O portok ezekben 22 bitesek. Az XL és EA sorozat csipjeiből hiányzik a watchdog és a soros kommunikációs egység, az XL modellekben nincs „tápfeszültség ki” (power down) üzemmód.

Jellemzők:
A 80186-os sorozatot főleg beágyazott rendszerekhez és külső memóriát használó mikrovezérlőkhöz tervezték. Ezért tehát a járulékos IC-k számának csökkentése érdekében több speciális beágyazott egységet kapott, mint pl. órajelgenerátor, megszakításvezérlő, időzítők, várakozási állapot-generátor (wait state generator), DMA csatornák és külső chip-választó vonalak.
Kezdetben a 80186 processzor 6 MHz-es órajelen működött, de mivel a benne lévő mikrokód nagyobb helyet kapott, különösen a címszámításra vonatkozó részek, emiatt sok egyedi utasítást ez a processzor gyorsabban hajtott végre, mint egy azonos órajelű 8086-os processzor. Például az igen gyakori register+immediate címzési mód jelentősen gyorsabb volt, mint a 8086-osban. A szorzás és osztás is jelentős gyorsulást mutatott: négyszer olyan gyors lett, mint a 8086-osban, és a sokbites eltolásokat is hasonlóan majdnem négyszer gyorsabban hajtotta végre a processzor.
A 80186-osban néhány új utasítást vezettek be (a kibővített utasításkészletre néhány helyen 8086-2 jelöléssel hivatkoznak): enter/leave (több utasítást fog össze, a veremekeretek kezelésénél hasznos), pusha/popa (push/pop az összes regiszterre), bound (tömbindex-ellenőrzés: tömbhatáron belül esik-e), és az ins/outs utasítások (string input/output). A push, imul és a sokbites eltolás utasítások kaptak egy hasznos közvetlen (immediate) címzési módot. Ezek az utasítások és címzési módok a 80286-os és későbbi processzorokban is megvannak.
A 80186-os újratervezett CMOS verziója volt a 80C186 jelű processzor; ebben bevezették a DRAM frissítést, az energiatakarékos üzemmódot, és direkt interfészt az Intel 8087-es vagy 80187-es matematikai koprocesszorhoz.

A 80186/80188 változataiba beépített egységek és bővítmények:

Feladat

80C186XL
  80C188XL

80C186EA
  80C188EA

80C186EB
  80C188EB

80C186EC
  80C188EC

bővített utasításkészlet

 

 

 

 

energiatakarékos (zöld) üzemmód

 

 

 – nincs

 

power down” üzemmód

 – nincs

 

 

 

80C187 interfész

 

 

 

 

ONCE mód

 

 

 

 

megszakításvezérlő

 
 

 
 

 
 

 
8259-szerű

időzítő (timer unit)

 

 

 

 

chipválasztó egység
 (chip selection unit)

 
 

 
 

 
bővített

 
bővített

DMA vezérlő

 
2 csatornás

 
2 csatornás

 – nincs
 

 
4 csatornás

soros kommunikációs egység

 – nincs

 – nincs

 

 

memóriafrissítő
 (refresh controller)

 
 

 
 

 
bővített

 
bővített

watchdog timer

 – nincs

 – nincs

 – nincs

 

I/O portok

 – nincs
 

 – nincs
 

 
16 bites

 
22 bites

Órajelgenerátor:
A 80186/80188 mikroprocesszorok tartalmaznak beépített órajelgenerátort, amely a 8086/8088-as rendszerekben a külső 8284A áramkört helyettesíti. Ezt egy külső kristály vezérli, amely a processzor órajelfrekvenciájának kétszeresén rezeg, tehát pl. 8 MHz-es processzorhoz 16 MHz-es kristályt kell csatlakoztatni. A processzor órajele ki van vezetve, amely a többi külső áramkört vezérelheti. A 80186/80188 processzorok órajele 6, 8, 12, 16 vagy 25 MHz lehet.

Programozható megszakításvezérlő
Angolul: programmable interrupt controller, PIC
Kezeli az összes belső és külső megszakítást és max. 2 külső 8259A PIC kapcsolható hozzá – ilyenkor a beépített vezérlő a mester szerepet kapja, a külső vezérlők pedig a szolgák. Bővítés nélkül, alapból 5 megszakítási szintet kezel: INT0 – INT3 és NMI, ami a legtöbb rendszerben elegendő. Az EC jelű csipekben két beépített 8259A PIC van.

Időzítők:
A timer rész 3 teljesen programozható 16 bites időzítőt tartalmaz. A Timer 0 és 1 külső felhasználású hullámformákat generál, és a processzor mester-órajele hajtja vagy külső órajelet kaphat. Külső események számlálására is használhatók. A harmadik időzítő, a Timer 3 egy belső időzítő és a mester órajel vezérli. A Timer 2 megszakítást generál meghatározott számú órajelütem után és időjelet szolgáltathat a többi időzítőnek. A Timer 2 watchdog időzítőként is használható, mivel megszakítás kiadására programozható egy bizonyos idő lejártával.

Programozható DMA egység:
A programozható DMA egység két DMA csatornát tartalmaz vagy négyet a 80C186EC/80C188EC modellekben. Minden csatorna képes adatokat mozgatni a memóriában (két memóriaterület között), a memória és I/O portok között, vagy csak I/O portok között. A DMA vezérlő a 8237 DMA vezérlőre hasonlít, a különbség csak annyi, hogy a 8237 eleve 4 csatornás, mint az EC modellben.

Programozható lapkaválasztó egység:
(Angolul: programmable chip selection unit)
A lapkaválasztó egység egy beépített programozható memória- és I/O dekóder. 6 kimeneti vonala van a memória, 7 kimeneti vonala I/O portok kiválasztására az XL és EA modellekben, és 10 közös memória és I/O választó vonala az EB és EC modellekben.
Az XL és EA modellekben a memóriaválasztó vonalak 3 csoportra vannak osztva amelyek a 80186/80188 memóriatérkép három fő részét választják ki. Az alsó memóriaválasztó vonal a megszakítási vektorok memóriaterületét, a felső memóriaválasztó vonal a reset memóriaterületét, a középső vonalak négy fő közbeeső memóriaterület választását vezérlik. A memória alsó határa a 00000H, felső határa az FFFFFH címen van, a memóriaterületek mérete beállítható, a várakozási állapotokat (0-3 között) automatikusan közbeiktatja a terület kiválasztásakor.
Az XL és EA modelleknél minden programozható I/O vélasztóvonal egy 128 bájtos I/O mezőt címez. A programozható I/O mező kezdetét a felhasználó állítja be, és a 7 128 bájtos blokk folytonos.
Az EB és EC modelleknél van egy felső és alsó memóriacsip-választó vonal és nyolc általános memória vagy I/O csip választó vonal. Ezeknél 0-15 várakozási állapot programozható.

Energiatakarékos és kikapcsolt üzemmód:
(Angolul: power save/power down feature)
Az energiatakarékos üzemmód az órajel 4, 8 vagy 16-tal való osztásával megengedi a rendszer lelassítását és ezáltal az energiafogyasztás csökkentését. Ez az üzemmód szoftverből kezdeményezhető és egy hardveresemény szünteti meg, pl. egy megszakítás.
A kikapcsolt üzemmódban az órajel teljesen megszűnik (megáll); ez az üzemmód nem elérhető az XL verzióban. Ezt szoftverből a HLT (halt, megállás) utasítással lehet kezdeményezni és bármely megszakítás megszünteti.

Memóriafrissítés-vezérlő:
(Angolul: refresh control unit)
A frissítés-vezérlő egység generálja a frissítési sorcímet a beállított időintervallumokban. A frissítés-vezérlő egység nem multiplexeli a DRAM címeket, ez továbbra is a rendszer tervezőinek feladata. A frissítési cím a beprogramozott intervallum végén adódik át a memóriarendszernek a RFRSH vezérlőjellel együtt. A memóriarendszernek a RFRSH vezérlőjel ideje alatt kell futtatnia a memóriafrissítési ciklust.

ONCE mód:
Az ONCE (on-circuit emulation) üzemmód leválasztja a teljes csipet a környező áramkörről, anélkül, hogy azt el kellene távolítani a foglalatából és lehetővé teszi a processzor és az áramkör tesztelését. Ez igen hasznos a foglalatba forrasztott csipek tesztelésénél.

Az Intel 80186 néhány technikai adata:
    -Megjelent: 1982
    -CPU architektúra: CISC
    -Órajel, MHz*: 6, 8, 10, 12, 13, 16, 20, 25
    -Regiszterek mérete: 16 bit
    -Adatsín mérete: 16 bit
    -Címsín mérete: 20 bit
    -Címezhető memória: 1 MiB
    -Technológia: NMOS, később CMOS (80C186/80C188)
    -Gyártási folyamat: 2 μm
    -Chip mérete, mm²: ?
    -Tranzisztorok száma: 55 000
    -Tápfeszültség: 2,9~3,3 V
    -Foglalat: alaplaphoz forrasztva

Eszközök Intel 80186-tal "hajtva":
Tandy TRS-80 Model 2000

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