Sunteți pe pagina 1din 21

MinisterulEducaiei,TineretuluiiSportuluiRM

UniversitateaTehnicaMoldovei
FacultateaCalculatoare,InformaticiMicroelectronic

ProiectdeCurs
LaobiectulUnitiCentralealeCalculatoarelor

ConectareacipurilorROMi
RAMlamicroprocesorulIntel
8086

Executatde:studentulTI091F/R
CebotariIon
Verificatde:LectorSuperior
ColesnicV.

Chiinu2011

Coninut

Coninut............................................................................................................................1
1. ArhitecturamicroprocesoruluiIntel8086..............................................................2
1.1.Memoria...............................................................................................................2
1.2.
Intreruperile..........................................................................................3
1.3.
Regitrii................................................................................................4
1.4.
Setuldeinstruciuni..................................................................................7
1.5.
Moduriledeadresareamemoriei.............................................................7
2. Descriereaiconfiguraiapinurilormicroprocesorului8086..................................8
2.1.
Lucrulmagistraleidedate.........................................................................9

2.2.

Descriereapinurilormicroprocesorului8086.................................9

2.3.
Lucrulnmodminim..............................................................................11
2.4.
Interfaamicroprocesorului8086nmodminim....................................14
3. Implementareaproiectuluidecurs..........................................................................17
3.1.
ConectareaROM....................................................................................18
3.2.
ConectareaRAM....................................................................................19
Concluzie................................................................................................................22
Anex:Schemaconectrii

Arhitecturamicroprocesorului8086
Memoria
Blocuriledememorieutilizatepentruprogram,dateistackocupacelaispaiun
memorie.Memoriatotalutilizabilestede1MB,dardeoarecemajoritateainstruciunilor
utilizatedeprocesorfolosescpointeride16bii,sepotutilizaefectivdoar64KBdin
memorie.Pentruautilizamemoriamaimarede64KB,microprocesorulutilizeazregitri
specialidesegment,undesegmentelespecialedecod,dateistivsuntpoziionatencadrul
acestor1MBdememorie.
Pointereleidatelede16biisuntpstratenfelulurmtor:

Adres:bytedeordinjos

Adres+1:bytedeordinnalt

Adreselede32debiisestocheaznformatulsegment:offset:

Adres:Octetderangjosalsegmentului

Adres+1:Octetderangnaltalsegmentului

Adres+2:Octetderangjosaloffsetului

Adresa+3:Octetderangnaltaloffsetului

Adresafizicadresatprinintermediulutilizriiperechiisegment:offsetsecalculeaz
nfelulurmtor:
Adres=(<segment>*16)+<offset>)
Memoriadeprogram:Programulpoatefilocalizatoriundenmemorie.Instruciunile
desaltichemarepotfiutilizateattpentrusalturiscurtencadrulacestuisegmentdecod,
ctipentrusalturimaripentruaaccesaoriceadresdin1MBdememorie.Toate
instruciunilecondiionaledesaltpotfiutilizatepentruasrilaaproximativ+127127
octeidelainstruciuneacurent.
Memoriadedate:Procesorulpoateaccesadatenoricaredintrecele4segmente,fapt
celimiteazvolumulmaximalmemorieicepoatefiaccesatdeunprogramla256KB
(dactoate4segmenteindicsegmentediferitedememorie).Accesareainformaieidin
segmenteledeDate,Cod,StivsaucelExtrapoatefiefectuatprinprefixarea
2

instruciunilorcuDS:,CS:,SS:,sauES:(uniiregitrisauuneleinstruciunipotutilizaunul
dintresegmenteleESsauSSnlocdeDS).
Memoriadestiv:Poatefiplasatoriundencadrulmemoriei.Darnuserecomand
utilizareaadreselorimpare,dinmotivedeperforman.
Spaiilerezervate:5
0000h03FFhsuntrezervatepentruvectoriidentrerupere.Fiecarevectorde
ntrerupereesteunpointerde32debiinformatulsegment:offset.
FFFF0hFFFFFhDupRESETprocesorulntotdeaunavancepeexecutarea
programuluilaadresaFFF0H.

