Mikroprocessorarkitektur - struktur og generelle karakteristika. Mikroprocessorer

Introduktion

Introduktion


Mikroprocessorer og mikrocontrollere er et af de mest dynamisk udviklende områder af moderne elektronisk teknologi. Først introduceret i 1971, har disse elektroniske enheder hurtigt udviklet sig fra simple enheder, der udfører simple beregninger, til moderne højtydende processorer, der udfører hundredvis af millioner af operationer i sekundet. Endnu mere imponerende er den eksponentielle udvidelse af deres anvendelsesområder. I øjeblikket er vi i produktionen og i hverdagen omgivet af snesevis af mikroprocessorer og mikrocontrollere indbygget i udstyr til forskellige formål. Dette er ikke kun personlige computere, som er blevet en obligatorisk egenskab for både hjemmets interiør og arbejdspladsen for specialister inden for mange områder af produktion og service. Disse omfatter moderne husholdningsapparater, fritidsfaciliteter, bilelektronik og medicinsk udstyr, kommunikationsudstyr, forskellige enheder og systemer, der bruges i produktionsudstyr, og meget mere.

Viden om det grundlæggende i mikroprocessorteknologi er nødvendigt for mange specialister, både dem, der udvikler nye typer enheder baseret på moderne mikroprocessorer og mikrocontrollere, og dem, der bruger udstyr implementeret på deres basis i deres professionelle aktiviteter. Denne lærebog har til formål at hjælpe en bred vifte af specialister uddannet i uddannelsesinstitutioner for forskellige sektorer af den nationale økonomi med at mestre denne teknologi.

Moderne elektronisk digital computerteknologi er meget udbredt i den nationale økonomi. I øjeblikket er der skabt fire generationer af computere med forbedrede tekniske og økonomiske indikatorer, hvilket bidrager til yderligere udvidelse af omfanget af computerapplikationer og deres effektivitet.

Mikrocontrollere er den mest udbredte repræsentant for mikroprocessorteknologi. Ved at integrere en højtydende processor, hukommelse og et sæt perifere enheder på en enkelt chip tillader mikrocontrollere minimale omkostninger implementere en bred vifte af kontrolsystemer til forskellige objekter og processer. Brugen af ​​mikrocontrollere i kontrol- og informationsbehandlingssystemer giver usædvanligt høje effektivitetsindikatorer til en ret lav pris. Der er praktisk talt intet alternativ til mikrocontrollere, når det kommer til at skabe højkvalitets og billige systemer. Nogle gange kan et system kun bestå af én mikrocontroller. En undtagelse er brugen af ​​programmerbare logiske integrerede kredsløb (FPGA'er) inden for signalbehandling, når parallel behandling af en stor strøm af inputdata er påkrævet.

mikroprocessor mikrocontroller arkitektur computing

1. Mikroprocessorer, funktionalitet og arkitektoniske løsninger


Udviklingen af ​​teknologi gør det muligt at skabe alt på en chip mere aktive komponenter - transistorer, som kan bruges til at implementere nye arkitektoniske og strukturelle løsninger, der giver øget ydeevne og udvidet funktionalitet af mikroprocessorer. Lad os kort overveje de vigtigste af disse løsninger.

En processors arkitektur er komplekset af dens hardware og software, der leveres til brugeren. I det generelt koncept omfatter et sæt software-tilgængelige registre og udøvende (operative) enheder, et system af grundlæggende kommandoer og adresseringsmetoder, volumen og struktur af adresserbar hukommelse, typer og metoder til afbrydelsesbehandling. For eksempel har alle modifikationer af Pentium-, Celeron-, i486- og i386-processorer IA-32-arkitektur (Intel Architecture - 32 bit), som er kendetegnet ved et standardsæt af registre, der leveres til brugeren, et fælles system af grundlæggende kommandoer og metoder til organisering og adressering af hukommelse, den samme implementering af hukommelsesbeskyttelse og afbrydelsestjenester.

Når arkitekturen og driften af ​​en processor beskrives, bruges dens repræsentation normalt i form af et sæt software-tilgængelige registre, der danner et register eller en programmodel. Disse registre indeholder behandlede data (operander) og kontroloplysninger. Følgelig omfatter registermodellen en gruppe af generelle registre, der bruges til at gemme operander, og en gruppe af tjenesteregistre, der giver kontrol over programafvikling og processordriftstilstand, organisering af hukommelsesadgang (hukommelsesbeskyttelse, segment- og sideorganisering osv.). ).

Generelle registre danner RRAM - processorens interne registerhukommelse (se afsnit 1.3). Sammensætningen og antallet af serviceregistre bestemmes af mikroprocessorarkitekturen. Typisk omfatter de:

PC-programtæller (eller CS+IP i Intels mikroprocessorarkitektur),

SR statusregister (eller EFLAGS),

processor driftstilstand styreregistre CR (kontrolregister),

registre, der implementerer segment- og sidehukommelsesorganisation,

registre, der leverer programfejlfinding og processortest.

Udover, forskellige modeller mikroprocessorer indeholder en række andre specialiserede registre.

Processorens funktion er repræsenteret i form af implementering af registeroverførsler - procedurer til kontrol og ændring af disse registres tilstand ved at læse og skrive deres indhold. Som et resultat af sådanne overførsler, adressering og udvælgelse af kommandoer og operander, lagring og videresendelse af resultater, ændring af sekvensen af ​​kommandoer og driftstilstande for processoren i overensstemmelse med ankomsten af ​​nyt indhold i serviceregistrene, såvel som alle andre procedurer, der implementere iflg givne forhold.

Nogle processorer tildeler registre, der bruges, når de udføres applikationsprogrammer og er tilgængelige for alle brugere, og registre, der styrer driftstilstanden for hele systemet og kun er tilgængelige for privilegerede programmer, der er en del af operativsystemet (supervisor). I overensstemmelse hermed er sådanne processorer repræsenteret som en brugerregistermodel, som indbefatter registre, der anvendes ved afvikling af applikationsprogrammer, eller en supervisorregistermodel, som indeholder hele sættet af software-tilgængelige processorregistre, der anvendes af operativsystemet.

Strukturen af ​​mikroprocessoren bestemmer sammensætningen og interaktionen af ​​de vigtigste enheder og blokke placeret på dens chip. Denne struktur omfatter:

CPU(processorkerne), bestående af en kontrolenhed (CU), en eller flere driftsenheder (OU),

indre hukommelse(RAM, cachehukommelse, i mikrocontrollere - RAM- og ROM-enheder),

en interfaceenhed, der giver output til systembussen og dataudveksling med eksterne enheder via parallel eller serielle porte input-output,

perifere enheder (timermoduler, analog-til-digital-omformere, specialiserede controllere),

forskellige hjælpekredsløb (urgenerator, kredsløb til fejlretning og test, watchdog timer og en række andre).

Sammensætningen af ​​enheder og blokke inkluderet i strukturen af ​​mikroprocessoren og de implementerede mekanismer for deres interaktion bestemmes af mikroprocessorens funktionelle formål og omfang.

Arkitekturen og strukturen af ​​mikroprocessoren er tæt forbundne. Implementeringen af ​​visse arkitektoniske funktioner kræver indførelse af den nødvendige hardware (enheder og blokke) i mikroprocessorstrukturen og tilvejebringelse af passende mekanismer til deres fælles funktion.

Moderne mikroprocessorer implementerer følgende arkitekturmuligheder: (Complex Instruction Set Computer) - arkitekturen er implementeret i mange typer mikroprocessorer, der udfører et stort sæt multi-format instruktioner ved hjælp af adskillige adresseringsmetoder. Dette er en klassisk processorarkitektur, der begyndte sin udvikling i 40'erne af det sidste århundrede med fremkomsten af ​​de første computere. Et typisk eksempel på CISC-processorer er Pentium-familien af ​​mikroprocessorer. De udfører mere end 300 kommandoer af varierende kompleksitet, som varierer i størrelse fra 1 til 15 bytes og giver mere end 10 på forskellige måder adressering. En sådan bred vifte af udførte kommandoer og adresseringsmetoder gør det muligt for programmøren at implementere de mest effektive algoritmer til at løse forskellige problemer. Dette komplicerer imidlertid strukturen af ​​mikroprocessoren betydeligt, især dens styreenhed, hvilket fører til en stigning i størrelsen og prisen på krystallen og et fald i ydeevnen. Samtidig bruges mange kommandoer og adresseringsmetoder ret sjældent. Derfor har arkitekturen af ​​processorer med reduceret instruktionssæt (RISC-processorer) siden 80'erne af forrige århundrede modtaget en intensiv udvikling.(Reduced Instruction Set Computer) - arkitekturen er kendetegnet ved brugen af ​​et begrænset sæt kommandoer af en fast format. Moderne RISC-processorer implementerer typisk omkring 100 instruktioner, som har et fast format på 2 eller 4 bytes i længden. Antallet af anvendte adresseringsmetoder er også væsentligt reduceret. I RISC-processorer udføres alle databehandlingsinstruktioner typisk kun med register eller øjeblikkelig adressering. For at reducere antallet af hukommelsesadgange har RISC-processorer desuden en øget mængde intern RAM - fra 32 til flere hundrede registre, mens antallet af generelle registre i CISC-processorer normalt er 8-16.

Hukommelsesadgang i RISC-processorer bruges kun til operationer med indlæsning af data i hukommelsen eller overførsel af resultater fra hukommelsen til hukommelsen. I dette tilfælde et lille antal af de fleste enkle måder adressering: indirekte register, indeks og nogle andre. Som følge heraf er strukturen af ​​mikroprocessoren væsentligt forenklet, dens størrelse og omkostninger reduceres, og produktiviteten øges betydeligt.

Disse fordele ved RISC-arkitekturen har ført til, at mange moderne CISC-processorer bruger en RISC-kerne, der udfører databehandling. I dette tilfælde bliver indkommende komplekse kommandoer og kommandoer i flere formater på forhånd konverteret til en sekvens af simple RISC-operationer, der hurtigt udføres af denne processorkerne. Sådan fungerer for eksempel de nyeste modeller af Pentium- og K7-mikroprocessorer, som ifølge eksterne indikatorer hører til CISC-processorer. Brugen af ​​RISC-arkitektur er et karakteristisk træk ved mange moderne mikroprocessorer (Very Large Instruction Word) - arkitekturen dukkede op relativt nylig - i 90'erne. Dets særegenhed er brugen af ​​meget lange kommandoer (op til 128 bit), hvis individuelle felter indeholder koder, der sikrer udførelse forskellige operationer. En kommando bevirker således udførelse af flere operationer på én gang, som kan udføres parallelt i forskellige driftsenheder inkluderet i mikroprocessorstrukturen. Når du oversætter programmer skrevet på et højt niveau sprog, genererer den tilsvarende compiler "lange" VLIW-instruktioner, som hver især sikrer, at processoren implementerer en hel procedure eller gruppe af operationer. Denne arkitektur er implementeret i nogle typer moderne mikroprocessorer (PA8500 fra Hewlett-Packard, Itanium - en fælles udvikling af Intel og Hewlett-Packard, nogle typer DSP - digitale signalprocessorer) og er meget lovende for at skabe en ny generation af ultra- højtydende processorer.

Ud over det sæt af kommandoer, der skal udføres og adresseringsmetoder, er et vigtigt arkitektonisk træk ved mikroprocessorer den anvendte hukommelsesimplementering og organiseringen af ​​at hente kommandoer og data. Ifølge disse karakteristika er processorer med Princeton- og Harvard-arkitektur forskellige. Disse arkitektoniske muligheder blev foreslået i slutningen af ​​40'erne af specialister fra henholdsvis Princeton og Harvard Universiteter i USA for de computermodeller, de udviklede.

Princeton-arkitekturen, ofte kaldet Von Neumann-arkitekturen, er karakteriseret ved brugen af ​​delt RAM til programlagring, datalagring og stakorganisering. For at få adgang til denne hukommelse bruges en fælles systembus, hvorigennem både kommandoer og data kommer ind i processoren. Struktur og funktion digitalt system med Princeton-arkitektur er beskrevet i afsnit 1. Denne arkitektur har en række vigtige fordele. Tilgængelighed delt hukommelse giver dig mulighed for hurtigt at omfordele dens volumen til at gemme separate rækker af kommandoer, data og stakimplementering afhængigt af de opgaver, der løses. Det er således muligt mere effektivt at bruge den tilgængelige mængde RAM i hver konkret sag mikroprocessor applikationer. Brugen af ​​en fælles bus til at sende kommandoer og data forenkler i høj grad fejlfinding, test og løbende overvågning af systemdrift og øger dets pålidelighed. Derfor dominerede Princeton-arkitekturen databehandling i lang tid.

Det har dog også betydelige ulemper. Den vigtigste er behovet for sekventiel prøveudtagning af kommandoer og behandlede data i henhold til det generelle systembus. I dette tilfælde bliver den fælles bus en "flaskehals" (flaskehals), hvilket begrænser det digitale systems ydeevne. I de senere år har stadigt stigende krav til mikroprocessorsystemers ydeevne ført til en stigende brug af Harvard-arkitektur i skabelsen af ​​mange typer moderne mikroprocessorer.

Harvard-arkitektur er karakteriseret ved den fysiske adskillelse af instruktionshukommelse (programmer) og datahukommelse. Dens originale version brugte også en separat stak til at gemme indholdet af programtælleren, hvilket gav mulighed for at udføre indlejrede underrutiner. Hver hukommelse er forbundet til processoren med en separat bus, som tillader samtidig læsning og skrivning af data, mens den aktuelle kommando udføres for at hente og afkode den næste kommando. Takket være denne adskillelse af kommando- og datastrømme og kombinationen af ​​deres hente-operationer opnås højere ydeevne end ved brug af Princeton-arkitekturen.

Ulemperne ved Harvard-arkitekturen er forbundet med behovet for et større antal busser, samt med en fast mængde hukommelse, der er allokeret til kommandoer og data, hvis formål ikke hurtigt kan omfordeles i overensstemmelse med kravene til problemet løst. Derfor er det nødvendigt at bruge større hukommelse, hvis udnyttelsesgrad ved løsning af forskellige problemer er lavere end i systemer med Princeton-arkitekturen. Udviklingen af ​​mikroelektronisk teknologi har imidlertid gjort det muligt stort set at overvinde disse mangler, derfor er Harvard-arkitektur meget brugt i indre struktur moderne højtydende mikroprocessorer, som bruger en separat cache-hukommelse til at gemme instruktioner og data. Samtidig er principperne for Princeton-arkitekturen implementeret i de fleste mikroprocessorsystemers eksterne struktur.

Harvard-arkitektur er også meget brugt i mikrocontrollere - specialiserede mikroprocessorer til styring af forskellige objekter, hvis arbejdsprogram normalt er gemt i en separat ROM.

