Mikroprosessorsystemer

MikroprosessorsystemerBruken av mikroprosessorsystemer i nesten alle elektriske enheter er den viktigste funksjonen i den tekniske infrastrukturen i det moderne samfunnet. Elektrisitet, industri, transport, kommunikasjonssystemer er svært avhengige av datakontrollsystemer. Mikroprosessorsystemer er innebygd i måleinstrumenter, elektriske enheter, belysningsinstallasjoner, etc.

Alt dette forplikter elektroingeniøren til å kjenne i det minste det grunnleggende om mikroprosessorteknologi.

Mikroprosessorsystemer er designet for å automatisere informasjonsbehandling og kontrollere ulike prosesser.

Begrepet "mikroprosessorsystem" er veldig bredt og inkluderer begreper som "elektronisk datamaskin (ECM)", "kontrolldatamaskin", "datamaskin" og andre.

Mikroprosessorsystemet inkluderer maskinvare eller på engelsk — maskinvare og programvare (programvare) — programvare.

Digital informasjon

Mikroprosessorsystemet arbeider med digital informasjon, som er en serie numeriske koder.

Kjernen i ethvert mikroprosessorsystem er en mikroprosessor som bare kan akseptere binære tall (som består av 0-er og 1-ere).Binære tall skrives ved hjelp av det binære tallsystemet. For eksempel, i hverdagen bruker vi et desimaltallsystem som bruker ti tegn eller sifre for å skrive tall, 0,1,2,3,4,5,6,7,8,9. Følgelig er det i det binære systemet bare to slike symboler (eller sifre) - 0 og 1.

Det er nødvendig å forstå at nummersystemet bare er reglene for å skrive tall, og valget av type system vil bli bestemt av brukervennligheten. Valget av et binært system skyldes dets enkelhet, som betyr påliteligheten til digitale enheter og den enkle tekniske implementeringen.

Tenk på måleenhetene for digital informasjon:

En bit (fra det engelske «BInary digit» — binært siffer) tar bare to verdier: 0 eller 1. Du kan kode den logiske verdien «ja» eller «nei», tilstanden «på» eller «av», tilstanden « åpen» «eller» lukket «osv.

En gruppe på åtte biter kalles en byte, for eksempel 10010111. En byte lar deg kode 256 verdier: 00000000 — 0, 11111111 — 255.

En bit er den minste informasjonsenheten.

Byte — den minste enheten for informasjonsbehandling. Byte - en del av et maskinord, vanligvis bestående av 8 biter og brukt som en enhet for informasjonsmengden under lagring, overføring og behandling på en datamaskin. En byte tjener til å representere bokstaver, stavelser og spesialtegn (som vanligvis opptar alle 8 biter) eller desimalsiffer (hver 2 sifre i 1 byte).

To sammenhengende byte kalles et ord, 4 byte et dobbeltord, 8 byte et fireord.

Nesten all informasjon som omgir oss er analog. Derfor, før informasjonen kommer inn i prosessoren for behandling, konverteres den ved hjelp av en ADC (analog-til-digital-omformer).I tillegg er informasjonen kodet i et bestemt format og kan være digital, logisk, tekstlig (symbolsk), grafisk, video osv.

For eksempel brukes en tabell med ASCII-koder (fra engelsk American Standard Code for Information Interchange) for å kode tekstinformasjon. Ett tegn skrives i en byte, som kan ha 256 verdier. Grafisk informasjon er delt inn i punkter (piksler), og fargen og posisjonen til hver prikk er kodet horisontalt og vertikalt.

I tillegg til binær- og desimalsystemet bruker MS et heksadesimalt system der symbolene 0 ... 9 og A ... F brukes til å skrive tall. Bruken skyldes at en byte er beskrevet av en to -sifret heksadesimalt tall, som i stor grad reduserer registrering av numerisk kode og gjør den mer lesbar (11111111 — FF).

Tabell 1 — Skrive tall i forskjellige tallsystemer

Skrive tall i forskjellige tallsystemer

For å bestemme verdien av tallet (for eksempel kan verdien av tallet 100 for forskjellige tallsystemer være 42, 10010, 25616), legg til en latinsk bokstav som indikerer tallsystemet på slutten av tallet: for binære tall bokstaven b, for heksadesimale tall — h , for desimaltall — d. Et tall uten tilleggsbetegnelse regnes som en desimal.