ntreruperile
Procesorulutilizeazurmtoarelentreruperi:
INTResteontreruperehardware,mascabil.Poatefiactivat/dezactivatprin
utilizareainstruciunilorSTI/CLIsauprinutilizareaunormetodemaicomplicateceinde
actualizarearegistruluiFLAGSprinintermediulinstruciunilorPOPF.Cndareloco
ntrerupere,procesorulstocheazregistrulFLAGSnstiv,dezactiveazaltentreruperi,
extragedepemagistraladedateoctetulcarereprezinttipulntreruperiiisarelaadresa
rutineideprocesareantreruperiicareesteestestocatnlocaia4*<tipulntreruperii>.
RutinadeprocesareantreruperiitrebuiesreturnezeinstruciuneaIRET.
NMIesteontreruperenemascabil.EaesteprocesatlafelcaintrerupereaINTR.
Eaestedetipul2,deciadresarutineideprocesareNMIestestocatnadresa0008h.Acest
tipdentrerupereareoprioritatemainaltdectntrerupereamascabil.
ntreruperilesoftwarepotficauzatede:

InstruciuneaINTntreruperedebreakpoint.Aceastaesteontreruperedeordinul
3.

InstruciuneaINT<numrulntreruperii>Oricarentreruperedintrecele256de
ntreruperidisponibile.

InstruciuneaINTOntreruperencazuldeoverflow

ntrerupereantrosinguretapGeneratdacfanionulTFestesetat.Reprezinto
3

ntreruperedegradul1.Cndprocesorulproceseazaceastntrerupereareloc
curireafanionuluiTFnaintedenceperearutineideprocesareantreruperii.

Excepiilelegatedeprocesor:eroareladiviziune(tip0),codoperaieinutilizat(tip6)
icodoperaiedeieire(tip7)

Procesareacererilorsoftwaredentreruperesefacelafelcaipentruntreruperilehardware.

Regitrii
Majoritatearegitrilorconinoffseturidedate/instruciunidincadrulsegmentuluide
memoriede64KB.Exist4segmentediferitedememoriepentruinstruciuni,stiv,datei
dateadugtoare.Pentruaspecificaundenacest1MBdememoriesuntacestesegmente,
sefolosesc4regitridesegment:

SegmentuldeCod(CS)esteunregistrude16bii,careconineadresasegmentului
de64KBcareconineinstruciuniledestinateprocesorului.Procesorulutilizeaz
segmentulCSpentrutoateaccesrileinstruciunilorlacaresereferregistrulIP
(InstructionPointer).RegistrulCSnupoatefimodificatdirect.Elesteactualizat
automatncazulunorsalturideprtatenmemorie,invocrileinstruciunilordistante
sauinstruciunilorcarereturneazadresedistante.

Segmentuldestiv(SS)esteunregistrude16biicareconineadresaunuisegment
de64KBceconinestivaprogramului.Implicit,procesorulpresupunectoatedatele
referitederegitriipointeruluidestiv(StackPointerSP)ipointeruluideBaz
(BasePointerBP)suntlocalizatensegmentuldestiv.RegistrulSSpoatefi
modificatdirectprinintermediulinstruciuniiPOP.

Segmentuldedate(DS)esteunregistrude16biicareconineadresasegmentuluide
64KBcudateledeprogram.Implicit,procesorulpresupunectoatinformaia
referitderegitriigeneral(AX,BX,CX,DX)ideindice(SI,DI)elocalizatn
segmentuldedate.RegistrulDSpoatefimodificatdirectprinintermediul
instruciunilorPOPiLDS.

Segmentulsuplimentar(ES)esteunregistrude16biicareconineadresa
4

segmentuluide64KB,deobiceicareconineinformaiideprogram.Implicit,
procesorulpresupunecregistrulDIutilizeazsegmentulESpentrumanipulricu
iruriledecaractere.RegistrulESpoatefimodificatdirectprinintermediul
instruciunilorPOPiLES.
Esteposibilschimbareautilizriiimpliciteaunorsegmenteutilizatederegitrii
generaliideindiceprinprefixareaexplicitainstruciuniicuCS,SS,DSsauES.Toi
regitriigeneraliaimicroprocesorului8086potfiutilizaipentruoperaiilogiceide
aritmetic.Regitriigeneralisunt:

Registruldeacumulatorconstdin2regitriacte8biiALiAH,carepotfi
combinaimpreunifolosiicaunsingurregistruAX.ALnacestcazconinebitul
deordinmaijosalcuvntului,iarAHconinebituldeordinnalt.AXesteoptimizat
pentruoperaiideintrare/ieireimanipulareairurilordecaractere.