Moderne mikroprocessorer bruger en række forskellige grenforudsigelsesteknikker. Den enkleste måde er, at processoren registrerer resultatet af at udføre tidligere grenkommandoer på en given adresse, og mener, at den næste kommando, der tilgår denne adresse, vil give et lignende resultat. Denne forudsigelsesmetode antager en højere sandsynlighed for gentagen adgang til en bestemt kommando specificeret af en given forgreningsbetingelse. For at implementere denne grenforudsigelsesmetode bruges en speciel BTB (Branch Target Buffer) hukommelse, hvor adresserne på tidligere udførte betingede grene gemmes. Når en lignende grenkommando modtages, forudsiges en overgang til grenen, der blev valgt i det foregående tilfælde, og kommandoer fra den tilsvarende gren indlæses i pipelinen. Med korrekt forudsigelse behøver rørledningen ikke at blive genindlæst, og dens effektivitet reduceres ikke. Effektiviteten af ​​denne forudsigelsesmetode afhænger af BTB-kapaciteten og viser sig at være ret høj: sandsynligheden for en korrekt forudsigelse er 80% eller mere. Øget forudsigelsesnøjagtighed opnås ved at bruge mere komplekse metoder, når forhistorien for overgange lagres og analyseres - resultaterne af flere tidligere forgreningskommandoer på en given adresse. I dette tilfælde er det muligt at bestemme den oftest implementerede forgreningsretning samt at identificere skiftende overgange. Implementeringen af ​​sådanne algoritmer kræver brug af mere komplekse forudsigelsesblokke, men sandsynligheden for korrekt forudsigelse stiger til 90-95%.

Muligheden for at øge processorydelsen opnås også ved at indføre flere parallelle driftsenheder i processorstrukturen, hvilket sikrer samtidig udførelse af flere operationer. Denne processorstruktur kaldes superskalar. Disse processorer implementerer parallel drift af flere eksekveringspipelines, som hver modtager en af ​​de valgte og afkodede instruktioner til udførelse. Ideelt set er antallet af samtidigt udførte instruktioner lig med antallet af driftsenheder inkluderet i udførelsespipelines. Men når man udfører rigtige programmer, er det svært at sikre, at alle udførelsespipelines er fuldt indlæste, så i praksis er effektiviteten ved at bruge en superskalær struktur noget lavere. Moderne superskalære processorer indeholder op til 4 til 10 forskellige driftsenheder, hvis parallelle drift sikrer udførelse af et gennemsnit på 2 til 6 instruktioner pr. clock-cyklus.

Effektiv samtidig drift af flere eksekveringspipelines sikres ved at forhåndshente og afkode et antal kommandoer og udvælge en gruppe kommandoer fra dem, der kan udføres samtidigt. I moderne superskalarprocessorer udtages flere dusin instruktioner, som afkodes, analyseres og grupperes til parallel indlæsning i udførelsespipelines. Typisk har processorer flere enheder til at udføre heltalsoperationer, en eller flere enheder til behandling af flydende kommatal, individuelle enheder til behandling af specielle formater af video- og lyddata. Enheder til at generere adresser og hente operander til indlæste instruktioner fungerer også parallelt. I dette tilfælde implementeres en foreløbig (spekulativ) hentning af operander normalt, så for kommandoer, der ankommer til udførelse, er operander allerede klar og skrevet til specielle registre. For at sikre den mest komplette indlæsning af udførelsespipelines, i processen med at analysere og gruppere afkodede kommandoer, er det muligt at ændre deres rækkefølge. Som et resultat udføres instruktioner ikke i den rækkefølge, som de hentes fra hukommelsen, men som de nødvendige operander og aktuatorer er klar. Således kan senere modtagne kommandoer udføres før tidligere valgte. For at resultaterne kan skrives til hukommelsen i overensstemmelse med den indledende sekvens af modtagelse af programkommandoer, skal der bufferhukommelse, gendannelse af rækkefølgen for udstedelse af resultater i henhold til det udførte program.

Samtidig udførelse af instruktioner er muligvis ikke mulig, hvis de tilgår det samme register. Med begrænset kapacitet af processorens RRAM kan sådanne tilfælde forekomme ret ofte, hvilket reducerer effektiviteten af ​​udførelsespipelines. Derfor indfører en række processorer specielle registerblokke, der duplikerer RSD'en. Når der modtages kommandoer, der får adgang til de samme registre i RSD'en, omdirigeres de til duplikerede registerblokke - "omdøber" registrene. Som et resultat er det muligt at udføre sådanne kommandoer samtidigt, hvilket giver mulighed for mere effektiv parallel drift af udførelsespipelines.


Ris. 1. Klassificering af moderne mikroprocessorer efter funktionalitet.


Selvom mikroprocessoren er et universelt værktøj til digital informationsbehandling, kræver visse anvendelsesområder implementering af visse specifikke muligheder for deres struktur og arkitektur. Derfor skelnes der mellem to klasser i henhold til deres funktionalitet: mikroprocessorer til generelle formål og specialiserede mikroprocessorer (figur 1). Blandt specialiserede mikroprocessorer er de mest udbredte mikrocontrollere designet til at udføre kontrolfunktioner for forskellige objekter og digitale signalprocessorer (DSP - Digital Signal Processor), som er fokuseret på at implementere procedurer, der giver den nødvendige konvertering af analoge signaler præsenteret i digital form.

Mikroprocessorer til generelle formål er designet til at løse en lang række opgaver til behandling af en række informationer. Deres hovedanvendelsesområder er personlige computere, arbejdsstationer, servere og andre digitale systemer til massebrug. Denne klasse inkluderer CISC Pentium-processorer Intel, Advanced MicroDevices (AMD) K7, 680x0 Motorola, PowerPC RISC-processorer fremstillet af Motorola og IBM, SPARC fra Sun Microsystems og en række andre produkter fra forskellige producenter.

Udvidelse af anvendelsesområdet for sådanne mikroprocessorer opnås hovedsageligt ved at øge produktiviteten og derved øge rækken af ​​opgaver, der kan løses ved hjælp af dem. Derfor er øget produktivitet hovedretningen for udvikling af denne klasse af mikroprocessorer. Typisk er disse 32-bit mikroprocessorer (nogle mikroprocessorer i denne klasse har en 64-bit eller 128-bit struktur), som er fremstillet ved hjælp af den nyeste industrielle teknologi for at sikre maksimal driftsfrekvens.

En række af de mest populære mikroprocessorer i denne klasse (Pentium, AMD K7 og nogle andre) bør klassificeres som CISC-processorer, da de udfører et stort sæt multi-format instruktioner ved hjælp af adskillige adresseringsmetoder. Imidlertid indeholder deres interne struktur en RISC-processor, der udfører indgående kommandoer efter at have konverteret dem til en sekvens af simple RISC-operationer. En række andre mikroprocessorer i denne klasse implementerer RISC-arkitekturen direkte. Derfor kan vi antage, at brugen af ​​RISC-arkitektur er typisk for de fleste af disse mikroprocessorer.

En række nyere designs (Itanium, PA8500) fra nogle førende producenter har med succes anvendt principperne for VLIW-arkitektur, som kan konkurrere med RISC-arkitektur i konkurrencen om at opnå den højeste ydeevne.

Næsten alle moderne mikroprocessorer af denne klasse bruger Harvards interne arkitektur, hvor adskillelsen af ​​instruktions- og datastrømme er implementeret ved hjælp af separate cache-hukommelsesblokke (fig. 1). I de fleste tilfælde har de en superskalær struktur med flere udførelsesrørledninger (op til 10 i moderne modeller), der indeholder op til 20 trin.

På grund af deres alsidighed bruges mikroprocessorer til generelle formål også i specialiserede systemer, hvor høj ydeevne er påkrævet. På basis heraf implementeres enkeltbordscomputere og industricomputere, som bruges i styresystemer til forskellige objekter. Single-board (indlejrede) computere indeholder på kortet de nødvendige ekstra mikrokredsløb, der sikrer deres specialiserede brug, og er designet til integration i udstyr til forskellige formål. Industrielle computere er anbragt i specialdesignede etuier, der sikrer deres pålidelige drift under barske industrielle forhold. Sådanne computere fungerer typisk uden standard perifere enheder (skærm, tastatur, mus) eller bruger specielle versioner af disse enheder, modificeret til at passe til specifikke anvendelsesforhold.

2. Mikrocontrollere, funktionalitet og arkitektoniske løsninger


