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 |
80C186EA |
80C186EB |
80C186EC |
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ő
|
✓
|
✓
|
✓
|
✓
|
időzítő (timer unit) |
✓ |
✓ |
✓ |
✓ |
chipválasztó egység |
✓
|
✓
|
✓
|
✓
|
DMA vezérlő |
✓
|
✓
|
–
nincs
|
✓
|
soros kommunikációs egység |
–
nincs |
–
nincs |
✓ |
✓ |
memóriafrissítő |
✓
|
✓
|
✓
|
✓
|
–
nincs |
–
nincs |
–
nincs |
✓ |
|
I/O portok
|
–
nincs
|
–
nincs
|
✓
|
✓
|
Ó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