Registrudebazconstdin2regitriacte8biiBLiBH,carepotficombinai
mpreunifolosiicaregistrulde16biiBX.InacestcazBLconinebituldeordin
maijosalcuvntuluiiarBHbituldeordinnalt.Esteoptimizatpentruafunciona
caindexarepentruiruri.

Registruldenumrareesteformatdin2regitride8biiCLiCH,carepotfi
combinaimpreuniutilizaicaregistrulde16biiCX.nacestcazBLconine
bituldeordinmaijosalcuvntului,iarCHdeordinnalt.Esteoptimizatpentruafi
utilizatcacontorpentrumanipulareairurilordecaractereiinstruciunilede
deplasare/rotireanumerelorbinare.

Registruldedateesteformatdin2regitriDLiDH,carepotficombinaiifolosii
caunsingurregistruDX.nacestcazDLvaconinebituldeordinmaijosal
cuvntului,iarDHdeordinnalt.Esteoptimizatpentruutilizarenoperaiilede
intrare/ieire.Lainstruciuniledenmulireimprireanumerelorntregide32de
biiconinecuvntulderangnaltalnumruluirezultat.
Urmtoriiregitrisuntattregitrigenerali,ctiregitrideindice:

StackPointer(SP)esteunregistrude16biicareindicadresastiveideprogram.

BasePointer(BP)Esteunregistrude16biicareestedeobiceiutilizatpentru
5

indicareaadreseicadruluistivei.

Sourceindex(SI)esteunregistrude16bii.SIesteutilizatpentruindexri,lafeli
caadressurspentrumanipulrilecuirurilededate

DestinationIndex(DI)esteunregistrude16bii.Seutilizeazpentruindexare,
pluscaadresdedestinaiepentruinstruciunilecemanipuleazcuirurilede
caractere.

Aliregitri:

InstructionPointer(IP)esteunregistrude16bii.Coninecontorulprogramului,
adicadresacurentainstruciei.

Registruldefanioaneesteunregistrude16biicareconine9fanioanede1bit:
Faniondeoverflow(OF)Dacrezultatulesteunnumrntregpozitivpreamare
sauunnumrnegativpreamicpentruafistocatladestinaiasa.
Faniondedirecie(DF)Dacestesetat,instruciuniledemanipulareairurilor
decaracterevordecrementaautomatregitriideindice.Daceegalcu0,regitrii
vorfiautoincrementai.
Fanionuldeactivareantreruperilor(IF)Setareaacestuifanionactiveaz
ntreruperilemascabile.
FanionulSingleStep(TF)Dacesetat,atuncintrerupereasinglestepvaavea
locdupurmtoareainstruciune.
SignFlag(SF)Esetatdaccelmaisemnificativbitalrezultatuluiesteegalcu
1.
FanionulZero(ZF)Esetatdacrezultatulestezero.
FanionulAuxiliardeTransport(AF)Estesetatdacafosttransportdelasau
sprebiii03nregistrulAL.
FanionuldeParitate(PF)Esetatdacparitatea(numruldebiiegalcu1)n
octetulderangjosestepar.
FanionuldeTransport(CF)Esetatdacafostefectuattransportuldelasauspre
bitulderangnaltnrezultatulultimuluicalculefectuat.

Setuldeinstruciuni
Setuldeinstruciuni8086constdinurmtoareleinstruciuni:

Instruciunidemicareadatelor

InstruciuniaritmeticeAdunare,scdere,incrementare,decrementare,comparare,
convertireoctet/cuvnt.

Instruciunilogicei,sau,sauexclusiv,deplasare,rotire,verificare.

Manipulareairurilordecaracterencrcare,stocare,micare,comparareiscanare
pentruoctet/cuvnt.

Transferuldecontrolcondiionat,necondiionat,invocareauneisubrutinei
returnareadinosubrutin.

Instruciunideintrare/ieire.

Altesetarea,tergereabiilordefanioane,operaiicustiva,ntreruperisoftware,
etc.