Mikrocontrollere er den mest udbredte repræsentant for mikroprocessorteknologi. Ved at integrere en højtydende processor, hukommelse og et sæt perifere enheder på en enkelt chip gør mikrocontrollere det muligt at implementere en bred vifte af kontrolsystemer til forskellige objekter og processer med minimale omkostninger. Brugen af ​​mikrocontrollere i kontrol- og informationsbehandlingssystemer giver usædvanligt høje effektivitetsindikatorer til en ret lav pris. Der er praktisk talt intet alternativ til mikrocontrollere, når det kommer til at skabe højkvalitets og billige systemer. Nogle gange kan et system kun bestå af én mikrocontroller. En undtagelse er brugen af ​​programmerbare logiske integrerede kredsløb (FPGA'er) inden for signalbehandling, når parallel behandling af en stor strøm af inputdata er påkrævet. Det vigtigste klassificeringstræk ved mikrocontrollere er mikroprocessorkapaciteten. 4-, 8-, 16-, 32-bit mikrocontrollere er tilgængelige. Mikrocontrollerens bitkapacitet bestemmes af nøjagtigheden af ​​de data, der kræves for at styre objektet. De mest udbredte og konstant udvidende anvendelsesområder er 8-bit mikrocontrollere, som er billigere end 16- og 32-bit og har større funktionalitet.

Industrien producerer et meget bredt udvalg af indbyggede mikrocontrollere. I dem er alle de nødvendige ressourcer (hukommelse, input/output-enheder osv.) placeret på den samme chip med processorkernen. Hvis du leverer strøm og urimpulser til de tilsvarende indgange på MK, så kan vi sige, at det vil "komme til live", og du kan arbejde med det. Typisk indeholder mikrocontrollere et betydeligt antal hjælpeenheder, som sikrer, at de indgår i et rigtigt system ved hjælp af et minimum antal ekstra komponenter. Disse MK'er inkluderer:

Ordning indledende lancering processor (Nulstil);

Ur generator;

CPU;

Programhukommelse (E(E)PROM) og softwaregrænseflade;

Data input/output faciliteter;

Timere, der registrerer antallet af kommandocyklusser.

Den generelle struktur af MC er vist i figur 4. Denne struktur giver en idé om, hvordan MC kommunikerer med omverdenen.


Figur 2 - mikrocontrollerstruktur


Mere komplekse indlejrede mikrocontrollere kan desuden implementere følgende egenskaber:

Indbygget programmonitor/debugger;

Intern programhukommelse (ROM) programmeringsværktøjer;

Håndtering af afbrydelser fra forskellige kilder;

Analog I/O;

Seriel I/O (synkron og asynkron);

Parallel input/output (inklusive interface med computer);

Tilslutning af ekstern hukommelse (mikroprocessortilstand).

Alle disse funktioner øger markant fleksibiliteten ved at bruge MK og gør processen med at udvikle systemer baseret på det nemmere.

Nogle MCU'er (især 16- og 32-bit) bruger kun ekstern hukommelse, som inkluderer både programhukommelse (ROM) og en vis mængde datahukommelse (RAM), der kræves til af denne ansøgning. De bruges i systemer, hvor der kræves en stor mængde hukommelse og relativt lidt et stort antal af input/output-enheder (porte). Et typisk eksempel på brugen af ​​en sådan MK med ekstern hukommelse er en harddisk (HDD) controller med en buffer cache-hukommelse, som giver mellemlagring og distribution af store mængder data (i størrelsesordenen flere megabyte). Ekstern hukommelse gør det muligt for en sådan mikrocontroller at fungere ved en højere hastighed end en indlejret mikrocontroller.

Digitale signalprocessorer (DSP'er) er en relativt ny kategori af processorer. Formålet med en DSP er at modtage aktuelle data fra et analogt system, behandle dataene og generere et passende svar i realtid. De er normalt inkluderet i systemer, der bruges som kontrolenheder til eksternt udstyr og er ikke beregnet til enkeltstående brug.

Mikrocontrollere er specialiserede mikroprocessorer, der er fokuseret på implementering af kontrolenheder indbygget i en række forskellige udstyr. På grund af det enorme antal objekter, der styres ved hjælp af mikrocontrollere, overstiger deres årlige produktionsvolumen 2 milliarder enheder, hvilket overstiger produktionsvolumen af ​​mikroprocessorer med en størrelsesorden generel brug. Udvalget af fremstillede mikrocontrollere er også meget bredt og indeholder flere tusinde typer.

Karakteristisk træk Strukturen af ​​mikrocontrollere er at placere intern hukommelse og et stort sæt perifere enheder på en enkelt chip med en central processor. Periferiudstyr inkluderer typisk flere 8-bit parallelle I/O-porte (1 til 8), en eller to serie Port, timerblok, analog-til-digital konverter. Derudover indeholder forskellige typer mikrocontrollere yderligere specialiserede enheder - en signalgenereringsenhed med pulsbreddemodulation, en flydende krystaldisplaycontroller og en række andre. Takket være brugen af ​​intern hukommelse og perifere enheder indeholder kontrolsystemer implementeret på basis af mikrocontrollere et minimum af yderligere komponenter.

På grund af bredt udvalg Ved løsning af kontrolproblemer viser kravene til processorydeevne, mængden af ​​intern hukommelse af kommandoer og data og sættet af nødvendige perifere enheder at være meget forskellige. For at imødekomme forbrugernes krav produceres der et stort udvalg af mikrocontrollere, som normalt er opdelt i 8-, 16- og 32-bit.

Bit mikrocontrollere repræsenterer den største gruppe af denne klasse af mikroprocessorer. De har relativt lav ydeevne, hvilket dog er ganske tilstrækkeligt til at løse en lang række problemer med at håndtere forskellige objekter. Det er simple og billige mikrocontrollere rettet mod brug i relativt simple masseproducerede enheder. Hovedområderne for deres anvendelse er husholdnings- og måleudstyr, industriel automation, bilelektronik, tv, video- og lydudstyr, kommunikation, hospitalsudstyr.

Disse mikrocontrollere er kendetegnet ved implementeringen af ​​Harvard-arkitekturen, som bruger separat hukommelse til at gemme programmer og data. Til at gemme programmer i forskellige typer Mikrocontrollere bruger enten en maskeprogrammerbar ROM (ROM), en engangsprogrammerbar ROM (PROM) eller en elektrisk omprogrammerbar ROM (EPROM, EEPROM eller Flash). Intern programhukommelse spænder normalt fra flere enheder til titusinder af kilobyte. Til lagring af data bruges en registerblok, organiseret i form af flere registerbanker eller intern RAM. Mængden af ​​intern datahukommelse spænder fra adskillige snesevis af bytes til adskillige KB. En række mikrocontrollere i denne gruppe tillader, om nødvendigt, yderligere at tilslutte ekstern kommando- og datahukommelse med en kapacitet på op til 64 - 256 KB.

Mikrocontrollere i denne gruppe udfører normalt et relativt lille sæt instruktioner (50-100), ved hjælp af de enkleste adresseringsmetoder. En række af de nyeste modeller af disse mikrocontrollere implementerer principperne for RISC-arkitektur, hvilket kan øge deres ydeevne betydeligt. Som et resultat sikrer sådanne RISC-mikrocontrollere, at de fleste instruktioner udføres i én clock-cyklus.

Bit mikrocontrollere er i mange tilfælde en forbedret modifikation af deres 8-bit prototyper. De er ikke kun kendetegnet ved en øget bitkapacitet af de behandlede data, men også af et udvidet system af kommandoer og adresseringsmetoder, et øget sæt af registre og mængden af ​​adresserbar hukommelse, samt en række andre yderligere funktioner, hvis brug kan forbedre produktiviteten og give nye anvendelsesområder. Typisk giver disse mikrocontrollere dig mulighed for at udvide program- og datahukommelsen til flere MB ved at tilslutte eksterne hukommelseschips. I mange tilfælde implementeres de software kompatibilitet med low-end 8-bit modeller. De vigtigste anvendelsesområder for sådanne mikrocontrollere er kompleks industriel automation, telekommunikationsudstyr, medicinsk udstyr og måleudstyr.

Bit-mikrocontrollere indeholder en højtydende processor, der i sin egenskaber kan sammenlignes med low-end-modeller af mikroprocessorer til generelle formål. I nogle tilfælde ligner processoren, der bruges i disse mikrocontrollere, CISC- eller RISC-processorer, der er eller tidligere blev udgivet som mikroprocessorer til generelle formål. For eksempel bruger 32-bit mikrocontrollere fra Intel i386-processoren, mikrocontrollere fra Motorola bruger i vid udstrækning 68020-processoren, og en række andre mikrocontrollere bruger processor kerne Der anvendes RISC-processorer af typen PowerPC. Baseret på disse processorer blev forskellige modeller af personlige computere implementeret. Introduktionen af ​​disse processorer i mikrocontrollere gør det muligt i de tilsvarende styresystemer at bruge en enorm mængde applikations- og systemsoftware, der tidligere blev skabt til de tilsvarende personlige computere.

Ud over 32-bit processoren rummer mikrocontroller-chippen en intern kommandohukommelse med en kapacitet på op til titusvis af kilobyte, en datahukommelse med en kapacitet på op til flere kilobyte samt komplekse funktionelle perifere enheder - en timerprocessor , en kommunikationsprocessor, et serielt udvekslingsmodul og en række andre. Mikrocontrollere arbejder med ekstern hukommelse op til 64 MB og højere. De er meget udbredt i kontrolsystemer komplekse objekter industriel automation (motorer, robotudstyr, kompleks), kontrol- og måleudstyr og telekommunikationsudstyr.

Den interne struktur af disse mikrocontrollere implementerer Princeton- eller Harvard-arkitektur. De processorer, de indeholder, kan have en CISC- eller RISC-arkitektur, og nogle af dem indeholder flere udførelsespipelines, der danner en superskalær struktur.

3. Elektroniske computere. Computer klassificering


Computerarkitektur er de mest generelle principper for computerkonstruktion, der implementerer softwarekontrol af driften og interaktionen af ​​dens vigtigste funktionelle enheder.

Computerarkitektur forstås normalt som et sæt af generelle principper organisering af hardware og software og deres hovedkarakteristika, som bestemmer computerens funktionalitet ved løsning af relevante typer problemer. Computerarkitekturen omfatter både en struktur, der afspejler pc'ens sammensætning og software og matematisk understøttelse. Strukturen af ​​en computer er et sæt af elementer og forbindelser mellem dem. Det grundlæggende princip om at bygge alle moderne computere er softwarekontrol.

Klassisk computerarkitektur. Grundlæggende i læren om arkitektur computere blev grundlagt af John von Neumann<#"229" src="doc_zip5.jpg" />

Figur 3 - Computerstruktur


Computer klassifikationer. Flynn klassifikation.<#"justify">· OKOD (SISD) (enkelt instruktionsstrøm / enkelt datastrøm) - en enkelt kommandostrøm og en enkelt datastrøm. I sådanne maskiner er der kun én strøm af kommandoer, alle kommandoer behandles sekventielt den ene efter den anden, og hver kommando starter en operation på én datastrøm.

· SIMD (single instruction stream / multiple data stream) - enkelt instruktionsstrøm og multipel datastrøm. I arkitekturer af denne art bibeholdes én strøm af kommandoer, som i modsætning til den tidligere klasse inkluderer vektorkommandoer. Dette giver dig mulighed for at udføre en aritmetisk operation på mange data - vektorelementer - på én gang.

· MISD (multiple instruction stream / single data stream) - flere kommandostrøm og enkelt datastrøm. Definitionen indebærer tilstedeværelsen i arkitekturen af ​​mange processorer, der behandler den samme datastrøm. Hverken Flynn eller andre eksperter inden for computerarkitektur har dog endnu været i stand til at give et overbevisende eksempel på et real-life computersystem bygget på dette princip.

· MIMD (multiple instruction stream / multiple data stream) - multipel kommandostrøm og multipel datastrøm. Denne klasse antager, at et computersystem har flere kommandobehandlingsenheder, kombineret til et enkelt kompleks og hver arbejder med sin egen strøm af kommandoer og data.

OKOD-arkitekturen dækker alle single-processor og single-machine versioner af systemer, dvs. med én computer. Alle computere klassisk struktur falder i denne klasse. Her sikres parallelitet af beregninger ved at kombinere udførelsen af ​​operationer ved separate ALU-blokke, samt parallelt arbejde input/output enheder og processor. Organisationsmønstre computerproces i disse strukturer er ret godt undersøgt.

OKMD-arkitekturen involverer oprettelsen af ​​vektor- eller matrixbehandlingsstrukturer. Systemer af denne type bygges normalt som homogene, dvs. behandlingselementerne i systemet er identiske, og de styres alle af den samme rækkefølge af kommandoer. Hver processor behandler dog sin egen datastrøm. Problemer med at behandle matricer eller vektorer (arrays), problemer med at løse systemer af lineære og ikke-lineære, algebraiske og differentialligninger, feltteoretiske problemer osv. I strukturerne i denne arkitektur er det ønskeligt at tilvejebringe forbindelser mellem processorer, der svarer til de implementerede matematiske afhængigheder. Som regel ligner disse forbindelser en matrix, hvor hvert behandlingselement er forbundet med dets naboer.

Systemer blev bygget i henhold til denne ordning: den første supercomputer - ILLIAC-IV, indenlandske parallelle systemer - PS-2000, PS-3000. Ideen om vektorbehandling blev meget brugt i så velkendte supercomputere som Cyber-205 og Gray-I, II, III. Flaskehalsen ved sådanne systemer er behovet for at ændre skiftet mellem processorer, når forbindelsen mellem dem adskiller sig fra matrixen. Derudover udgør problemer, der tillader bred matrixparallelisme, en ret snæver klasse af problemer. VS-strukturer af denne type er i det væsentlige strukturer af specialiserede supercomputere.

Den tredje type MCOD-arkitektur involverer konstruktionen af ​​en slags processorpipeline, hvor behandlingsresultater overføres fra en processor til en anden langs en kæde. Fordelene ved denne type behandling er klare. Prototypen af ​​sådanne beregninger kan være et diagram af enhver produktionstransportør. I moderne computere er der ifølge dette princip implementeret en ordning til at kombinere operationer, hvor forskellige funktionsblokke, og hver af dem gør sin del i den overordnede kommandobehandlingscyklus.

I computere af denne type bør rørledningen være dannet af grupper af processorer. Men når man flytter til systemniveauet, er det meget vanskeligt at identificere en sådan regulær karakter i universelle beregninger. Derudover er det i praksis umuligt at sikre en "længere længde" af en sådan transportør, hvor den højeste effekt opnås. Samtidig har pipeline-kredsløbet fundet anvendelse i såkaldte skalære supercomputer-processorer, hvor de bruges som specielle processorer til at understøtte vektorbehandling.

MCMD-arkitekturen forudsætter, at alle processorer i systemet fungerer efter deres egne programmer med deres egen instruktionsstrøm. I det enkleste tilfælde kan de være autonome og uafhængige. Denne ordning for brug af fly bruges ofte i mange store computercentre for at øge centrets gennemstrømning. Af stor interesse er muligheden for koordineret drift af computere (processorer), når hvert element gør en del af en fælles opgave. Generel teoretisk grundlag Denne type arbejde er praktisk talt fraværende. Men vi kan give eksempler på den store effektivitet af denne computermodel. Sådanne systemer kan være multi-maskine og multi-processor. For eksempel tillod det indenlandske projekt af en dynamisk arkitekturmaskine (DMA) - ES-2704, ES-2727 samtidig brug af hundredvis af processorer.

Computerarkitekturen omfatter både en struktur, der afspejler pc'ens sammensætning og software og matematisk understøttelse. Strukturen af ​​en computer er et sæt af elementer og forbindelser mellem dem. Det grundlæggende princip for at bygge alle moderne computere er programstyring. Grundlaget for læren om computerarkitektur blev lagt af John von Neumann. Kombinationen af ​​disse principper gav anledning til den klassiske (von Neumann) computerarkitektur.


Mikroprocessor(MP) er en softwarestyret enhed, der er designet til at behandle digital information og styre processen for denne behandling og er lavet i form af et eller flere store integrerede kredsløb (LSI).

Koncept stort integreret kredsløb i øjeblikket ikke klart defineret. Tidligere mente man, at denne klasse skulle omfatte mikrokredsløb indeholdende mere end 1000 elementer på en chip. Faktisk passer de første mikroprocessorer inden for disse parametre. For eksempel indeholdt 4-bit processorsektionen af ​​K584 mikroprocessorsættet, produceret i slutningen af ​​1970'erne, omkring 1.500 elementer. Nu, hvor mikroprocessorer indeholder titusinder af transistorer, og deres antal er konstant stigende, mener vi med LSI et funktionelt komplekst integreret kredsløb.

Mikroprocessor system(MPS) er et funktionelt komplet produkt bestående af en eller flere enheder, hvis basis er en mikroprocessor.

En mikroprocessor er kendetegnet ved et stort antal parametre og egenskaber, da det på den ene side er en funktionelt kompleks computerenhed og på den anden side en elektronisk enhed, et produkt fra elektronikindustrien. Som et middel computerteknologi den er kendetegnet primært ved sin arkitektur, det vil sige et sæt software- og hardwareegenskaber, der leveres til brugeren. Dette omfatter instruktionssystemet, typer og formater af behandlede data, adresseringstilstande, antal og distribution af registre, principper for interaktion med RAM og eksterne enheder (karakteristika ved afbrydelsessystemet, direkte hukommelsesadgang osv.). I henhold til deres arkitektur er mikroprocessorer opdelt i flere typer (fig. 1.1).

Universelle mikroprocessorer er designet til at løse problemer med digital behandling af forskellige typer information, fra tekniske beregninger til arbejde med databaser, uden strenge restriktioner på den tid, der kræves for at udføre opgaven. Denne klasse af mikroprocessorer er den mest kendte. Det omfatter så velkendte mikroprocessorer som Pentium-serien MP fra Intel og Athlon-familiens MP fra AMD.

Ris. 1.1. Klassificering af mikroprocessorer

Karakteristika for universelle mikroprocessorer:

    bitdybde: bestemmes af den maksimale bitkapacitet af heltalsdata behandlet i 1 clock-cyklus, dvs. faktisk bitkapaciteten af ​​den aritmetisk-logiske enhed (ALU);

    typer og formater af behandlede data;

    kommandosystem, operand adresseringstilstande;

    kapacitet af direkte adresserbar RAM: bestemt af bitbredden af ​​adressebussen;

    frekvens ekstern synkronisering. For synkroniseringsfrekvensen er dens maksimalt mulige værdi normalt angivet, hvor kredsløbets drift er garanteret. For funktionelt komplekse kredsløb, som omfatter mikroprocessorer, er nogle gange også angivet den mindst mulige synkroniseringsfrekvens. Reduktion af frekvensen under denne grænse kan resultere i kredsløbsfejl. Samtidig, i de MP-applikationer, hvor høj ydeevne ikke er påkrævet, er reduktion af synkroniseringsfrekvensen et af områderne for energibesparelse. I en række moderne mikroprocessorer, som frekvensen falder, bliver det til<спящий режим>, hvor den bevarer sin tilstand. Klokkefrekvensen inden for den samme arkitektur giver dig mulighed for at sammenligne ydeevnen af ​​mikroprocessorer. Men forskellige arkitektoniske beslutninger påvirker ydeevnen meget mere end frekvensen;

    ydeevne: bestemmes ved hjælp af specielle test, og sættet af test er udvalgt på en sådan måde, at de om muligt dækker forskellige karakteristika ved processorens mikroarkitektur, der påvirker ydeevnen.

Universal mikroprocessorer er normalt opdelt i CISC- Og RISC mikroprocessorer.CISC mikroprocessorer(Completed Instruction Set Computing - beregninger med et komplet instruktionssystem) inkorporerer hele det klassiske sæt instruktioner med bredt udviklede operandadresseringstilstande. Det er denne klasse, der for eksempel omfatter mikroprocessorer af Pentium-typen. På samme tid RISC mikroprocessorer(reduceret instruktionssætberegning - beregninger med et reduceret instruktionssystem) anvender, som det følger af definitionen, et reduceret antal kommandoer og adresseringstilstande. Her bør vi først og fremmest fremhæve mikroprocessorer som Alpha 21x64, Power PC. Antallet af instruktioner i instruktionssættet er det mest indlysende, men i dag er det ikke den vigtigste forskel i disse udviklingsretninger af universelle mikroprocessorer. Vi vil overveje andre forskelle, når vi studerer funktionerne i deres arkitektur.

Enkelt-chip mikrocontrollere(OMK eller blot MK) er beregnet til brug i industrielle og husholdningsautomationssystemer. De er store integrerede kredsløb, der omfatter alle de enheder, der er nødvendige for at implementere et minimalt konfigureret digitalt kontrolsystem: en processor (normalt heltal), kommandohukommelse, datahukommelse, urgenerator, programmerbare enheder til kommunikation med det eksterne miljø (controllerafbrydelser, timer- tællere, forskellige input/output-porte), nogle gange analog-til-digital og digital-til-analog konvertere osv. I nogle kilder kaldes denne klasse af mikroprocessorer single-chip mikrocomputere (SMC'er).

I øjeblikket er to tredjedele af alle mikroprocessor-LSI'er produceret i verden MP'er af denne klasse, og næsten to tredjedele af dem har en bitkapacitet, der ikke overstiger 16 bit. Klassen af ​​single-chip mikrocontrollere omfatter primært mikroprocessorer af MCS-51-serien fra Intel og lignende mikroprocessorer fra andre producenter, hvis arkitektur er blevet en de facto standard.

Karakteristiske træk ved arkitekturen af ​​single-chip mikrocontrollere:

    fysisk og logisk adskillelse af instruktionshukommelse og datahukommelse (Harvard-arkitektur), mens programmer og data i den klassiske Neumann-arkitektur er placeret i en fælles lagerenhed og har samme adgangsmekanisme;

    forenklet og opgaveorienteret kommandosystem: MK'en har som udgangspunkt ikke floating-point databehandlingsværktøjer, men samtidig indeholder kommandosystemet kommandoer med fokus på effektivt arbejde med sensorer og aktuatorer, f.eks. behandling af bitinformation ;

    de enkleste operandadresseringstilstande.

Hovedkarakteristika for mikrocontrollere(som et eksempel præsenteres numeriske værdier for MK-51):

    Bitstørrelse (8 bits).

    Kapacitet af intern kommandohukommelse og datahukommelse, muligheder og begrænsninger for deres udvidelse:

    intern kommandohukommelse - 4 KB (i gennemsnit er en kommando 2 byte lang, så et program med en længde på omkring 2000 kommandoer kan gemmes i den interne hukommelse); kan udvides ved at tilslutte ekstern hukommelse op til 64 KB;

    on-chip datahukommelse 128 bytes (du kan tilslutte ekstern hukommelse med en samlet kapacitet på op til 64 KB).

Urfrekvens:

  • ekstern frekvens 12 MHz;

    maskincyklusfrekvens 1 MHz.

Muligheder for interaktion med eksterne enheder: antal og formål med I/O-porte, karakteristika for afbrydelsessystemet, softwareunderstøttelse til interaktion med eksterne enheder.

Tilgængelighed og karakteristika for indbyggede analog-til-digital-omformere (ADC) og digital-til-analog-konvertere (DAC) for at forenkle koordinering med sensorer og aktuatorer i styresystemet.

Opdelte mikroprocessorer(andre navne: mikroprogrammerbar og bit-modulær) er mikroprocessorer designet til at bygge specialiserede processorer. De er mikroprocessorsektioner med relativt lille kapacitet (fra 2 til 16) med brugeradgang til mikroprogramkontrolniveauet og midler til at kombinere flere sektioner.

Denne organisation giver dig mulighed for at designe en processor med den nødvendige kapacitet og med et specialiseret instruktionssystem. På grund af deres lave bitkapacitet kan mikroprocessorsektioner bygges ved hjælp af højhastighedsteknologier. Kombinationen af ​​alle disse faktorer gør det muligt at skabe en processor, der er bedst orienteret til en given klasse af algoritmer, både hvad angår instruktionssystemet og adresseringstilstande og i dataformater.

Et af de første sæt af partitionerede mikroprocessorer var MP LSI'er fra Intel 3000-familien. I vores land blev de produceret som en del af K589- og 585-serien. Processorelementerne i denne serie var en to-bit mikroprocessor. Det mest almindelige sæt af partitionerede mikroprocessorer er Am2900, som er baseret på 4-bit sektioner. I vores land blev en analog af dette sæt produceret som en del af K1804-serien. Sættet indeholdt følgende BIS:

  • bit sektions-ALU;

    accelereret overførsel blok;

    bit sektions-ALU med hardwareunderstøttelse til multiplikation;

    type mikroprogram kontrolkredsløb;

    tilstand og skift controller;

    prioritetsafbrydelsescontroller.

Den største ulempe ved mikroprocessorsystemer baseret på opdelte mikroprocessor-LSI'er er kompleksiteten af ​​at designe, fejlfinde og programmere systemer baseret på dem. Brugen af ​​et specialiseret kommandosystem førte til inkompatibilitet af softwaren, der blev udviklet til forskellige mikroprocessorer. Evnen til at skabe en specialiseret processor, der er optimal i mange henseender, krævede arbejdet fra kvalificerede udviklere over en længere periode. Imidlertid førte den hurtige udvikling af elektroniske teknologier til, at der under udformningen af ​​en specialiseret processor blev udviklet en universel mikroprocessor, hvis muligheder dækkede den hypotetiske gevinst ved at designe en specialiseret enhed. Dette har ført til, at denne klasse af mikroprocessor-LSI'er på nuværende tidspunkt praktisk talt ikke bruges.

Digitale signalprocessorer, eller digitale signalprocessorer, er en klasse af mikroprocessorer, der udvikler sig hurtigt, designet til at løse problemer med digital signalbehandling - behandling af lydsignaler, billeder, mønstergenkendelse osv. De omfatter mange funktioner i single-chip mikrocontrollere: Harvard-arkitektur, indbygget kommando- og datahukommelse, avanceret funktioner fungerer med eksterne enheder. Samtidig indeholder de funktioner fra universelle parlamentsmedlemmer, især med en RISC-arkitektur: pipeline-organisation af arbejde, software og hardware til udførelse af flydende kommaoperationer, hardwareunderstøttelse af komplekse specialiserede beregninger, især multiplikation.

Som et elektronisk produkt Mikroprocessoren er karakteriseret ved en række parametre, hvoraf de vigtigste er følgende:

    Synkroniseringskrav: maksimal frekvens, stabilitet.

    Antal og klassifikationer af strømforsyninger, krav til deres stabilitet. I øjeblikket er der en tendens til at reducere forsyningsspændingen, hvilket reducerer varmeafgivelsen af ​​kredsløbet og fører til en stigning i frekvensen af ​​dets drift. Hvis de første mikroprocessorer fungerede med en forsyningsspænding på +-15V, bruger individuelle kredsløb nu kilder på mindre end 1 V.

    Effekttab- dette er effekttabet i kredsløbets udgangstrin, som bliver til varme og opvarmer udgangstransistorerne. Det karakteriserer med andre ord varmeafgivelseshastigheden af ​​LSI, som i høj grad bestemmer kravene til mikroprocessorsystemets design. Denne egenskab er især vigtig for indlejret MPS.

    Signalniveauer af logisk nul og logisk et, som er forbundet med strømforsyningernes ratings.

    Sagstype - giver dig mulighed for at evaluere kredsløbets egnethed til drift under visse forhold, samt muligheden for at bruge en ny LSI som erstatning for den eksisterende på tavlen.

    Den omgivende temperatur, som kredsløbet kan fungere ved. Der er to intervaller her:

    kommerciel (0°C ... +70°C);

    forlænget (-40°C ... +85°C).

Støjimmunitet- bestemmer kredsløbets evne til at udføre sine funktioner i nærvær af interferens. Støjimmunitet vurderes ud fra intensiteten af ​​interferens, hvor afbrydelsen af ​​enhedens funktioner endnu ikke overskrider de tilladte grænser. Jo stærkere interferens, som enheden forbliver i drift, jo højere er dens immunitet over for interferens.

Belastningskapacitet eller udgangs-fan-out-koefficienten bestemmes af antallet af kredsløb af samme serie, hvis indgange kan forbindes til udgangen af ​​et givet kredsløb uden at forstyrre dets drift. Jo højere belastningskapaciteten er, jo bredere er kredsløbets logiske muligheder, og jo færre sådanne mikrokredsløb er nødvendige for at bygge en kompleks computerenhed. Men efterhånden som denne koefficient stiger, forringes støjimmuniteten og ydeevnen.

Pålidelighed er et kredsløbs evne til at opretholde sit ydeevnekvalitetsniveau under specificerede forhold over en bestemt periode. Typisk karakteriseret ved fejlrate (time-1) eller middeltid mellem fejl (time). I øjeblikket er denne parameter for store integrerede kredsløb normalt ikke specificeret af producenten. Pålideligheden af ​​MP LSI kan bedømmes ved indirekte indikatorer, for eksempel ved pålideligheden af ​​produktet som helhed, citeret af computerteknologiudviklere.

Karakteristika for den teknologiske proces. Hovedindikatoren her er opløsningen af ​​processen. I øjeblikket er det 32 ​​nm, det vil sige omkring 30 tusind linjer pr. 1 mm. En mere avanceret teknologisk proces gør det muligt at skabe en mikroprocessor med større funktionelle muligheder.

Ris. 1.2. Fremstillingsomkostninger for et mikroprocessorsystem

Omkostningerne ved fremstilling af enheder ved hjælp af mikroprocessor-LSI'er er vist i fig. 1.2. Her:

  1. omkostninger ved fremstilling af LSI (jo større grad af integration af elementer på chippen, jo dyrere er produktionen af ​​kredsløbet);

    omkostninger ved montering og opsætning af et mikroprocessorsystem (med en stigning i funktionaliteten af ​​MP vil der være behov for færre kredsløb for at skabe en MPS);

    de samlede omkostninger ved mikroprocessorsystemet, som består af omkostninger (1) og (2). Det har noget optimal værdi for dette niveau teknologiudvikling;

    overgang til en ny teknologi (et andet antal elementer på chippen vil være optimalt, og de samlede omkostninger ved produktet reduceres).

I 1965 formulerede Gordon Moore den hypotese, der nu er kendt som<закон Мура>, hvorefter antallet af transistorer pr. integreret kredsløb fordobles hvert 1,5-2 år. Dette sikres af den løbende forbedring af teknologiske processer til produktion af mikrokredsløb.

Den mest teknologisk avancerede Intel selskab Der er seks stadier i livscyklussen for halvlederteknologier skabt og brugt af virksomheden.

Det tidligste stadie finder sted uden for Intel - i universitetslaboratorier og uafhængige forskningscentre, hvor der søges efter nye fysiske principper og metoder, der kan danne grundlag for videnskabeligt og teknologisk grundlag i de kommende år. Selskabet finansierer denne forskning.

På anden fase udvælger Intel-forskere de mest lovende områder til udvikling af nye teknologier. I dette tilfælde overvejes normalt 2-3 løsningsmuligheder.

Hovedopgaven for tredje fase er den fuldstændige grove udvikling af den nye teknologi og demonstration af dens gennemførlighed.

Efter dette begynder den fjerde fase, hvis hovedmål er at sikre opnåelsen af ​​specificerede værdier af sådanne vigtige tekniske og økonomiske indikatorer som udbyttet af passende produkter, pålidelighed, omkostninger og nogle andre. Færdiggørelsen af ​​etapen bekræftes af frigivelsen af ​​det første industrielle parti af nye produkter.

Den femte fase er den industrielle udvikling af ny teknologi. Dette problem er ikke mindre komplekst end udviklingen af ​​selve teknologien, da det er ekstremt vanskeligt nøjagtigt at gengive under reelle produktionsforhold, hvad der blev opnået i laboratoriet. Det er typisk her, der opstår forsinkelser med tidspunktet for frigivelsen af ​​nye produkter, med opnåelse af planlagte leveringsmængder og produktionsomkostninger.

Den sidste sjette fase af teknologiens livscyklus (før man opgiver dens brug) er modenhed. Moden teknologi, der gennemgår visse forbedringer for at øge udstyrsproduktiviteten og reducere produktionsomkostningerne, sikrer de vigtigste produktionsmængder. Efterhånden som nye, mere avancerede teknologier introduceres<старые>produktioner afvikles.

Men ikke med det samme: først overføres de til produktion af mikrokredsløb med lavere hastighed eller med færre transistorer, for eksempel perifere LSI'er.

Struktur og arkitektur egenskaber af Pentium 4 mikroprocessor

Pentium 4 mikroprocessoren er den endelige model af 32-bit mikroprocessorer fra INTEL med IA-32 arkitektur. Hovedtræk ved denne processor:

    ny mikroarkitektur af NetBurst-processoren (pakke-netværk);

    ny FSB systembus.

Processorens mikroarkitektur bestemmer implementeringen af ​​dens interne struktur, principperne for udførelse af indkommende kommandoer og metoderne til at placere og behandle data. NetBurst-mikroarkitekturen adskiller sig fra sine forgængere på en række måder:

    Harvard-strukturen bruges med adskillelse af kommando- og datastrømme.

    Den bruger hyper-pipeline-teknologi (Hyper-PIPelINed Technology) til at udføre kommandoer, hvor antallet af pipeline-trin når 31 (i Pentium III - 11 trin). Således samtidig i gang med udførelse på forskellige stadier implementering kan indeholde over 30 kommandoer.

    Der anvendes dynamisk eksekvering, bygget på tre grundlæggende koncepter: grenforudsigelse, dynamisk dataflowanalyse og spekulativ eksekvering (OUT-oforder eksekvering). En lignende mekanisme, kaldet Dynamic Execution, bruges i Pentium III MP, men i INTEL Pentium 4 er det forbedret.

    Aritmetiske og logiske operationer udføres ved det dobbelte af processorens clock-hastighed, hvilket giver dig mulighed for at opnå resultater for to instruktioner i en clock-cyklus.

    256 KB L2-cachen er placeret direkte på processormatricen, hvilket resulterer i hurtigere adgangstider sammenlignet med Pentuim III, som ligger på en separat die i en delt pakke med processoren.

    Nummerbehandlingsmulighederne baseret på SIMD-princippet er blevet væsentligt udvidet i den nye SSE-2 blok.

Lad os se på disse funktioner mere detaljeret. Før Pentium 4 MP struktur

Kommandoer og data kommer ind i mikroprocessoren gennem systeminterfaceenheden.

Enhver x86-processor skal være udstyret med en processorbus. Denne bus fungerer som en kommunikationskanal mellem processoren og alle andre enheder i computeren: hukommelse, videokort, harddisk og så videre. Det klassiske skema til organisering af den eksterne processorgrænseflade antager således, at en parallel multiplekset processorbus, almindeligvis kaldet FSB (Front Side Bus), forbinder processoren (nogle gange to processorer eller endda flere) og en controller, der giver adgang til RAM og eksterne enheder . Denne controller er normalt en del af den nordlige bro i systemlogiksættet (chipsættet). For at fremskynde hukommelsesudveksling bruger Pentium 4 en ny implementering af systembussen, der giver udveksling med en tilsvarende frekvens på 400 MHz. Denne hastighed opnås ved at bruge en ny type ultrahurtig dual-channel RDRAM-hukommelse og en speciel MCH (Memory ConTROller Hub)-chip, som implementerer 4 dataoverførselskanaler. Med en clockfrekvens på 100 MHz pr. kanal er der tilvejebragt en samlet vekselkurs svarende til 400 MHz. Bussen inkluderer en 64-bit tovejs databus, der giver en gennemstrømning på 3,2 GB/s, og en 36-bit adressebus (33 adresselinjer A35-A3 og 8 byte udvalgslinjer BE7-BE0), som tillader adressering af fysisk hukommelse op til 64 GB. Det er netop den firdoblede resulterende dataoverførselsfrekvens, der er et af de vigtigste stoltheder for Pentium 4-udviklerne. Men for adskillige små forespørgsler, hvor dataene for det meste passer ind i en 64-byte del (og følgelig mulighederne for flerkanalsoverførsel ikke bruges), er det clockfrekvensen, der er vigtigere. De seneste Pentium 4-modeller kører med en 150 MHz frontsidebus, som giver en tilsvarende FSB-hastighed på 600 MHz og en båndbredde på 4,8 GB/s.

Information modtaget via systembussen lagres i en 256 KB niveau 2 cache (L2), fælles for kommandoer og data, som er placeret direkte på MP-chippen. Bredden af ​​den bus, over hvilken data udveksles mellem L2-cachehukommelsen og processoren, er 256 bit (32 bytes), og dens klokfrekvens falder sammen med klokfrekvensen for processorkernen.

Harvards interne design er implementeret på niveau 1 (L1) cachelaget ved at adskille instruktionen og datastrømmene. Niveau 1-datacachen har en kapacitet på 8 KB. I stedet for en niveau 1-instruktionscache bruger Pentium 4 en afkodet instruktionscache (mikroinstruktioner). Execution TRace Cache er navnet og samtidig en måde at implementere L1-instruktionscachen i NetBurst-arkitekturen. Det semantiske indhold af dette udtryk kan oversættes som "sporingscache af udførte mikroinstruktioner". Execution TRace Cache gemmer mikroinstruktioner (?ops), der blev opnået som et resultat af afkodning af inputstrømmen af ​​instruktioner fra den eksekverbare kode og er klar til at blive sendt til pipelinen til eksekvering. Kapaciteten af ​​Execution TRace Cache er 12 KB.

Når mikroinstruktionscachen er fuld, vil næsten enhver instruktion blive gemt i den i afkodet form. Derfor, når den næste kommando ankommer, vælger sporingsblokken fra denne cachehukommelse de nødvendige mikroinstruktioner for at sikre dens udførelse.

Hvis en betinget greninstruktion vises i kommandostrømmen, aktiveres grenforudsigelsesmekanismen, som genererer adressen på den næste valgte instruktion, før betingelsen for at udføre grenen bestemmes.

Efter at mikroinstruktionsstrømmene er dannet, allokeres de registre, der er nødvendige for at udføre de afkodede instruktioner.

Denne procedure implementeres af registerallokeringsblokken. Den tildeler for hvert logisk register specificeret i kommandoen (heltalsoperandregister EAX, EBX osv., flydende operandregister ST0-ST7 eller blokregister MMX, SSE) et af 128 fysiske registre inkluderet i substitutionsregisterblokkene (BRZ) heltal blok af mikroprocessoren og floating-point-talbehandlingsblokken. Denne procedure giver dig mulighed for at minimere pipelinekonflikter og tillade, at instruktioner, der bruger de samme logiske registre, udføres samtidigt eller i skiftende rækkefølge.

Distributions-/omdøbningsstadierne af pipelinen kan udstede tre mikroinstruktioner pr. clock-cyklus til næste fase af pipelinen.

De valgte mikroinstruktioner placeres i mikroinstruktionskøen. Den indeholder mikrokommandoer, der implementerer udførelsen af ​​op til 120 modtagne og afkodede kommandoer, som derefter sendes til aktuatorer. Bemærk, at i Pentium III-processorer er mikroinstruktioner for 40 indkommende kommandoer i køen. En betydelig stigning i antallet af kommandoer i køen giver dig mulighed for mere effektivt at organisere flowet af deres udførelse ved at ændre rækkefølgen af ​​kommandoudførelse og fremhæve kommandoer, der kan udføres parallelt. Disse funktioner implementeres af mikrokommando distributionsenheden. Den vælger mikroinstruktioner fra køen, ikke i rækkefølgen af ​​deres ankomst, men som de tilsvarende operander og aktuatorer er klar. Som et resultat kan kommandoer modtaget senere udføres før tidligere valgte kommandoer. I dette tilfælde realiseres den samtidige udførelse af flere mikrokommandoer (kommandoer) i parallelle driftsenheder. Således afbrydes den naturlige rækkefølge af kommandoer (mikro-instruktioner) for at sikre en mere komplet belastning af parallelforbundne aktuatorer og øge processorydelsen.

Adresserne på operanderne hentet fra hukommelsen beregnes af adressegenereringsenheden (AFU), som implementerer grænsefladen med niveau 1 datacachen. I overensstemmelse med adresseringsmetoderne specificeret i de afkodede instruktioner dannes 48 adresser til indlæsning af operander fra hukommelsen til BRZ-registret og 24 adresser til skrivning fra registret til hukommelsen (i Pentium III dannes 16 adresser til indlæsning af registre og 12 adresser til skrivning i hukommelsen). I dette tilfælde genererer BFA operandadresser for kommandoer, der endnu ikke er modtaget til udførelse. Når man får adgang til hukommelse, udsteder BFA samtidigt adresserne på to operander: en til at indlæse operanden i et givet register for BRZ'en, den anden til at sende resultatet fra BRZ'en til hukommelsen. På denne måde implementeres en procedure for foreløbig aflæsning af data til efterfølgende behandling i eksekveringsenheder (spekulativ sampling).

Den parallelle drift af SSE, FPU, MMX blokke er organiseret på en lignende måde, som bruger et separat sæt registre og en blok til at generere operandadresser.

Når en operand hentes fra hukommelsen, tilgås datacachen (L1), som har separate porte til læsning og skrivning. I en urcyklus hentes operanderne for to instruktioner.

Ved dannelse af adresser sikres adgang til et specificeret hukommelsessegment. Hvert segment kan opdeles i sider. For at reducere sendetiden bruges den sideadresse associativ oversættelsesbuffer TLB, som gemmer basisadresserne på de oftest brugte sider.

Mikrokommandoer kommer ind i executive-kernen fra en distributionsenhed via 4 porte til 8 executive-enheder. Disse porte fungerer som gateways til funktionelle enheder. For at behandle heltalsdata og udføre logiske operationer bruger Pentium 4 4 aritmetiske logiske enheder (ALU'er) af samme type. Floating point-behandling foregår i FPU'en. MMX- og SSE-blokkene er designet til at udføre disse typer kommandoer.

Op til seks mikrokommandoer kan passere gennem portene i en urcyklus. Dette er mere end præprocessoren kan udføre (3 mikroinstruktioner pr. clock-cyklus), hvilket giver en vis frihed i tilfælde af en kraftig stigning i antallet af mikroinstruktioner klar til udførelse. Mikroprocessorens superskalære arkitektur implementeres ved at organisere den udøvende kerne af MP i form af et antal parallelle arbejdsblokke.

Aritmetisk-logiske enheder ALU behandler heltalsoperander, der kommer fra specificerede BRZ-registre. Resultatet af operationen indføres også i disse registre. Samtidig kontrolleres grenbetingelser for betingede greninstruktioner, og kommandopipeline-genindlæsningssignaler udsendes i tilfælde af en forkert forudsagt gren. Driftsklokfrekvensen for ALU-moduler er det dobbelte af processorens clockhastighed. Dette opnås ved at trigge på både de stigende og faldende flanker af master clock-signalet. Hvert ALU-modul er således i stand til at udføre op til to heltalsoperationer pr. processorcyklus.

Effektiviteten af ​​rørledningen er kraftigt reduceret på grund af behovet for at genindlæse den, når du udfører betingede grene, når det er nødvendigt at rydde alle tidligere trin og vælge en kommando fra en anden gren af ​​programmet. For at reducere den tid, der går tabt i forbindelse med genfyldning af transportbåndet, er en forbedret gren forudsigelsesblok. Dens hoveddel er en associativ hukommelse kaldet filialadressebufferen BTB, som gemmer 4092 adresser på tidligere udførte filialer. Bemærk, at Pentium III-processorens BTB kun gemmer adresserne på 512 overgange. Derudover indeholder BTB'en grenhistorikbits, der angiver, om grenen blev udført på tidligere prøver af instruktionen. Når den næste betingede springkommando modtages, sammenlignes den adresse, der er angivet i den, med indholdet af BTB. Hvis denne adresse ikke er indeholdt i BTB, det vil sige, at der ikke har været nogen tidligere overgange til denne adresse, forudsiges fraværet af forgrening. I dette tilfælde fortsætter hentning og afkodning af instruktioner efter springinstruktionen. Hvis overgangsadressen angivet i kommandoen matcher en af ​​adresserne gemt i BTB'en, analyseres historien. Under analyseprocessen bestemmes den oftest implementerede forgreningsretning, og skiftende overgange identificeres også. Hvis en gren forudsiges at udføres, vælges instruktionen, der er placeret på den forudsagte adresse, og indlæses i pipelinen. Den mere avancerede grenforudsigelsesmekanisme i Pentium 4 MP sikrer en reduktion i antallet af fejlagtigt forudsagte grene med et gennemsnit på 33 % sammenlignet med Pentium III. Antallet af rørledninger genstarter, når en gren forudsiges forkert, reduceres således kraftigt.

Pentium 4 integrerer også et sæt af 144 nye SIMD-instruktioner, der gør det muligt at udføre én operation på flere operander samtidigt. Lad os overveje funktionerne ved at bruge denne databehandlingsordning mere detaljeret.

MMX-teknologi er resultatet af samarbejde mellem skaberne af INTel-mikroprocessorarkitekturen og programmører. Under udviklingen blev en bred vifte af audiovisuelle iundersøgt: billedbehandling, MPEG-video, musiksyntese, talekomprimering og -genkendelse, støtte til videokonferencer, computerspilprogrammer osv. Som et resultat af denne analyse blev følgende identificeret : hovedtræk ved sådanne programmer:

    brugen af ​​en hel type data med lille bitdybde, for eksempel 8-bit grafiske pixels og 16-bit audio digitalisering;

    korte cyklusser med høje odds gentagelighed;

    et stort antal multiplikations- og summeringsoperationer, herunder på grund af den udbredte anvendelse hurtig konvertering Fourier;

    brugen af ​​algoritmer, der kræver intensive beregninger;

    udbredt brug af meget parallelle operationer.

Det er blevet bemærket, at i multimedieapplikationer forekommer 80% af programudførelsestiden i 10-20% af programkoden.

Lille databredde kræver yderligere trin, når de behandles på en 32-bit mikroprocessor, samtidig med at den forhindrer den fulde kraft af 32-bit arkitekturen i at blive brugt.

Et enkelt og tydeligt eksempel på denne type behandling er at ændre værdierne af alle videohukommelsespixels med en vis mængde. Lad videohukommelseskapaciteten være 1 MB, og hver pixel er kodet med 1 byte. Derefter, for at udføre den specificerede handling, vil det være nødvendigt at udføre cirka 1 million operationer for at tilføje en konstant til en enkeltbyte-operand, der er valgt fra hukommelsen. Samtidig udførelse af sådanne handlinger på 4 operander, hvilket ville reducere antallet af operationer med 4 gange, er umuligt i den klassiske IA-32-arkitektur på grund af manglen på tilsvarende kommandoer i kommandosystemet og de anvendte dataformater.

Hovedindsatsen fra udviklerne af MMX-teknologi var rettet mod at eliminere disse modsætninger. Pentium processor MMX, som først implementerede den nye teknologi, blev introduceret af INTel i januar 1997. Det gav mulighed for en 10-20% stigning i ydeevnen på standardtests og for specialiserede multimedieapplikationer - med 50%.

Dette kapitel fokuserer på de arkitektoniske træk ved mikroprocessorer. Det giver generel information om mikroprocessorer, diskuterer principperne for strukturelle - funktionel organisation) datatyper, registerhukommelse, adresseringsmetoder og instruktionssystemer for mikroprocessorer. Det præsenterede materiale er illustreret på de enkleste 8- og 16-bit processorer.

Basale koncepter

Mikroprocessor er en softwarestyret enhed i form af et integreret kredsløb (LSI eller VLSI) designet til behandling af digital information. Da alle moderne mikroprocessorer er integreret, er begrebet processor blevet synonymt med mikroprocessor.

Mikrocontroller er en specialiseret processor designet til at implementere kontrolfunktioner (kontrol).

(xtypo_quote)Digital Signal Processor (DSP) er en specialiseret processor designet til at behandle digitale signaler. (/xtypo_quote)
Et mikroprocessorsystem er et funktionelt komplet produkt, der består af flere digitale enheder, herunder en processor. Dette koncept forener en bred vifte af færdige produkter, startende med mikrocontrollere lavet på integrerede kredsløb og slutter med computersystemer, som er et sæt individuelle strukturelle enheder (systemenhed, tastatur, skærm osv.). I det følgende betragter vi de enkleste (single-chip) mikroprocessorsystemer, der ud over processoren indeholder hovedhukommelse og input/output-enheder. Sådanne mikroprocessorsystemer kan klassificeres som mikroprocessorer.

Under processororganisation forstå helheden af ​​dets noder (enheder, blokke, moduler), forbindelser mellem noder og deres funktionelle karakteristika. Organisationen bestemmer hardwareorganisationen af ​​processoren, det vil sige sammensætningen og interaktionen af ​​dens hardware. Der er to niveauer af organisation:

● fysisk organisering i form af et kredsløbsdiagram;

● logisk organisering i form af et struktur- og funktionsdiagram.

I det følgende overvejer vi organiseringen af ​​mikroprocessorer på det logiske niveau eller den strukturelle og funktionelle organisering af processorer.

Under processor arkitektur vi vil forstå helheden af ​​dets software og hardware, der sikrer behandlingen af ​​digital information (programudførelse), dvs. helheden af ​​alle de værktøjer, der er tilgængelige for programmet (eller brugeren). Dette mere generelle koncept sammenlignet med begrebet organisation omfatter et sæt software-tilgængelige registre og driftsenheder, et system af grundlæggende kommandoer og adresseringsmetoder, mængden og organiseringen af ​​adresserbar hukommelse, typer og metoder til databehandling (udveksling, afbrydelser, adgangshukommelse osv.).

(xtypo_quote) For eksempel har moderne 32-bit x86-processorer med IA-32-arkitektur (Intel Architecture - 2 bit) et standardsæt af registre, et fælles system med grundlæggende instruktioner, de samme metoder til organisering og adressering af hukommelse, hukommelsesbeskyttelse og afbryde servicering. Bemærk, at arkitekturbegrebet i højere grad karakteriserer systemets egenskaber end enhedens egenskaber. (/xtypo_quote)

Hovedtyper af arkitekturer

I henhold til formaterne af de anvendte kommandoer (instruktioner), kan vi skelne:

● CISC-arkitektur, som refererer til processorer (computere) med et komplet sæt instruktioner (Complete Instruction Set Computer—CISC). Det er implementeret i mange typer mikroprocessorer (for eksempel Pentium), som udfører et stort sæt multi-format instruktioner ved hjælp af adskillige adresseringsmetoder.

Instruktionssættet af processorer med CISC-arkitektur kan indeholde flere hundrede instruktioner forskellige formater(fra 1 til 15 bytes), eller grader af kompleksitet, og bruge mere end 10 forskellige adresseringsmetoder, som gør det muligt for programmøren at implementere de mest effektive algoritmer til at løse forskellige problemer.

Udvikling af traditionel CISC

Mikroprocessorarkitekturer, langs vejen med at udvide funktionaliteten og reducere programmeringsomkostningerne, har ført til en stigning i antallet af instruktioner i et sæt og antallet af mikroinstruktioner i et team. Konsekvensen af ​​dette var komplikationen af ​​integrerede kredsløb og et fald i hastigheden af ​​programudførelse. En af de mulige måder at eliminere disse mangler på er at bruge et reduceret sæt af kommandoer, hvis organisering er underlagt at øge hastigheden af ​​deres udførelse;

● RISC-arkitektur, som refererer til processorer (computere) med et reduceret instruktionssæt (Reduced Instruction Set Computer - RISC). Fremkomsten af ​​RISC-arkitektur er dikteret af det faktum, at mange CISC-kommandoer og adresseringsmetoder bruges ret sjældent. Hovedtræk ved RISC-arkitekturen er, at instruktionssystemet består af et lille antal hyppigt anvendte instruktioner af samme format, som kan udføres i én kommandocyklus (cyklus) af den centrale processor. Mere komplekse, sjældent brugte kommandoer implementeres på programniveau. Men på grund af en betydelig stigning i hastigheden af ​​instruktionsudførelsen, kan den gennemsnitlige ydeevne for RISC-processorer være højere end for processorer med en CISC-arkitektur.

(xtypo_quote)De fleste instruktioner på RISC-processorer involverer register-til-register-operationer. For at få adgang til hukommelsen er de enkleste operationer ud fra et tidsforbrugssynspunkt indlæsning i registre og skrivning til hukommelse. (/xtypo_quote)

Moderne RISC-processorer implementerer omkring 100 instruktioner, der har et fast format på 4 bytes i længden, og bruger et lille antal af de enkleste adresseringsmetoder (register, indeks og nogle andre).

For at reducere antallet af adgange til ekstern RAM indeholder RISC-processorer ti til hundredvis af registre til generelle formål (GPR), hvorimod i CISC-processorer kun 8-16 registre. Adgang til ekstern hukommelse i RISC-processorer bruges kun i operationer med indlæsning af data i RON eller overførsel af resultater fra RON til hukommelse. Ved at reducere den hardware, der kræves for at afkode og udføre komplekse kommandoer, forenkles RISC-processorens integrerede kredsløb betydeligt, og deres omkostninger reduceres. Derudover er produktiviteten væsentligt forbedret. Takket være disse fordele, mange moderne
CI SC-processorer (seneste Pentium- og K7-modeller) bruger en RISC-kerne. I dette tilfælde konverteres komplekse CI SC-kommandoer til en sekvens af simple RISC-operationer og udføres hurtigt af RISC-kernen;

● VLIW-arkitektur, som refererer til mikroprocessorer, der bruger meget lange instruktioner (Very Large Instruction Word—VLIW). Individuelle kommandofelter indeholder koder, der udfører forskellige handlinger. En VLIW-kommando kan udføre flere operationer samtidigt i forskellige mikroprocessorknudepunkter. Dannelsen af ​​"lange" VLIW-kommandoer udføres af den relevante compiler, når der oversættes programmer skrevet på et højt niveau sprog.

(xtypo_quote)VLIW -arkitektur implementeret i nogle typer moderne mikroprocessorer og er meget lovende for at skabe en ny generation af ultrahøjtydende processorer. (/xtypo_quote)

Baseret på metoden til at organisere udvælgelsen af ​​kommandoer og data skelnes der mellem to typer arkitekturer:

● Princeton-arkitektur eller von Neumann-arkitektur, hvis træk er (fig. 2.1.1) brugen af:

Fælles hoved (random access) hukommelse til lagring af programmer og data, som giver dig mulighed for hurtigt og effektivt at omfordele dens volumen afhængigt af de opgaver, der løses i hvert enkelt tilfælde af brug af en mikroprocessor;

En fælles bus, hvorigennem kommandoer og data sendes til processoren, og resultaterne skrives til RAM, hvilket i høj grad forenkler fejlfinding, test og løbende overvågning af systemets funktion og øger dets pålidelighed. For at adskille instruktionen fra dataene modtages koden for den operation, der udføres, altid fra hukommelsen først, efterfulgt af dataene. Som standard indlæses operationskoden i kommandoregisteret, og dataene indlæses i registerblokken (fig. 2.1.1). På grund af det begrænsede antal eksterne ben, fungerer den fælles bus normalt i tidsmultipleksing, dvs. modsatte retninger dataudveksling mellem mikroprocessoren, hukommelsen eller andre eksterne enheder adskilles i tid.

Ulempen ved Princeton Architecture

Brugen af ​​en fælles bus til at sende kommandoer og data begrænser ydeevnen af ​​et digitalt system;

● Harvard-arkitektur (skaber Howard Aiken), en funktion af hvilken er den fysiske adskillelse af instruktionshukommelse (programmer) og datahukommelse (fig. 2.1.2). Denne omstændighed er forårsaget af konstant stigende krav til ydeevnen af ​​mikroprocessorsystemer. Kommandohukommelse og datahukommelse er forbundet til processoren via separate busser. Takket være adskillelsen af ​​kommando- og datastrømme, samt kombinationen af ​​deres genfindingsoperationer (og registrering af behandlingsresultater), sikres højere ydeevne end ved brug af Princeton-arkitekturen.

Ulemper ved Harvard Architecture

Øget designkompleksitet på grund af brugen af ​​separate busser til kommandoer og data; fast mængde hukommelse til kommandoer og data; en stigning i den samlede mængde hukommelse på grund af umuligheden af ​​dens optimale omfordeling mellem kommandoer og data. Harvard-arkitektur er meget udbredt i mikrocontrollere - specialiserede mikroprocessorer til styring af forskellige objekter, såvel som i den interne struktur af moderne højtydende mikroprocessorer i cachehukommelse med separat lagring af instruktioner og data.

Samtidig er principperne for Princeton-arkitekturen implementeret i de fleste mikroprocessorsystemers eksterne struktur.

Bemærk, at mikroprocessorens arkitektur er tæt forbundet med dens struktur. Implementeringen af ​​visse arkitektoniske træk kræver indførelse af passende enheder i mikroprocessorens struktur og tilvejebringelse af mekanismer til deres fælles funktion.

Mikroprocessorer

Introduktion

Computere er blevet udbredt siden 50'erne. Tidligere var disse meget store og dyre enheder, der kun blev brugt i offentlige myndigheder og store virksomheder. Størrelsen og formen af ​​digitale computere har ændret sig til ukendelighed som følge af udviklingen af ​​nye enheder kaldet mikroprocessorer.

En mikroprocessor (MP) er en softwarestyret elektronisk digital enhed designet til at behandle digital information og styre processen for denne behandling, lavet på et eller flere integrerede kredsløb med en høj grad af integration af elektroniske elementer.

I 1970 designede Marchian Edward Hoff fra Intel et integreret kredsløb, der i sine funktioner ligner den centrale processor på en stor computer - den første mikroprocessor Intel-4004, som blev frigivet til salg i 1971.

Dette var et rigtigt gennembrud, fordi Intel-4004 MP, der måler mindre end 3 cm, var mere produktiv end den gigantiske ENIAC-maskine. Det arbejdede ganske vist meget langsommere og kunne kun behandle 4 bit information ad gangen (mainframe-processorer behandlede 16 eller 32 bit samtidigt), men den første MP var titusindvis af gange billigere.

Krystallen var en 4-bit processor med en klassisk Harvard-type computerarkitektur og blev fremstillet ved hjælp af avanceret p-kanal MOS-teknologi med designstandarder på 10 mikron. Enhedens elektriske kredsløb bestod af 2300 transistorer. MP opererede ved en klokfrekvens på 750 kHz med en kommandocyklus varighed på 10,8 μs. i4004-chippen havde en adressestak (en programtæller og tre LIFO-stakregistre), en RON-enhed (serielle hukommelsesregistre eller en registerfil - RF), en 4-bit parallel ALU, en akkumulator, et kommandoregister med en kommandodekoder og et styrekredsløb, samt et kommunikationskredsløb med eksterne enheder. Alle disse funktionelle enheder var forbundet med en 4-bit SD. Instruktionshukommelsen nåede 4 KB (til sammenligning: hukommelsesvolumen på en minicomputer i begyndelsen af ​​70'erne oversteg sjældent 16 KB), og RF CPU'en havde 16 4-bit registre, som også kunne bruges som 8 8-bit registre. Denne organisation af RON'er blev bibeholdt i efterfølgende parlamentsmedlemmer fra Intel. Tre stakregistre gav tre niveauer af subrutinenesting. i4004 MP var monteret i et plastik- eller metalkeramisk DIP-hus (Dual In-line Package) med kun 16 ben.

Hans instruktionssystem omfattede kun 46 instruktioner.

Samtidig havde krystallen en meget begrænsede midler input/output, og kommandosystemet manglede logiske databehandlingsoperationer (AND, OR, EXCLUSIVE OR), og derfor skulle de implementeres ved hjælp af specielle underrutiner. i4004-modulet havde ikke evnen til at stoppe (HALT-kommandoer) og håndtere afbrydelser.

Processorens kommandocyklus bestod af 8 clock-cyklusser af masteroscillatoren. Der var en multiplekset SHA (adressebus)/SD (databus), 12-bit-adressen blev transmitteret over 4-bit.

Den 1. april 1972 begyndte Intel at sende branchens første 8-bit enhed, i8008. Krystallen blev fremstillet ved hjælp af p-kanal MOS-teknologi med designstandarder på 10 mikron og indeholdt 3500 transistorer. Processoren fungerede ved en frekvens på 500 kHz med en maskincyklusvarighed på 20 μs (10 perioder af masteroscillatoren).

I modsætning til sine forgængere havde MP en computerarkitektur af Princeton-typen og tillod brugen af ​​en kombination af ROM og RAM som hukommelse.

Sammenlignet med i4004 faldt antallet af RON'er fra 16 til 8, og to registre blev brugt til at gemme adressen til indirekte hukommelsesadressering (en begrænsning af teknologien - RON-blokken, svarende til 4004 og 4040 krystallerne i MP 8008 , blev implementeret som dynamisk hukommelse). Varigheden af ​​maskincyklussen blev næsten halveret (fra 8 til 5 tilstande). For at synkronisere arbejde med langsomme enheder blev et READY-signal indført.

Kommandosystemet bestod af 65 instruktioner. MP kunne adressere 16 KB hukommelse. Dens ydeevne i forhold til firecifret MP steg med 2,3 gange. I gennemsnit var der behov for omkring 20 mellemintegrerede kredsløb for at forbinde processoren med hukommelse og I/O-enheder.

Mulighederne for p-kanalteknologi til at skabe komplekse højtydende MP'er var næsten opbrugt, så "hovedslagets retning" blev overført til n-kanal MOS-teknologi.

Den 1. april 1974 blev Intel 8080 MP præsenteret for alle interesserede parters opmærksomhed. Takket være brugen af ​​p-MOS-teknologi med designstandarder på 6 mikron var det muligt at placere 6 tusind transistorer på chippen. Processorens clockfrekvens blev øget til 2 MHz, og varigheden af ​​kommandocyklussen var allerede 2 μs. Mængden af ​​hukommelse, der kan adresseres af processoren, er blevet øget til 64 KB. Ved at bruge en 40-bens pakke var det muligt at adskille ShA og ShD, det samlede antal mikrokredsløb, der kræves for at bygge et system i en minimumskonfiguration, blev reduceret op til 6 (fig. 1).

Ris. 1. Intel mikroprocessor 8080.

I Den Russiske Føderation blev der introduceret en stackpointer, som bruges aktivt ved behandling af interrupts, samt to programmæssigt utilgængelige tilmeld dig interne overførsler. RON-blokken blev implementeret på statiske hukommelseschips. Udelukkelsen af ​​batteriet fra RF og dets introduktion i ALU forenklede det interne busstyrekredsløb.

Det nye i MP-arkitekturen er brugen af ​​et vektorafbrydelsessystem på flere niveauer. Denne tekniske løsning gjorde det muligt at øge det samlede antal afbrydelseskilder til 256 (før fremkomsten af ​​LSI-afbrydelsescontrollere krævede ordningen til generering af afbrydelsesvektorer brugen af ​​op til 10 ekstra medium-integrationschips). i8080 introducerede en direkte hukommelsesadgang (DMA) mekanisme (som tidligere i IBM System 360 mainframe-computere osv.).

PDP åbnede grønt lys for brugen af ​​så komplekse enheder i mikrocomputere som lagerenheder magnetiske diske og bånddisplays på CRT'er, som gjorde mikrocomputeren til et fuldgyldigt computersystem.

Virksomhedens tradition, fra den første krystal, har været at producere ikke en separat CPU-chip, men en familie af LSI'er designet til fælles brug.

Mikroprocessor arkitektur

Hovedkarakteristika for mikroprocessoren

Mikroprocessoren er kendetegnet ved:
1) klokfrekvens, som bestemmer den maksimale udførelsestid for at skifte elementer i en computer;
2) bitdybde, dvs. det maksimale antal samtidigt behandlede binære bits.

MP-kapaciteten er betegnet m /n /k / og inkluderer:
m - kapaciteten af ​​interne registre, bestemmer, om de tilhører en bestemt klasse af processorer;
n - databusbredde, bestemmer informationsoverførselshastigheden;
k - adresse bus bredde, bestemmer størrelsen på adresserummet. For eksempel er i8088 MP karakteriseret ved værdierne m /n /k=16/8/20;
3) arkitektur. Begrebet mikroprocessorarkitektur inkluderer et system af kommandoer og adresseringsmetoder, evnen til at kombinere udførelse af kommandoer i tide, tilstedeværelsen yderligere enheder som en del af en mikroprocessor, principper og driftsformer. Identificerer begreber mikroarkitektur Og makroarkitektur.

Mikroarkitektur mikroprocessor er hardwareorganisationen og den logiske struktur af mikroprocessoren, registre, kontrolkredsløb, aritmetisk-logiske enheder, lagerenheder og informationsmotorveje, der forbinder dem.

Makroarkitektur- dette er et system af kommandoer, typer af behandlede data, adresseringstilstande og funktionsprincipper for mikroprocessoren.

Generelt forstås computerarkitektur som en abstrakt repræsentation af en maskine i form af grundlæggende funktionelle moduler, computersprog og datastruktur.

Struktur af en typisk mikroprocessor

Arkitekturen af ​​et typisk lille mikrocomputer-baseret computersystem er vist i fig. 2.1 Denne mikrocomputer indeholder alle 5 hovedblokke digital maskine: informationsinputenhed, kontrolenhed (CU), aritmetisk-logisk enhed (ALU) (inkluderet i mikroprocessoren), lagerenheder (SRAM) og informationsudgangsenhed.

Ris. 2.1. Arkitektur af en typisk mikroprocessor.

Mikroprocessoren koordinerer driften af ​​alle enheder i det digitale system ved hjælp af en kontrolbus (CB). Ud over SHU'en er der en 16-bit adressebus (ABA), som bruges til at vælge specifik celle hukommelse, indgangsport eller udgangsport. 8-bit informationsbussen eller databussen (SD) udfører tovejs overførsel af data til og fra mikroprocessoren. Det er vigtigt at bemærke, at MP kan sende information til mikrocomputerens hukommelse eller til en af ​​output-portene, samt modtage information fra hukommelsen eller fra en af ​​input-portene.

Read-only memory (ROM) i en mikrocomputer indeholder et bestemt program (i praksis et computerinitialiseringsprogram). Programmer kan indlæses i en random access memory (RAM) og fra en ekstern lagerenhed (ERM). Disse er brugerprogrammer.

Som et eksempel, der illustrerer driften af ​​en mikrocomputer, kan du overveje en procedure til implementeringen, som du skal udføre følgende sekvens af elementære operationer:
1. Tryk på bogstavet "A" på tastaturet.
2. Placer bogstavet "A" i mikrocomputerens hukommelse.
3. Vis bogstavet "A" på skærmen.

Dette er en typisk input-storage-output-procedure, hvis overvejelse gør det muligt at forklare principperne for at bruge nogle enheder, der er inkluderet i en mikrocomputer.

I fig. 2.2 viser et detaljeret diagram over udførelsen af ​​input-storage-output proceduren. Bemærk, at instruktionerne allerede er indlæst i de første seks hukommelsesplaceringer. Det lagrede program indeholder følgende kæde af kommandoer:
1. Indtast data fra inputport 1.
2. Gem dataene på hukommelsesplads 200.
3. Send data til udgangsport 10.

Ris. 2.2. Diagram over udførelsen af ​​input-memorization-output proceduren.

Der er kun tre kommandoer i dette program, selvom i fig. 2.2 kan det se ud til, at der er skrevet seks instruktioner i programhukommelsen. Dette skyldes, at holdet normalt er opdelt i dele. Den første del af kommando 1 i ovenstående program er dataindtastningskommandoen. Anden del af kommando 1 angiver, hvor dataene skal indtastes fra (fra port 1). Den første del af kommandoen, som specificerer en specifik handling, kaldes operationskoden (OPC), og den anden del kaldes operanden. Opkoden og operanden er placeret i separate programhukommelsesplaceringer. I fig. 2.2 COP'en gemmes i celle 100, og operandkoden gemmes i celle 101 (port 1); sidstnævnte angiver, hvor oplysningerne skal hentes fra.

I MP i fig. 2.2 er yderligere to nye blokke fremhævet - registre: akkumulatoren og kommandoregisteret.

Lad os overveje passage af kommandoer og data inde i en mikrocomputer ved hjælp af nummererede cirkler på diagrammet. Husk på, at mikroprocessoren er den centrale knude, der styrer bevægelsen af ​​alle data og udførelsen af ​​operationer.

Så når du udfører en typisk input-storage-output-procedure i en mikrocomputer, sker følgende handlingssekvens:
1. MP udsteder adresse 100 til adressebussen. Et signal sendes gennem kontrolbussen, der indstiller programhukommelsen (et bestemt mikrokredsløb) til læsetilstand.
2. Programhukommelsen sender den første kommando ("Indtast data") langs databussen, og MP modtager denne kodede besked. Kommandoen placeres i kommandoregisteret. MP afkoder (fortolker) den modtagne kommando og bestemmer, at kommandoen kræver en operand.
3. MP spørgsmål adresse 101 til ShA; Kontrolrummet bruges til at overføre programhukommelse til læsetilstand.
4. "Fra port 1"-operanden sendes fra programhukommelsen til SD'en. Denne operand er inde programhukommelse i celle 101. Operandkoden (indeholder adressen på port 1) sendes via SD til MP og sendes til kommandoregisteret. MP'en afkoder nu hele kommandoen ("Indtast data fra port 1").
5. MP'en, ved hjælp af SHA'en og SHU'en, der forbinder den til inputenheden, åbner port 1. Den digitale kode for bogstavet "A" overføres til batteriet inde i MP'en og mindeværdig. Vigtigt Det skal bemærkes, at MP'en, når den behandler hver programkommando, handler i overensstemmelse med mikroproceduren for sampling-dekodning-udførelse.
6. MP'en tilgår celle 102 via ShA. Kontrolrummet bruges til at overføre programhukommelse til læsetilstand.
7. Kommandokoden "Husk data" sendes til SD og sendes til MP, hvor den placeres i kommandoregisteret.
8. MP afkoder denne instruktion og bestemmer, at den kræver en operand. MP'en tilgår hukommelsescellen 103 og aktiverer indgangen til at læse programhukommelseschips.
9. Meddelelseskoden "I hukommelsescelle 200" sendes fra programhukommelsen til SD. MP tager denne operand og placerer den i instruktionsregistret. Den komplette kommando "Gem data i hukommelsesplads 200" vælges fra programhukommelsen og afkodes.
10. Nu begynder kommandoudførelsesprocessen. MP'en videresender adresse 200 til SHA'en og aktiverer skriveinput relateret til datahukommelsen.
11. MP sender informationen, der er gemt i batteriet, til datahukommelsen. Koden for bogstavet "A" sendes via SD og skrives til celle 200 i denne hukommelse. Den anden kommando er blevet udført. Huskeprocessen ødelægger ikke batteriets indhold. Den indeholder stadig koden for bogstavet "A".
12. MP'en tilgår hukommelsescellen 104 for at vælge den næste kommando og skifter programhukommelsen til læsetilstand.
13. Dataoutputkommandokoden sendes via SD til MP, som placerer den i kommandoregisteret, dekrypterer den og bestemmer, at en operand er nødvendig.
14. MP udsteder adresse 105 til SHA'en og indstiller programhukommelsen til læsetilstand.
15. Fra programhukommelsen via SD modtages operandkoden "Til port 10" af MP, som derefter placeres i kommandoregisteret.
16. MP dekrypterer den fulde kommando "Output data til port 10". Ved hjælp af ShA og ShU, der forbinder den til outputenheden, åbner MP port 10 og sender koden for bogstavet "A" (stadig placeret i batteriet) via ShD. Bogstavet "A" vises gennem port 10 på skærmen.

I de fleste mikroprocessorsystemer (MPS) overføres information på en måde svarende til den, der er diskuteret ovenfor. De mest signifikante forskelle er mulige i input- og outputblokkene.

Lad os endnu en gang understrege, at mikroprocessoren er kernen i systemet og styrer alle operationer. Hans arbejde repræsenterer en sekventiel implementering af sampling-dekryptering-eksekvering mikroprocedurer. Den faktiske rækkefølge af operationer i MPS bestemmes dog af kommandoerne, der er registreret i programhukommelsen.

I MPS'en udfører mikroprocessoren således følgende funktioner:
- Hentning af programkommandoer fra hovedhukommelsen;
- kommandoafkodning;
- udføre aritmetiske, logiske og andre operationer indkodet i kommandoer;
- kontrol af informationsoverførsel mellem registre og hovedhukommelse, mellem input/output-enheder;
- behandling af signaler fra input/output-enheder, herunder implementering af afbrydelser fra disse enheder;
- ledelse og koordinering af arbejdet i MP's hovedenheder.

Introduktion

1.3 Gennemgang af eksisterende typer af mikroprocessorarkitekturer

2. Kontrolenhed

3. Funktioner af software og firmware kontrol

4. Adresseringstilstande

Konklusion


Processen med menneskelig interaktion med computere har stået på i mere end 40 år. Indtil for nylig kunne kun specialister - ingeniører, matematikere - programmører, operatører - deltage i denne proces. I de senere år er der sket dramatiske ændringer inden for databehandling. Takket være udviklingen og implementeringen af ​​mikroprocessorer i computerstrukturen dukkede små, brugervenlige personlige computere op. Situationen har ændret sig; en brugers rolle kan ikke kun være en computerspecialist, men også enhver person, det være sig et skolebarn eller en husmor, en læge eller en lærer, en arbejder eller en ingeniør. Dette fænomen kaldes ofte for den personlige computer-fænomen. I øjeblikket overstiger den globale flåde af personlige computere 20 mio.

Hvorfor opstod dette fænomen? Svaret på dette spørgsmål kan findes, hvis vi klart formulerer, hvad en personlig computer er, og hvad er dens hovedfunktioner. Vi skal korrekt opfatte selve definitionen af ​​"personlig"; det betyder ikke, at en computer tilhører en person som personlig ejendom. Definitionen af ​​"personlig" opstod, fordi en person fik mulighed for at kommunikere med en computer uden formidling af en professionel programmør, uafhængigt, personligt. Det er ikke nødvendigt at kunne et særligt computersprog. Eksisterer i computeren software vil give en gunstig "venlig" form for dialog mellem brugeren og computeren.

I øjeblikket er en af ​​de mest populære computere IBM PC-modellen og dens moderniserede version, IBM PC XT, som betragtes som den grundlæggende model for en personlig computer med hensyn til arkitektur, software og eksternt design.

Grundlaget for en personlig computer er systemenheden. Det organiserer arbejdet, behandler information, laver beregninger og sikrer kommunikation mellem en person og en computer. Brugeren er ikke forpligtet til at forstå, hvordan systemenheden fungerer. Dette er for specialister. Men han skal vide, hvilke funktionsblokke computeren består af. Vi har ikke en klar idé om princippet om drift af de interne funktionelle blokke af genstande omkring os - et køleskab, et gaskomfur, en vaskemaskine, en bil, men vi skal vide, hvad der er grundlaget for driften af disse enheder, hvad er egenskaberne af deres konstituerende blokke.

1. Generelle karakteristika for processorarkitekturen

1.1 Grundlæggende struktur af et mikroprocessorsystem

Opgaven med at styre systemet er tildelt centralenheden (CPU), som er forbundet til hukommelsen og input/output systemet gennem henholdsvis hukommelse og input/output kanaler. CPU'en læser instruktionerne fra hukommelsen, der udgør programmet, og afkoder dem. Ifølge resultatet af afkodningsinstruktioner henter den data fra hukommelsen på inputportene, behandler dem og sender dem tilbage til hukommelsen eller outputportene. Der er også mulighed for at I/O data fra hukommelsen til eksterne enheder og omvendt, uden om CPU'en. Denne mekanisme kaldes direkte hukommelsesadgang (DMA).

Fra brugerens synspunkt, når du vælger en mikroprocessor, er det tilrådeligt at have nogle generaliserede omfattende karakteristika af mikroprocessorens muligheder. Udvikleren skal kun forstå og forstå de komponenter i mikroprocessoren, der tydeligt afspejles i programmerne og skal tages i betragtning ved udvikling af kredsløb og programmer til systemets funktion. Sådanne karakteristika er defineret af begrebet mikroprocessorarkitektur.

1.2 Begrebet mikroprocessorarkitektur

Arkitekturen af ​​et typisk lille mikrocomputer-baseret computersystem er vist i fig. 1. En sådan mikrocomputer indeholder alle 5 hovedblokke i en digital maskine: en informationsinputenhed, en kontrolenhed (CU), en aritmetisk-logisk enhed (ALU) (inkluderet i mikroprocessoren), lagerenheder (SRAM) og en information outputenhed.

Ris. 1. Arkitektur af en typisk mikroprocessor.

Mikroprocessoren koordinerer driften af ​​alle enheder i det digitale system ved hjælp af en kontrolbus (CB). Ud over SHU'en er der en 16-bit adressebus (ABA), som bruges til at vælge en specifik hukommelsescelle, inputport eller outputport. 8-bit informationsbussen eller databussen (SD) udfører tovejs overførsel af data til og fra mikroprocessoren. Det er vigtigt at bemærke, at MP kan sende information til mikrocomputerens hukommelse eller til en af ​​output-portene, samt modtage information fra hukommelsen eller fra en af ​​input-portene.

Read-only memory (ROM) i en mikrocomputer indeholder et bestemt program (i praksis et computerinitialiseringsprogram). Programmer kan indlæses i en random access memory (RAM) og fra en ekstern lagerenhed (ERM). Disse er brugerprogrammer.

Som et eksempel, der illustrerer driften af ​​en mikrocomputer, kan du overveje en procedure til implementeringen, som du skal udføre følgende sekvens af elementære operationer:

1. Tryk på bogstavet "A" på tastaturet.

2. Placer bogstavet "A" i mikrocomputerens hukommelse.

3. Vis bogstavet "A" på skærmen.

Dette er en typisk input-storage-output-procedure, hvis overvejelse gør det muligt at forklare principperne for at bruge nogle enheder, der er inkluderet i en mikrocomputer.

I fig. Figur 2 viser et detaljeret diagram over udførelsen af ​​input-lager-output-proceduren. Bemærk, at instruktionerne allerede er indlæst i de første seks hukommelsesplaceringer. Det lagrede program indeholder følgende kæde af kommandoer:

1. Indtast data fra inputport 1.

2. Gem dataene på hukommelsesplads 200.

3. Send data til udgangsport 10.

Der er kun tre kommandoer i dette program, selvom i fig. 2 kan det se ud til, at der er seks instruktioner gemt i programhukommelsen. Dette skyldes, at holdet normalt er opdelt i dele. Den første del af kommando 1 i ovenstående program er dataindtastningskommandoen. Anden del af kommando 1 angiver, hvor dataene skal indtastes fra (fra port 1). Den første del af kommandoen, som specificerer en specifik handling, kaldes operationskoden (OPC), og den anden del kaldes operanden. Opkoden og operanden er placeret i separate programhukommelsesplaceringer. I fig. 2 COP er lagret i celle 100, og operandkoden er lagret i celle 101 (port 1); sidstnævnte angiver, hvor oplysningerne skal hentes fra.

I MP i fig. 2 er yderligere to nye blokke fremhævet - registre: akkumulatoren og kommandoregisteret.


Ris. 2. Diagram over udførelsen af ​​input-memorization-output proceduren

Lad os overveje passage af kommandoer og data inde i en mikrocomputer ved hjælp af nummererede cirkler på diagrammet. Husk på, at mikroprocessoren er den centrale knude, der styrer bevægelsen af ​​alle data og udførelsen af ​​operationer.

Så når du udfører en typisk input-storage-output-procedure i en mikrocomputer, sker følgende handlingssekvens:

1. MP udsteder adresse 100 til adressebussen. Et signal sendes gennem kontrolbussen, der indstiller programhukommelsen (et bestemt mikrokredsløb) til læsetilstand.

2. Programhukommelsen sender den første kommando ("Indtast data") langs databussen, og MP modtager denne kodede besked. Kommandoen placeres i kommandoregisteret. MP afkoder (fortolker) den modtagne kommando og bestemmer, at kommandoen kræver en operand.

3. MP spørgsmål adresse 101 til ShA; Kontrolrummet bruges til at overføre programhukommelse til læsetilstand.

4. "Fra port 1"-operanden sendes fra programhukommelsen til SD'en. Denne operand er placeret i programhukommelsen i celle 101. Operandkoden (som indeholder adressen på port 1) transmitteres via SD til MP og sendes til kommandoregisteret. MP'en afkoder nu hele kommandoen ("Indtast data fra port 1").

5. MP'en, ved hjælp af SHA'en og SHU'en, der forbinder den med inputenheden, åbner port 1. Den digitale kode for bogstavet "A" overføres til batteriet inde i MP'en og gemmes. Det er vigtigt at bemærke, at når du behandler hver programkommando, handler MP i overensstemmelse med mikroproceduren for sampling-dekodning-udførelse.

6. MP'en tilgår celle 102 via ShA. Kontrolrummet bruges til at overføre programhukommelse til læsetilstand.

7. Kommandokoden "Husk data" sendes til SD og sendes til MP, hvor den placeres i kommandoregisteret.

8. MP afkoder denne instruktion og bestemmer, at den kræver en operand. MP'en tilgår hukommelsescellen 103 og aktiverer indgangen til at læse programhukommelseschips.

9. Meddelelseskoden "I hukommelsescelle 200" sendes fra programhukommelsen til SD. MP tager denne operand og placerer den i instruktionsregistret. Den komplette kommando "Gem data i hukommelsesplads 200" vælges fra programhukommelsen og afkodes.

10. Nu begynder kommandoudførelsesprocessen. MP'en videresender adresse 200 til SHA'en og aktiverer skriveinput relateret til datahukommelsen.

11. MP sender informationen, der er gemt i batteriet, til datahukommelsen. Koden for bogstavet "A" sendes via SD og skrives til celle 200 i denne hukommelse. Den anden kommando er blevet udført. Huskeprocessen ødelægger ikke batteriets indhold. Den indeholder stadig koden for bogstavet "A".

12. MP'en tilgår hukommelsescellen 104 for at vælge den næste kommando og skifter programhukommelsen til læsetilstand.

13. Dataoutputkommandokoden sendes via SD til MP, som placerer den i kommandoregisteret, dekrypterer den og bestemmer, at en operand er nødvendig.

14. MP udsteder adresse 105 til SHA'en og indstiller programhukommelsen til læsetilstand.

15. Fra programhukommelsen via SD modtages operandkoden "Til port 10" af MP, som derefter placeres i kommandoregisteret.

16. MP dekrypterer den fulde kommando "Output data til port 10". Ved hjælp af ShA og ShU, der forbinder den til outputenheden, åbner MP port 10 og sender koden for bogstavet "A" (stadig placeret i batteriet) via ShD. Bogstavet "A" vises gennem port 10 på skærmen.

I de fleste mikroprocessorsystemer (MPS) overføres information på en måde svarende til den, der er diskuteret ovenfor. De mest signifikante forskelle er mulige i input- og outputblokkene.

Lad os endnu en gang understrege, at mikroprocessoren er kernen i systemet og styrer alle operationer. Hans arbejde repræsenterer en sekventiel implementering af sampling-dekryptering-eksekvering mikroprocedurer. Den faktiske rækkefølge af operationer i MPS bestemmes dog af kommandoerne, der er registreret i programhukommelsen.

I MPS'en udfører mikroprocessoren således følgende funktioner:

Hentning af programkommandoer fra hovedhukommelsen;

Dekryptering af kommandoer;

Udførelse af aritmetiske, logiske og andre operationer kodet i kommandoer;

Kontrol af informationsoverførsel mellem registre og hovedhukommelse, mellem input/output-enheder;

Behandling af signaler fra input/output-enheder, herunder implementering af afbrydelser fra disse enheder;

Ledelse og koordinering af arbejdet i MP's hovedenheder.


Der er flere tilgange til at klassificere mikroprocessorer efter arkitekturtype. Der er således MP'er med CISC (Complete Instruction Set Computer) arkitektur, karakteriseret ved et komplet sæt instruktioner, og RISC (Reduce Instruction Set Computer) arkitektur, som definerer et system med et reduceret sæt af kommandoer af samme format, udført i en MP urcyklus.

Ved at definere bitdybde som hovedkarakteristikken for MP skelnes der mellem følgende typer MP-arkitektur:

Med en fast bitdybde og en liste over kommandoer (single-chip);

Med udvidelig kapacitet (sektions) og mikroprogramstyring.

Ved at analysere adresserummene for programmer og data bestemmes en MP med von Neumann-arkitektur (programhukommelse og datahukommelse er i samme rum, og der er ingen tegn, der indikerer typen af ​​information i hukommelsescellen) og en MP med Harvard Laboratoriearkitektur (programhukommelse og datahukommelse er adskilt, har deres egne adresserum og måder at få adgang til dem på).

Lad os overveje mere detaljeret hovedtyperne af arkitektoniske løsninger, der fremhæver forbindelsen med hukommelsesadresseringsmetoder.

1. Registerarkitekturen bestemmes af tilstedeværelsen af ​​en tilstrækkelig stor registerfil inde i MP. Instruktioner er i stand til at få adgang til operander placeret i et af to lagermedier: RAM eller registre. Registerstørrelsen er normalt fast og matcher størrelsen af ​​ordet fysisk implementeret i RAM. Ethvert register kan tilgås direkte, da registre er repræsenteret som en række lagerelementer - en registerfil. Det er typisk at gøre aritmetiske operationer kun i et register, og kommandoen indeholder to operander (begge operander i et register eller en operand i et register og den anden i RAM).

TIL denne type arkitektur omfatter en mikroprocessor fra Zilog. Z80-processoren, udtænkt af Zilog, havde foruden et udvidet instruktionssystem, én effekt og evnen til at udføre programmer skrevet til i8080 arkitektoniske højdepunkter.

Ris. 3. Mikroprocessor Z80 fra Zilog.

Ud over hovedsættet af RON'er blev et andet sæt lignende registre implementeret i krystallen. Dette forenklede i høj grad arbejdet ved opkald af underrutiner eller afbrydelsesservicerutiner, da programmøren kunne bruge et alternativt sæt registre til dem, og undgå at gemme indholdet af RON'er for hovedprogrammet på stakken ved hjælp af PUSH-operationer. Derudover var der inkluderet en række specielle instruktioner i instruktionssystemet, fokuseret på behandling af individuelle bits, og for at understøtte dynamisk hukommelsesregenerering blev passende hardware indført i processorkredsløbet. Z80 blev brugt i Sinclair ZX, Sinclair Spectrum, Tandy TRS80 maskiner.

Den ultimative mulighed er en arkitektur med adressering via akkumulatorer (mindre sæt af kommandoer).

Motorolas MP havde en række væsentlige fordele. Først og fremmest krævede MC6800-krystallen en effektværdi for drift, og kommandosystemet viste sig at være meget gennemsigtigt for programmøren. MP-arkitekturen havde også en række funktioner.

Figur 4. Mikroprocessor MC6800 fra Motorola.

MC 6800-mikroprocessoren indeholdt to batterier, og resultatet af en ALU-operation kunne placeres i begge batterier. Men den mest værdifulde funktion ved MC 6800-strukturen var den automatiske lagring af indholdet af alle processorregistre på stakken, når der behandles afbrydelser (Z80 krævede flere PUSH-kommandoer til dette). Proceduren for at gendanne RON fra stakken blev også udført i hardware.

2. Stakarkitektur gør det muligt at oprette et hukommelsesfelt med en ordnet sekvens af optagelse og hentning af information.

Generelt er kommandoer implicit adresseret til stakelementet i toppen af ​​stakken eller til de to øverste stakelementer.

3. MP arkitektur, fokuseret på RAM (hukommelse-til-hukommelse type), giver høj hastighed arbejde og stor informationskapacitet af arbejdsregistre og stak, når de er organiseret i RAM.

Denne type arkitektur definerer ikke eksplicit en akkumulator, registre til generelle formål eller stak; Alle instruktionsoperander er adresseret til hovedhukommelsesområdet.

Fra et synspunkt af betydning for bruger-programmøren, forstås arkitektur generelt som et sæt af følgende komponenter og egenskaber:

Bitstørrelse på adresser og data;

Sammensætning, navne og formål med software-tilgængelige registre;

Formater og kommandosystemer;

Hukommelsesadresseringstilstande;

Metoder til maskinel repræsentation af forskellige typer data;

Adresse rum strukturer;

Adresseringsmetode eksterne enheder og midler til at udføre input/output-operationer;

Afbrydelsesklasser, træk ved afbrydelsesinitiering og -behandling.

2. Kontrolenhed

Operationskoderne for programkommandoer, opfattet af kontroldelen af ​​mikroprocessoren, dekrypteret og konverteret i den, giver information om, hvilke operationer der skal udføres, hvor dataene er placeret i hukommelsen, hvor resultatet skal sendes, og hvor den næste kommandoen, der skal udføres, findes.

Styreenheden har tilstrækkelige midler til, efter at have opfattet og fortolket informationen modtaget i kommandoen, at sikre omskiftning (aktivering) af alle de nødvendige funktionelle dele af maskinen, samt at levere data til dem og opfatte de opnåede resultater. Det er aktivering, dvs. ændring af tilstanden af ​​binære logiske elementer til det modsatte, der gør det muligt, gennem skifteporte, at udføre elementære logiske og aritmetiske operationer samt overføre de nødvendige operander til de funktionelle dele af mikrocomputeren.

Styreenheden udfører i streng rækkefølge inden for uret og de cykliske tidsintervaller for mikroprocessorens drift (cyklus er det minimale driftsinterval, hvorunder en elementær handling udføres; cyklus er det tidsinterval, hvor en maskinoperation udføres), udfører: kommando: udvælgelse; fortolkning af det med det formål at analysere formatet, tjenestekarakteristika og beregning af operandens adresse (operander); etablering af nomenklaturen og tidssekvensen for alle funktionelle styresignaler; generering af styreimpulser og deres transmission til styrebusserne af mikrocomputerens funktionelle dele og ventilerne mellem dem; at analysere resultatet af operationen og ændre dens tilstand for at bestemme placeringen (adressen) af den næste kommando.


Mikroprocessorer bruger to metoder til at generere et sæt funktionelle styresignaler: software og mikroprogram.

Udførelse af operationer i en maskine kommer ned til elementære transformationer af information (overførsel af information mellem noder i blokke, forskydning af information i noder, logiske bitvise operationer, kontrol af betingelser osv.) i logiske elementer, noder og blokke under indflydelse af funktionelle styresignaler af blokke (enheder) styring. Elementære transformationer, der ikke kan nedbrydes til simplere, udføres i løbet af en clock-cyklus af synkroniseringssignalerne og kaldes mikrooperationer.

I hardware (kredsløbs) kontrolenheder har hver operation sit eget sæt af logiske kredsløb, der genererer visse funktionelle signaler til udførelse af mikrooperationer i visse øjeblikke tid. Med denne metode til at konstruere en kontrolenhed opnås implementeringen af ​​mikrooperationer gennem logiske kredsløb, når de først er forbundet til hinanden, derfor kaldes en computer med en hardwarekontrolenhed en computer med stiv kontrollogik. Dette koncept refererer til fikseringen af ​​kommandosystemet i strukturen af ​​computerforbindelser og betyder den praktiske umulighed af ændringer i computerens kommandosystem efter dets fremstilling.

Når en styreenhed implementeres mikroprogrammatisk, indføres en hukommelse i sidstnævnte, hvor hver bit af udgangskoden bestemmer udseendet af et specifikt funktionelt styresignal. Derfor tildeles hver mikrooperation sin egen informationskode - en mikrokommando. Et sæt mikrokommandoer og rækkefølgen af ​​deres implementering sikrer udførelsen af ​​enhver kompleks operation. Et sæt mikrooperationer kaldes mikroprogrammer. En metode til at styre operationer ved sekventielt at læse og fortolke mikrokommandoer fra en hukommelse (oftest bruges højhastighedsprogrammerbare i form af en mikroprogramhukommelse) logiske matricer), samt brugen af ​​mikroinstruktionskoder til at generere funktionelle styresignaler, kaldes mikroprogram, og mikrocomputere med denne styremetode kaldes mikroprogram eller med lagret (fleksibel) kontrollogik.