Konvertering av tall fra ett system til et annet og grunnleggende aritmetiske og logiske operasjoner med tall lar deg lage en teknisk kalkulator (standardapplikasjon av Windows-operativsystemet).

Strukturen til et mikroprosessorsystem

Mikroprosessorsystemet er basert på en mikroprosessor (prosessor) som utfører informasjonsbehandling og kontrollfunksjoner. Resten av enhetene som utgjør mikroprosessorsystemet, tjener prosessoren ved å hjelpe den til å fungere.

Obligatoriske enheter for å lage et mikroprosessorsystem er inngangs-/utgangsporter og delvis minne... Input - output-porter kobler prosessoren til omverdenen ved å gi informasjon for prosessering og utmating av resultatene av prosesserings- eller kontrollhandlinger. Knapper (tastatur), ulike sensorer er koblet til inngangsportene; til utgangsporter - enheter som tillater elektrisk kontroll: indikatorer, displayer, kontaktorer, magnetventiler, elektriske motorer, etc.

Minne er først og fremst nødvendig for å lagre et program (eller sett med programmer) som er nødvendig for at prosessoren skal fungere. Et program er en sekvens av kommandoer som prosessoren forstår, skrevet av et menneske (vanligvis en programmerer).

Strukturen til et mikroprosessorsystem er vist i figur 1. I en forenklet form består prosessoren av en aritmetisk logisk enhet (ALU) som behandler digital informasjon, og en kontrollenhet (CU).

Minne inkluderer vanligvis skrivebeskyttet minne (ROM), som er ikke-flyktig og beregnet for langtidslagring av informasjon (f.eks. programmer), og tilfeldig tilgangsminne (RAM), beregnet for midlertidig datalagring.

Strukturen til et mikroprosessorsystem

Figur 1 — Strukturen til mikroprosessorsystemet

Prosessoren, portene og minnet kommuniserer med hverandre via busser. En buss er et sett med ledninger som er funksjonelt forent. Et enkelt sett med systembusser kalles intrasystembuss, der det er:

  • DB databuss (Data Bus), gjennom hvilken data utveksles mellom prosessoren, minnet og portene;

  • adressebuss AB (Address Bus), brukes til å adressere minnecellene og portene til prosessoren;

  • kontrollbuss CB (Control Bus), et sett med linjer som overfører ulike styresignaler fra prosessoren til eksterne enheter og omvendt.

Mikroprosessorer

Mikroprosessor - en programvarekontrollert enhet designet for å behandle digital informasjon og kontrollere prosessen med denne behandlingen, laget i form av en (eller flere) integrerte kretser med høy grad av integrering av elektroniske elementer.

En mikroprosessor er preget av et stort antall parametere, da det både er en kompleks programvarestyrt enhet og en elektronisk enhet (mikrokrets). Derfor, for en mikroprosessor, både kassetypen og instruksjonssettet for prosessoren... Mulighetene til en mikroprosessor er definert av konseptet mikroprosessorarkitektur.

Prefikset «micro» i navnet på prosessoren betyr at den er implementert ved hjelp av mikronteknologi.

Utseendet til Intel Pentium 4-mikroprosessoren

Figur 2 — Utvendig visning av Intel Pentium 4-mikroprosessoren

Under drift leser mikroprosessoren programkommandoer fra minnet eller en inngangsport og utfører dem. Hva hver kommando betyr bestemmes av prosessorens instruksjonssett.Instruksjonssettet er innebygd i arkitekturen til mikroprosessoren, og utførelse av kommandokoden uttrykkes i utførelse av visse mikrooperasjoner av prosessorens interne elementer.

Mikroprosessorarkitektur — dette er dens logiske organisasjon; den definerer egenskapene til mikroprosessoren når det gjelder maskinvare- og programvareimplementering av funksjonene som kreves for å bygge et mikroprosessorsystem.

Hovedkarakteristika for mikroprosessorer:

1) Klokkefrekvens (måleenhet MHz eller GHz) — antall klokkepulser i 1 sekund.Klokkepulsene genereres av en klokkegenerator, som vanligvis er plassert inne i prosessoren. Fordi alle operasjoner (instruksjoner) utføres i klokkesykluser, avhenger arbeidsytelsen (antall operasjoner utført per tidsenhet) av klokkefrekvensen. Prosessorfrekvensen kan variere innenfor visse grenser.