Modurideadresare
ModulimplicatValoarea/Adresadedateesteimplicitasociatcuinstruciunea.
ModulRegistruSereferladateledincadrulunuiregistrusauauneiperechideregitri.
ModulimediatDatelesuntoferiteninstruciune.
ModuldirectOperanduldeinstruciunespecificadresanmemorieundedatelesunt
localizate.
ModulindirectprinregistruInstruciuneaspecificunregistrucareconineadresaunde
datelesuntlocalizate.LucreazcuregitriiSI,DI,BXiBP.
ModulbazatOperandulinstruciuniide8sau16biiesteadugatlaconinutulunui
registrudebaz(BXsauBP),valoarearezultatesteunpointersprelocaiadatelor.
ModulindexatOperandulinstruciuniiesteadugatlaconinutulunuiregistrudeindice
(SIsauDI),valoarearezultatesteunpointersprelocaiadatelornmemorie.
ModulbazatindexatConinutulregistruluidebaz(BXsauBP)seadunlaconinutul
7

unuiregistrudeindice(SIsauDI),valoareaprimitesteunpointerspreadresadatelor.
ModulindexatcudeplasareOperandulinstruciuniide8biisau16biiseadunla
coninutulunuiregistrudebaz(BXsauBP)iregistrudeindice(SIsauDI).Rezultatul
esteunpointerspreadresadatelor.

Descriereaiconfiguraiapinurilormicroprocesorului8086
Microprocesorul8086,numitoficialiAPX86,esteunprocesorde16biicreatde
Inteln1978.Elapusbazelearhitecturiix86.Dimensiunilecipuluisuntde5,5x5,5mmi
conine29000tranzistori.Are40depini(20deliniideadrese,16dintrecaresuntutilizate
icaliniipentrudate,16liniidecontrol)

Img.1:Denumireapinurilormicroprocesorului8086

Funciiledinparantezesuntdefinitepentrumodulminim.Pentrumodulmaximse
folosescceledinafaraparantezelor.

Lucrulmagistraleidedate
Microprocesorularecombinatemagistralelededateideadrese,formndo
magistralmultiplexatntimp.Lanceputulcicluluiesteemisadresanecesar,dupcare
areloctransferuldedateprinintermediulaceleiaimagistrale.Aceasttehnicofercelmai
eficientmoddeutilizarealpinurilordepeprocesor.
Fiecareciclulalmagistraleiprocesoruluiconstdincelpuin4cicluriCLK.Acestea
suntnumiteT1,T2,T3,T4.AdresaesteemisdinprocesorntimpulT1iartransferulde
datearelocnT3iT4.T2esteutilizatmaimultpentruaschimbadireciamagistralein
timpuloperaiilordecitire.Dacdispozitivulnuestegata,ntreT3iT4suntintroduse
instruciuniTw(staredeateptare).Fiecarestaredeateptareintrodusesteegalcuun
cicluCLK.Suntperioadecndnusemaiactualizeazciclurilemagistralei.nacestmoment
sezicecprocesorulseaflnstaredemenajintern.

Img.2:Moduldelucrualprocesorului8086

Descriereapinurilormicroprocesorului8086:
AD15

AddressData

AD0
A19/S6

Bus

A16/S3
BHE / S 7

Acestepinuriformeazmagistraleledeadrese/date
multiplexatentimp.

Address/Status

Adrese/Semnaledestarealemicroprocesorului

BusHigh

Semnaluldevalidareamagistraleisuperioare.

Enable

BHE iA0suntutilizatepentruadecodifica

adresaipentruapermitetransmiterea
9

ALE

AddressLatch
Enable

RD

Read

WR

Write

octeilor/cuvintelor.
Eoferitdectreprocesorpentruaconducecu
registrelebufferedetipul8282/8283.Eutilizat
pentrudemultiplexareamagistraleiAD.
Indiccprocesorulefectueazuncicludecitirea
memorieisauadispozitivelordeintrare/ieire
Indiccprocesorulefectueazuncicludescriere
amemorieisadescrierenundispozitivde
intrare/ieire,ndependendestareasemnalului
M / IO .

M / IO

Statusline
DATA

DT / R

TRANSMIT/R
ECEIVE

DEN

NMI
INTR
INTA

HOLD
HLDA

CLK

DATA

Comandadeselectareamemoriei/portului
Estenecesarpentrusistemulminimcaretrebuies
utilizezeregistrelebuffere8286/8287.Esteutilizat
pentruacontroladireciafluxuluidedateprin
registrulbuffer.
Activeazieireadatelorpentrusistemulminimal