Mikroprogrammer er underlagt krav til funktionel fuldstændighed og minimalisme. Det første krav er nødvendigt for at sikre evnen til at udvikle mikroprogrammer til enhver maskinoperation, og det andet er forbundet med ønsket om at reducere mængden af ​​brugt udstyr. At tage højde for hastighedsfaktoren fører til udvidelse af mikroprogrammer, da komplikationen af ​​sidstnævnte gør det muligt at reducere udførelsestiden for programkommandoer.

Informationskonvertering udføres i mikroprocessorens universelle aritmetisk-logiske enhed. Det er normalt bygget på basis af logiske kombinationskredsløb.

For at fremskynde udførelsen af ​​visse operationer introduceres yderligere specielle driftsenheder (for eksempel cykliske skiftere). Derudover introduceres specialiserede operationelle enheder af aritmetiske ekspandere i mikroprocessorsættet (MPC) af LSI.

En mikroprocessors driftsmuligheder kan udvides ved at øge antallet af registre. Hvis der ikke er tildelt registerfunktioner i registerbufferen, kan de bruges både til lagring af data og lagring af adresser. Sådanne mikroprocessorregistre kaldes generelle formålsregistre (GPR). Efterhånden som teknologien udvikler sig, er produktionen af ​​16, 32 eller flere registre i en mikroprocessor faktisk blevet udført.