2) Bitprosessor (8, 16, 32, 64 biter osv.) — spesifiserer antall byte med data som behandles i én klokkesyklus. Bitbredden til en prosessor bestemmes av bitbredden til dens interne registre. En prosessor kan være 8-bit, 16-bit, 32-bit, 64-bit osv. dvs. data behandles i biter på 1, 2, 4, 8 byte. Det er klart at jo større boredybde, desto høyere er arbeidsproduktiviteten.

Intern arkitektur av mikroprosessoren

En forenklet intern arkitektur for en typisk 8-bits mikroprosessor er vist i figur 3. Strukturen til mikroprosessoren kan deles inn i tre hoveddeler:

1) Register for midlertidig lagring av kommandoer, data og adresser;

2) Aritmetisk logisk enhet (ALU) som utfører aritmetiske og logiske operasjoner;

3) Kontroll- og tidskrets — gir kommandovalg, organiserer driften av ALU, gir tilgang til alle mikroprosessorregistre, oppfatter og genererer eksterne kontrollsignaler.

Forenklet intern arkitektur for en 8-bits mikroprosessor

Figur 3 — Forenklet intern arkitektur for en 8-bits mikroprosessor

Som du kan se av diagrammet, er prosessoren basert på registre, som er delt inn i spesialregistre (med et bestemt formål) og generelle registre.

Programteller (datamaskin) - et register som inneholder adressen til neste kommandobyte. Prosessoren må vite hvilken kommando som skal utføres neste gang.

Batteri — et register som brukes i de fleste instruksjoner for logisk og aritmetisk behandling; det er både kilden til en av databytene som kreves for ALU-operasjonen og stedet hvor resultatet av ALU-operasjonen er plassert.

Et funksjonsregister (eller flaggregister) inneholder informasjon om den interne tilstanden til mikroprosessoren, spesielt resultatet av den siste ALU-operasjonen. Et flaggregister er ikke et register i vanlig forstand, men ganske enkelt et sett med flip flops (flagg opp eller ned. Det er vanligvis null, overløp, negative og bæreflagg).

Stack Pointer (SP) — holder styr på posisjonen til stabelen, det vil si at den inneholder adressen til den sist brukte cellen. Stack — en måte å organisere datalagring på.

Et kommandoregister inneholder gjeldende kommandobyte som dekodes av kommandodekoderen.

De eksterne busslinjene er isolert fra de interne busslinjene med buffere, og de interne hovedelementene er forbundet med en intern høyhastighets databuss.

For å forbedre ytelsen til et multiprosessorsystem kan funksjonene til sentralprosessoren fordeles mellom flere prosessorer. For å hjelpe sentralprosessoren introduserer datamaskinen ofte co-prosessorer, fokusert på effektiv utførelse av spesifikke funksjoner. Utbredte matematiske og grafiske co-prosessorer, input og output frigjør sentralprosessoren fra enkle, men tallrike operasjoner for interaksjon med eksterne enheter.

På det nåværende stadiet er hovedretningen for å øke produktiviteten utviklingen av flerkjerneprosessorer, dvs. å kombinere to eller flere prosessorer i ett tilfelle for å utføre flere operasjoner parallelt (samtidig).

Intel og AMD er de ledende selskapene for design og produksjon av prosessorer.

Mikroprosessorsystemalgoritme

Algoritme - en presis resept som unikt setter prosessen med å transformere den første informasjonen til en sekvens av operasjoner som gjør det mulig å løse et sett med oppgaver fra en bestemt klasse og oppnå ønsket resultat.

Hovedkontrollelementet i hele mikroprosessorsystemet er en prosessor... Den styrer, med unntak av noen få spesielle tilfeller, alle andre enheter. De resterende enhetene, som RAM, ROM og I/O-porter, er underordnet.

Så snart den er slått på, begynner prosessoren å lese digitale koder fra minneområdet som er reservert for lagring av programmer. Lesing gjøres sekvensielt celle for celle, fra den aller første. En celle inneholder data, adresser og kommandoer. En instruksjon er en av de elementære handlingene som en mikroprosessor kan utføre. Alt arbeidet til mikroprosessoren er redusert til sekvensiell lesing og utførelse av kommandoer.

Vurder sekvensen av handlinger til mikroprosessoren under utførelse av programkommandoer:

1) Før neste instruksjon blir utført, lagrer mikroprosessoren sin adresse i dataprogramtelleren.

2) MP får tilgang til minnet på adressen i datamaskinen og leser fra minnet den første byten til neste kommando i kommandoregisteret.

3) Kommandodekoderen dekoder (dechiffrerer) kommandokoden.

4) I samsvar med informasjonen mottatt fra dekoderen, genererer kontrollenheten en tidsbestemt sekvens av mikrooperasjoner som utfører kommandoinstruksjonene, inkludert:

— henter operander fra registre og minne;

— utfører aritmetiske, logiske eller andre operasjoner på dem som foreskrevet av kommandokoden;

— avhengig av lengden på kommandoen, endrer innholdet på datamaskinen;

— overfører kontrollen til neste kommando hvis adresse igjen er i dataprogramtelleren.

Instruksjonssettet for en mikroprosessor kan deles inn i tre grupper:

1) Kommandoer for å flytte data

Overføringen skjer mellom minne, prosessor, I/O-porter (hver port har sin egen adresse), mellom prosessorregistre.

2) Datatransformasjonskommandoer

Alle data (tekst, bilde, video osv.) er tall, og kun aritmetiske og logiske operasjoner kan utføres med tall. Derfor inkluderer kommandoene til denne gruppen addisjon, subtraksjon, sammenligning, logiske operasjoner, etc.

3) Overføring av kontrollkommando

Det er svært sjelden at et program består av en enkelt sekvensiell instruksjon. De fleste algoritmer krever programforgrening. For at programmet skal endre algoritmen for sitt arbeid, avhengig av enhver tilstand, brukes kontrolloverføringskommandoer. Disse kommandoene sikrer flyten av programkjøring langs forskjellige baner og organiserer løkker.

Eksterne enheter

Eksterne enheter inkluderer alle enheter som er eksterne til prosessoren (unntatt RAM) og koblet til via I/O-porter. Eksterne enheter kan klassifiseres i tre grupper:

1) kommunikasjonsenheter mellom mennesker og datamaskiner (tastatur, skjerm, skriver, etc.);

2) enheter for kommunikasjon med kontrollobjekter (sensorer, aktuatorer, ADC og DAC);

3) eksterne lagringsenheter med stor kapasitet (harddisk, disketter).

Eksterne enheter er koblet til mikroprosessorsystemet fysisk - gjennom kontakter og logisk - gjennom porter (kontrollere).

Et avbruddssystem (mekanisme) brukes til å kommunisere mellom prosessoren og eksterne enheter.

Avbryt systemet

Dette er en spesiell mekanisme som gjør det mulig til enhver tid, gjennom et eksternt signal, å tvinge prosessoren til å stoppe utførelsen av hovedprogrammet, utføre operasjoner relatert til hendelsen som forårsaket avbruddet, og deretter gå tilbake til utførelsen av hovedprogrammet .

Hver mikroprosessor har minst én avbruddsforespørselinngang INT (fra ordet avbrudd).

La oss vurdere et eksempel på samspillet mellom en personlig datamaskinprosessor og et tastatur (Figur 4).

Tastatur — en enhet for å legge inn symbolsk informasjon og kontrollkommandoer. For å koble til tastaturet har datamaskinen en spesiell tastaturport (brikke).

Hvordan prosessoren fungerer med tastaturet

Figur 4 — CPU-drift med tastaturet

Algoritme for arbeid:

1) Når en tast trykkes, genererer tastaturkontrolleren en numerisk kode. Dette signalet går til tastaturportbrikken.

2) Tastaturporten sender et avbruddssignal til CPUen. Hver ekstern enhet har sitt eget avbruddsnummer som prosessoren gjenkjenner den med.

3) Etter å ha mottatt et avbrudd fra tastaturet, avbryter prosessoren kjøringen av programmet (for eksempel Microsoft Office Word-editoren) og laster programmet for behandling av tastaturkoder fra minnet. Et slikt program kalles en driver.

4) Dette programmet dirigerer prosessoren til tastaturporten og den numeriske koden lastes inn i prosessorregisteret.

5) Den digitale koden lagres i minnet og prosessoren fortsetter å utføre en annen oppgave.

På grunn av den høye operasjonshastigheten, utfører prosessoren et stort antall prosesser samtidig.

Vi anbefaler deg å lese:

Hvorfor er elektrisk strøm farlig?