carefoloseteregitribuffere8286/8287
ENABLE
Nonmaskable
Semnalizeazunelesituaiicritice.
interrupt
Interrupt
Esteverificatdupexecutareafiecreiinstruciuni
request
Interrupt

pentruadeterminadacntreruperilesuntpermise
Esteutilizatcaindicatorpentruciclurilede

acknowledge

confirmareantreruperilor.
Indiccaltdispozitivarenevoiedeomagistral

Hold
Hold
acknowledge
Clock

local.
Comanddeacceptareatransferuluidemagistral
spredispozitiv
Ofercronometrareadebazpentrugeneratori
controloruldemagistral.Estecreatdegeneratorul
deceas8284A.
Indiccmemoriaadresatsaudispozitivulde

READY

Ready:

intrare/ieireestegatasefectuezetransferulde
date.
10

Reset:

RESET

Cauzeazoprireaimediataactivitiiprocesorului.

Lucrulnmodminim
MN
=1
MX

DelaT1laT4semnalulM/IOindicooperaiedelucrucumemoriasaucu
dispozitiveledeintrare/ieire.
ntimpulT1ilanceputulperioadeiT2liniileA19A16iAD15AD0conin
adreseledememoriesauadreseledispozitivuluideintrare/ieire.
PedurataT1estegeneratsemnalul BHE .mpreuncuA0, BHE esteutilizat
pentruaselectaocteiinecesaridinmemorieconformurmtoruluitabel:

BHE
0
0
1
1

A0
0
1
0
1

Data
Word
Upperbyte(oddaddress)
Lowerbyte(evenaddress)
none

11

T1

T2

T3

T4

C LK
M / IO
BHE / S 7

BHE

A19 A16 / S 6 S 3

A19 A16

S 7 -S 3

A 1 5 -A 0

D a ta o u t
(D 1 5 -D 0 )

ALE
R EAD
A D 1 5 -A D 0
RD
DT / R

DEN

W r ite
A D 1 5 -A D 0

A 1 5 -A 0

D a t a in ( D 1 5 - D 0 )

WR
DT / R
Img.3:Activitateapinurilormicroprocesorului8086

nacelaitimparelocrevendicareapinuluiALEesteefectuatdectreprocesor.El
activeazregitriibufferdetip8282/8283pentruatrimiteadresanecesar.Petoat
perioadacicluluidemagistral,semnaluleliberatderegitrii8282/8283estevalabil.
LanceputulT2adresaestetearsdectresemnaleledestatutdinmagistralalocal.
Cicluldecitire:
ntimpulT2magistraladedateintrnstaredenaltimpedan,pncnddatele
apardeladispozitivuldeintrare/ieiresaumemorie.
LafelesteaccesatisemnalulReadControlncepndcuT2pnlaT4.Semnalul
decitire(RD=0)cauzeazactivareadrivereloreidemagistralpentruacomunicacu
magistralalocal.Dupaceastadatevalidevorfiaccesibiledindispozitivielvasemnaliza
procesorulprinactivarealinieiREADY.Cndprocesorulreturneazsemnaluldecitirela
nivelnalt,dispozitivuladresatdinnouivasetatdriverelenregimtristate.Dacun
12

registrubufferestenecesarpentruabuferizamagistralalocal8086,semnaleleDT/Ri
DENpermitetransmitereadateloriDT/R=0determindireciadetransmitereadatelor
(delamicroprocesor).CndRD=1cicluldecitireesteterminat.
Cicluldescriere:
UncicluldescrierelafelncepecurevendicareALEiemitereaadresei.Semnalul
M/IOestedinnourevendicatpentruaindicaooperaiunedescrierenmemoriesaun
dispozitiveledeintrare/ieire.nT2procesorulemiteadresaidupeadeodatdatelecare
necesitsfiescrisenlocaiadat.PnnmijloculT4acestedatermnafiveridice.n
timpulT2,T3iTWprocesorulrevendicsemnaluldeverificareascrierii.Semnalulde
scriere(WR=0)devineactivlanceputulT2,ncomparaiecucicluldecitirecndesteun
picntrziatnT2,pentruaoferiposibilitatemagistraleideaserecrea.DEN=0esteactivn
T1.DT/R=1modificdireciatransmiteriidedate(spremicroprocesor).CndWR=1nT4,
cicluldescriereesteterminat.