Generelt omfatter princippet om mikroprogramstyring (PMC) følgende positioner:

1) enhver operation implementeret af en enhed er en sekvens af elementære handlinger - mikrooperationer;

2) logiske betingelser bruges til at kontrollere rækkefølgen af ​​mikrooperationer;

3) processen med at udføre operationer i enheden er beskrevet i form af en algoritme, præsenteret i form af mikrooperationer og logiske forhold, kaldet mikroprogram;

4) firmwaren bruges som en form for repræsentation af enhedsfunktionen, på grundlag af hvilken strukturen og rækkefølgen af ​​enhedens drift over tid bestemmes.

PMU giver fleksibilitet i mikroprocessorsystemet og giver mulighed for problemorienteret orientering af mikro- og minicomputere.

4. Adresseringstilstande

For at kunne interagere med forskellige moduler skal computeren have midler til at identificere eksterne hukommelsesceller, interne hukommelsesceller, MP-registre og input/output enhedsregistre. Derfor er hver af lagercellerne tildelt en adresse, dvs. entydig bitkombination. Antallet af bit bestemmer antallet af celler, der skal identificeres. Typisk har en computer forskellige adresserum til hukommelse og MP-registre, og nogle gange - separate adresserum for registre over input/output-enheder og intern hukommelse. Derudover gemmer hukommelsen både data og instruktioner. Derfor er der udviklet mange måder at få adgang til hukommelse, kaldet adresseringstilstande, til computere.