13

Interfaamicroprocesorului8086nmodminim
Unitateacentraldeprocesare,pelngmicroprocesorul8086conineasemeneaelemente
adugtoarecaelementeledeinterfacumagistrala,generatordeceas(CLK),generatorde
strideateptare(WAIT),generatordeRESET.

SchemastructuralaCPUcumicroprocesorul8086nmodminim

Img.4:StructuraCPUcumicroprocesor8086nmodminim

14

Regitriibuffer8282/8283
Circuiteledememorieidispozitivuluideintrare/ieireaunevoie
deoadresstabilntimpulcircuitelordemagistral.Iatdeceeste
necesardemultiplexareamagistraleideadrese/datepentruutilizarea
ulterioaramagistralelorapartedememorie/date.Pentruaceastasunt
utilizatesemnaleledecontrolALE.ElestegeneratntimpulT1cnd
Img. 5 Registrul-Buffer
8282

magistraladeadrese/memorieconineadresa.Rezultatulsemnalului
vadeterminapstrareaadreselornregitriineinversabili8282saucei

inversabili8283.Aacumadresaartrebuisfiepetoatduratacicluluidemagistral,GND
(0)econectatpermanentlapinulOEalregitrilorbuffere
Regitriibuffer8286/8287
Magistraladedatenupoatefimultiplexatpentrucntimpul
cicluluidescrieredatatrebuiesfieprezentpemagistralmaimultdect
ntimpulcitiriidincauzatimpurilordiferitederspunsacircuitelor
semnaluluiRD.Dinaceastcauzmagistralapoatefiutilizatdirectsau
poateficonectatprinintermediulregitrilorbuffereneinversabili8286de
Img. 6 Registrul-Buffer
8286

8bii(sauregitrilorbuffere8287caresuntinversabili).nacestcazsunt
utilizateurmtoarelesemnaledecontrol:

DENActiveazmagistraladedate(determinintervaluldetimppentrutransferul
dedate)
DT/RDetermindireciatransferuluidedate(1scrie,0citete)

15

img.7:Demultiplexareamagistraleideadrese/memorie

Generatoruldeceas8284
Generatoruldeceas8284esteundispozitivcapabildea
oferiunitiicentraledeprocesareposibilitateadeamsuratimpul,
circuitderesetareicircuitdepregtire.Pentruaceastaesteutilizat
unoscilatordecristalcaretrebuiesaibfrecvendetreiorimai
maredectCPU(cristalde15Mhz).
Funciaderesetarehardwareesteimplementatutilizndun
triggerdetipSchmitt,activizatprinintermediulunuisemnalRES.
Cndintrareaesteegalcu0,semnalulderesetareseducespre
procesor.Semnalulartrebuisfieactivcelpuin4ciclurideCLK
Img 8: Generatorul de
ceas
16

pentruainiializaCPUul.

Implementareaproiectuluidecurs
Tema:Conectareaa32KWROM57381i64KWRAM13210la
microprocesorulIntel8086.
NumruldecircuitenecesareROMiRAMsecalculeazutilizndformula:
N=

NMLt SMLt

,unde
NML c SML C

NMLtestenumrultotalallocaiilordememorie
NMLcestenumrultotalallocaiilordememoriealunuisingurcircuit
SMLtestenumrultotalallocaiilordememorienecesare
SMLcestevolumuldelocaiidememoriepentruunsingurcircuit.
CircuitulROMare14liniideadresei8liniidedate.CapacitateaunuicircuitRAM
secalculeaznfelulurmtor:liniiledeadrese: 214=24210 =16 K iliniilededate:8.Deci
capacitateaunuicipROM57381estede16K*8.
Totalestenecesarconectareaa32KW=32K*16.
CircuitulRAMare16liniideadreseioliniededate.CapacitateaunuicircuitRAM
secalculeaznfelulurmtor:Liniiledeadrese: 216=2102 6=64 K ioliniededate.Deci
capacitateaunuicircuitRAM13210estede64K*1.
Totalsuntnecesari64KW=64K*16.
N ROM =

32 16
=4 Suntnecesare4circuiteROM
16 8

N RAM =

64 16
=16 Suntnecesare16circuiteRAM
64 1

Carezultatvomprimiurmtoareahartamemoriei:

17

ZonNeutilizat
(Disponibil)

1MB

1FFFFh

RAM
16circuite
(64K*1)

128K*8
10000h
0FFFFh

ROM
4circuite
(16K*8)

64K*8
00000h

ConectareaROM
Circuitul57381are14liniideadresei8liniidedate.Deci
elesteorganizatca16K*8.Pentruaobine32KWavemnevoiede4
cipuri.2vorfisituatepeadresaimpar(HighBank)i2peadresa
impar(LowBank).Aacumcipuldememoriedeine14liniide
memorie,pinurileA1A14alemicroprocesoruluivorficonectatelael.
SemnalulA0iBHEvorfiutilizatepentruaselectacipurilede
memoriedepeadreseleparesauimpare.BiiideordinnaltA16A19vor
fiutilizaipentruselectareacipurilor.
Img.9CipulRAM
57381

Img.10Logicadeconectareamemoriei

18

SemnaleledecontrolM/IO,RD,iWRactiveazselectareachipuluipentru
operaiunidescriere/citire.
Conectareaseefectueaznfelulurmtor:PiniideadresA14A1suntconectai
directlafiecarecircuit.SemnalulRDpermitecitireadatelordepecircuiteledememorie
numaincazuloperaiilordecitireideaceiaesteconectatlapinulOEalfiecruicircuit.
SemnalulWRpermitescriereainformaieisprecircuiteledememorienumaincazul
efecturiioperaiilordescriere,ideaceiaesteconectatlaWE.Ieirilecircuitelorde
memoriepentruadreseleparesuntconectatelamagistralajoasdedate(D7D0),iarpentru
adreseleimparelamagistralanalt(D14D8).

ConectareaRAM
Circuitul13210are16liniideadreseioliniededate.Decieleste
organizatcauncipdetipul64K*1.Pentruaobine64KWdememorieavem
nevoiede16cipuri.
13liniideadresevorficonectatedirectsprecip,iarliniileA14A19vor
fiutilizatepentruselectareacipurilornecesare.SemnalulM/IOvadesemna
seleciadintrememorieidispozitiveledeintrareieire.
Semnalelepentruselectareafiecruicipaparteseefectueaznfelul
urmtor:
CircuitulNANDgenereazunsemnalpentrudecodificatorncazulncaresemnalele
A14A19suntegalecu1iM/IOlafelesteegalcu1.nacestcazsuntchematecircuitele
dememorieiutilizndsemnaleleA0iBHEsetrimitecerereasprebancuriledememorie.
SemnalulRAMReadyseactiveazatuncicndesteselectatoporiunedinmemoriaRAM.
MEMREADYseactiveazcndesteactivatsaumemoriaROM,saumemoriaRAM.
AcestesemnalesuntutilizatepentruatrimiteprocesoruluisemnalulREADY.
Coneciuneadintreprocesoricipuriseefectueaznfelulurmtor:
BiiideadresA1A16suntconectatedirectlafiecarecip.SemnalulRDpermite
citireadatelordincircuiteledememorienumaincazulcndseefectuazcitirea,ideaceia
19

esteconectatlapinulOEalfiecruicircuit.SemnalulWRpermitescriereanumaintimpul
efecturiioperaiilorspecial,ideaceiaesteconectatapinulWE.Cipurilecarefacparte
dinbankuldejosseconecteazlapiniiD0D7,Cipurilecarefacpartedinbankuldesus
seconecteazlapiniiD8D15.
Concluzie:Procesorul,timpdeaproape30deani,adevenituninstrument
indispensabilpentrulucrulomului.ncepndcusoluiisimple,careofereaucapaciti
redusedecalcul,iterminndcumainilemodernecarecombinsoluiimultiprocesor,
uneleavndmiideprocesoareincorporate,mainiledigitaledecalculaudefinitnceputul
uneinoierendezvoltareaumanitii.
LegealuiMoorezicecnumruldetranzistoridisponibilipeunsingurcipse
dubleazafiecare18luni,iarprezicereasasadoveditafiveridic,ncepndcuanii70
ncoace,deciinviitorprobabilcpiaamainilordecalculvaefectuaprogresemari.

20

S-ar putea să vă placă și