Hukommelsesadresseringstilstand er en procedure eller et skema til at konvertere adresseinformationen for en operand til dens eksekveringsadresse.

Alle hukommelsesadresseringsmetoder kan opdeles i:

1) direkte, når executive-adressen er taget direkte fra kommandoen eller beregnet ved hjælp af den værdi, der er angivet i kommandoen og indholdet af ethvert register (direkte adressering, register, base, indeks osv.);

2) indirekte, hvilket forudsætter, at kommandoen indeholder værdien af ​​den indirekte adresse, dvs. adresser på hukommelsescellen, hvori den endelige udførelsesadresse er placeret (indirekte adressering).

Hver mikrocomputer implementerer kun nogle adresseringstilstande, hvis anvendelse som regel bestemmes af mikrocomputerens arkitektur.

Konklusion

Antallet af personlige computere både i verden og især i Rusland vokser hurtigt; PC-markedet er det mest lovende og rentable blandt andre computermarkeder. I Nordamerika og Vesteuropa er procentdelen af ​​husstande, der ejer en pc, tæt på 30. Uden tvivl bør alle i disse dage lære og forstå computeren ikke kun teoretisk, men vigtigst af alt, praktisk.

En analyse af nye løsninger til at konstruere en computerstruktur viser, at processor, hukommelse, input- og outputenheder danner grundlaget for enhver computer. Lad os overveje det mest almindelige strukturelle diagram, som ligger til grund for de mest almindelige modeller af computere, især personlige.

En moderne computer kan i de fleste tilfælde repræsenteres af et forenklet blokdiagram, hvor der skelnes mellem centrale og perifere dele. Den centrale del inkluderer processoren og den interne hukommelse, den perifere del inkluderer input-output-enheder og ekstern hukommelse. Baseret på forenklet blokdiagram Principperne for trunking, modularitet og mikroprogrammering er fastlagt.

Man skal ikke håbe, at udviklingen af ​​computerteknologi på en eller anden måde radikalt vil ændre vores eksistens. En computer er ikke mere (men ikke mindre) end en af ​​de stærke fremskridtsmotorer (såsom energi, metallurgi, kemi, maskinteknik), som påtager sig sine "jernskuldre" en så vigtig funktion som rutinen for informationsbehandling. Denne rutine ledsager altid og overalt de højeste menneskelige tankeflugter. Det er i denne rutine, at vovede beslutninger, der er utilgængelige for en computer, meget ofte drukner. Derfor er det så vigtigt at "aflæse" rutineoperationer til computeren for at frigøre en person til sit sande formål - kreativitet.

Fremtiden for mikroprocessorteknologi i dag er forbundet med to nye retninger - nanoteknologi og kvanteteknologi computersystemer. Disse undersøgelser, der stadig for det meste er teoretiske, vedrører brugen af ​​molekyler og endda subatomære partikler som komponenter i logiske kredsløb: grundlaget for beregninger bør ikke være elektriske kredsløb, som nu, men placeringen af ​​individuelle atomer eller elektronernes rotationsretning. Hvis der oprettes "mikroskopiske" computere, vil de omgå moderne biler på mange måder.

Bibliografi

1. Balashov E.P., Grigoriev V.L., Petrov G.A. Mikro- og minicomputere. – St. Petersborg: Energoatomizdat, 2004.

2. Eremin E.A. Populære foredrag om computerdesign. – Skt. Petersborg: BHV-Petersburg, 2003.

3. Ibrahim K.F. PC enhed og opsætning / Pr. fra engelsk – M.: Binom, 2004..

4. Kosarev V.P., Surkov E.M., Bakova I.V. Tekniske midler til kontrolsystemer. - M.: Forlaget "Finans og Statistik", 2006.

5. Leontyev V.P. Den seneste encyklopædi af en personlig computer 2003. – M.: OLMA-PRESS, 2004.

6. Stallings W. Strukturel organisation og arkitektur af computersystemer. – M.: Williams, 2002.

7. Wynn L. Roche. Bibelen til at opgradere din personlige computer. – M.: Tivali-Style, 2005.

8. Figurnov V.E. IBM PC for the User, 6. udgave, revideret og udvidet. – M.: INFRA-M, 1996.