Hva er inne i prosessoren. Intern struktur av prosessoren. Kampen mellom gigantene innen datamikroprosessorer

Prosessoren er hoveddelen av enhver datamaskinenhet. Men mange brukere har en veldig dårlig forståelse av hva en prosessor er i en datamaskin og hvilken funksjon den utfører. Selv om dette er viktig informasjon i den moderne verden, kan du unngå mange alvorlige misoppfatninger, hvis du vet hvilken. Hvis du vil lære mer om brikken som driver datamaskinen din, har du kommet til rett sted. I denne artikkelen vil du lære hva en prosessor er for og hvordan den påvirker ytelsen til hele enheten.

Hva er en sentral behandlingsenhet

I dette tilfellet snakker vi om den sentrale prosessoren. Tross alt er det andre i datamaskinen, for eksempel en videoprosessor.

Den sentrale prosessorenheten er hoveddelen av datamaskinen, som er en elektronisk enhet eller integrert krets. Den utfører maskininstruksjoner, eller programkode, og er kjernemaskinvaren til enheten.

Enkelt sagt er det hjertet og hjernen til datamaskinen. Det er takket være ham at alt annet fungerer, han behandler datastrømmer og styrer driften av alle deler av det totale systemet.

Hvis du ser på prosessoren fysisk, er det et lite, tynt, firkantet kretskort. Den er liten i størrelse og dekket med et metalllokk på toppen.

Den nedre delen av brikken er okkupert av kontakter, gjennom hvilke brikkesettet samhandler med resten av systemet. Ved å åpne dekselet til datamaskinens systemenhet kan du enkelt finne prosessoren, med mindre den er dekket av kjølesystemet.

Inntil CPUen utsteder den riktige kommandoen, vil ikke datamaskinen kunne utføre selv den enkleste operasjonen, for eksempel å legge til to tall. Uansett hva du vil gjøre på PC-en, involverer hver handling tilgang til prosessoren. Det er derfor det er en så viktig komponent i en datamaskin.

Moderne sentralprosessorer er i stand til ikke bare å takle hovedoppgavene sine, men kan også delvis erstatte et skjermkort. Nye brikker produseres med et eget rom for å utføre videokontrollerfunksjoner.

Denne videokontrolleren utfører alle de grunnleggende nødvendige handlingene som er nødvendige fra et skjermkort. I dette tilfellet brukes RAM som videominne. Men ikke ta feil av at en kraftig moderne prosessor kan erstatte et skjermkort fullstendig.

Selv den gjennomsnittlige klassen av skjermkort etterlater skjermkontrolleren til prosessorer langt bak. Så et datamaskinalternativ uten skjermkort er bare egnet for kontorenheter som ikke krever å utføre noen komplekse grafikkrelaterte oppgaver.

I slike tilfeller er det virkelig en mulighet til å spare penger. Tross alt kan du bare ha et prosessorbrikkesett med en god videokontroller og ikke bruke penger på et skjermkort.

Hvordan prosessoren fungerer

Vi ser ut til å ha funnet ut hva en prosessor er. Men hvordan fungerer det? Det er en lang og komplisert prosess, men når du først får taket på det, er det ganske enkelt. Prinsippet for drift av sentralprosessoren kan vurderes i trinn.

Først lastes programmet inn i RAM, hvorfra det får all nødvendig informasjon og et sett med kommandoer som må utføres av prosessorkontrollenheten. Alle disse dataene går så inn i bufferminnet, den såkalte prosessorcachen.

Informasjon kommer ut av bufferen, som er delt inn i to typer: instruksjoner og verdier. Begge havner i registre. Register er minneceller innebygd i brikkesettet. De finnes også i to typer, avhengig av hva slags informasjon de mottar: instruksjonsregistre og dataregistre.

En av komponentene i CPU er en aritmetisk-logisk enhet. Den tar for seg å utføre informasjonstransformasjoner ved hjelp av aritmetiske og logiske beregninger.

Det er her dataene fra registrene går. Etter dette leser den aritmetisk-logiske enheten de innkommende dataene og utfører kommandoene som er nødvendige for å behandle de resulterende tallene.

Her står vi igjen overfor en splittelse. De endelige resultatene er delt inn i fullførte og uferdige. De går tilbake til registrene, og de fullførte går til bufferminnet.

Prosessorcachen består av to hovednivåer: øvre og nedre. De siste kommandoene og dataene sendes til den øvre cachen, og de som ikke er i bruk går til den nedre cachen.

Det vil si at all informasjon som ligger på det tredje nivået flyttes til det andre, hvorfra dataene igjen går til det første. Tvert imot sendes unødvendige data til lavere nivå.

Etter at beregningssyklusen er fullført, blir resultatene igjen registrert i datamaskinens RAM. Dette skjer for å sikre at CPU-cachen er frigjort og tilgjengelig for nye operasjoner.

Men noen ganger er det situasjoner når bufferminnet er helt fullt, og det ikke er rom for nye operasjoner. I dette tilfellet går data som for øyeblikket ikke er i bruk inn i RAM eller til det lavere nivået av prosessorminnet.

Typer prosessorer

Etter å ha forstått prinsippet for drift av CPU, er det på tide å sammenligne de forskjellige typene. Det finnes mange typer prosessorer. Det finnes både svake enkeltkjernemodeller og kraftige enheter med flere kjerner. Det er de som er ment utelukkende for kontorarbeid, og det er de som er nødvendige for de mest moderne spillene.

For øyeblikket er det to hovedskapere av prosessorer - AMD og Intel. Det er de som produserer de mest aktuelle og mest etterspurte brikkene. Du må forstå at forskjellen mellom brikkene fra disse to selskapene ikke er i antall kjerner eller generell ytelse, men i arkitekturen.

Det vil si at produktene til disse to selskapene er bygget etter forskjellige prinsipper. Og hver skaper har sin egen unike type prosessor, som har en struktur som er forskjellig fra konkurrenten.

Det skal bemerkes at begge alternativene har sine styrker og svakheter. For eksempel skiller Intel seg ut i det følgende proffer :

  • Mindre energiforbruk;
  • De fleste maskinvareskapere fokuserer spesifikt på interaksjon med Intel-prosessorer;
  • Spillytelsen er bedre;
  • Intel samhandler lettere med datamaskinens RAM;
  • Operasjoner som krever bare ett program utføres raskere på Intel.

Samtidig er det også sine egne minuser :

  • Vanligvis er Intel-brikkesett dyrere enn deres AMD-motparter;
  • Når du arbeider med flere tunge programmer, reduseres ytelsen;
  • Grafikkjernene er svakere enn konkurrentens.

AMD er forskjellig som følger fordeler:

  • Mye bedre verdi for pengene;
  • I stand til å sikre pålitelig drift av hele systemet;
  • Det er mulig å overklokke prosessoren, øke kraften med 10-20%;
  • Kraftigere integrerte grafikkjerner.

Imidlertid er AMD dårligere i følgende parametere:

  • Interaksjon med RAM er verre;
  • Mer energi brukes på prosessordrift;
  • Driftsfrekvensen på andre og tredje nivå av bufferminne er lavere;
  • Spillytelsen er lavere.

Selv om det er fordeler og ulemper, fortsetter selskaper å produsere de beste prosessorene. Du må bare velge hvilken som er å foretrekke for deg. Det er tross alt umulig å si entydig at ett selskap er bedre enn et annet.

Hovedtrekk

Så vi har allerede funnet ut at en av hovedkarakteristikkene til en prosessor er utvikleren. Men det er en rekke parametere du må være enda mer oppmerksom på når du kjøper.

La oss ikke gå for langt fra merket og nevne at det finnes forskjellige serier med chips. Hver produsent produserer sine egne linjer i forskjellige priskategorier, laget for forskjellige oppgaver. En annen relatert parameter er CPU-arkitekturen. Faktisk er dette dens indre organer, som hele driften av brikken avhenger av.

Ikke den mest åpenbare, men veldig viktige parameteren er stikkontakten. Faktum er at på selve prosessoren må kontakten falle sammen med den tilsvarende kontakten på hovedkortet.

Ellers vil du ikke kunne kombinere disse to kritiske komponentene på noen datamaskin. Så når du setter sammen en systemenhet, må du enten kjøpe et hovedkort og se etter et brikkesett for det, eller omvendt.

Nå er det på tide å finne ut hvilke prosessoregenskaper som påvirker ytelsen. Uten tvil er den viktigste klokkehastigheten. Dette er volumet av operasjoner som kan utføres i en viss tidsenhet.

Denne indikatoren måles i megahertz. Så hva påvirker klokkehastigheten til brikken? Siden det indikerer antall operasjoner i en viss tid, er det ikke vanskelig å gjette at hastigheten til enheten avhenger av den.

En annen viktig indikator er mengden bufferminne. Som nevnt tidligere, kan det være øvre og nedre. Det påvirker også prosessorytelsen.

En CPU kan ha en eller flere kjerner. Multi-core modeller er dyrere. Men hva påvirker antall kjerner? Denne egenskapen bestemmer kraften til enheten. Jo flere kjerner, desto kraftigere er enheten.

Konklusjon

Den sentrale prosessoren spiller ikke bare en av de viktigste, men man kan til og med si hovedrollen i driften av datamaskinen. Ytelsen til hele enheten, så vel som oppgavene den vanligvis kan brukes til, vil avhenge av den.

Men dette betyr ikke at det er nødvendig å kjøpe den kraftigste prosessoren for en gjennomsnittlig datamaskin. Velg den optimale modellen som vil tilfredsstille dine krav.

Moderne datamaskiner overrasker med allsidigheten i bruken. Hvis de tidligere hovedsakelig ble brukt til matematiske beregninger, og senere til programmering av driften av maskiner og roboter, kan nå enhver bruker se og redigere bilder, videoer, lyd på sin personlige datamaskin, for ikke å nevne kompleks redigering av tekst, regnearkdokumenter og databaser data.

Den viktigste "arbeidshesten" som behandler store mengder data, og produserer millioner av operasjoner per sekund, er den sentrale prosessoren.

Fra dette materialet vil du lære om design- og driftsprinsippene til moderne prosessorer, hovedparametrene til sentrale prosessorer (og hvilke av disse parametrene er viktigere), faktorer som øker og bremser driften.

CPU-enhet

Hver moderne prosessor består av flere typer enheter.

  • Aktuatorer - utfør grunnleggende beregninger.
  • Kontrollenheter - organiser mottak og behandling av data og kommandoer av aktuatorer i riktig rekkefølge.
  • Registre (raske minneceller) - lagre mellomresultater.
  • Databuss - overfører nødvendig informasjon mellom prosessoren og andre komponenter.
  • Prosessorbuffer – lagrer ofte brukte data for å øke hastigheten på prosessorens tilgang til den. Cachen er raske minneceller plassert på prosessorbrikken.
  • Ekstra datamoduler - er ansvarlige for å utføre spesielle oppgaver (videobehandling, 3D-grafikkredigering).

Prosessorparametere som påvirker ytelsen

Hovedparameteren som påvirker ytelsen til sentralprosessoren er bitkapasiteten, en karakteristikk som indikerer antall samtidig behandlede informasjonsbiter. En høyere bitdybde lar deg behandle større datamatriser (enten blir dataene behandlet raskere mens størrelsen på de behandlede dataene forblir den samme, eller nøyaktigheten til beregningene øker).

Prosessoren har tre komponenter, hvis ytelse direkte avhenger av bitkapasiteten:

  • Data buss
  • Interne registre
  • Minne adresse buss

Data buss

Data buss er en bunt med ledere for å sende og motta elektriske signaler. Jo flere signaler som passerer gjennom databussen samtidig, jo mer informasjon strømmer til aktuatorene og behandles av dem. Bitbredden for en databuss viser dens gjennomstrømning - jo høyere bitdybde, jo mer informasjon passerer bussen per tidsenhet.

Minne adresse buss

Minne adresse buss- et sett med ledere som overfører adressene til minneceller som informasjon skrives eller leses inn i.

Jo flere ledere i adressebussen, jo flere RAM-celler er tilgjengelig for sentralprosessoren.

Hvis databussen kan sammenlignes med en motorvei, der bitdybden indikerer antall kjørefelt, minner minneadressebussen mer om nummereringen av bygninger i samme gate; jo høyere bitdybde er minneadressebussen, jo større antall adresser som kan registreres.

Interne registre

Interne registre– ultraraske RAM-celler innebygd direkte i prosessoren og brukes til å lagre mellomliggende beregningsresultater. Bredden på de interne registre viser hvor mange biter med informasjon prosessoren kan behandle i ett trinn (syklus).

Klokkefrekvens

En annen parameter som hastigheten til datamaskinen i stor grad avhenger av er prosessorens klokkehastighet(målt i gigahertz, GHz).

Klokkevibrasjonene skapes av en kvartskrystall i en metallbeholder ( klokke resonator), som spenningen påføres. Under påvirkning av spenning dannes det elektriske strømsvingninger i krystallen. De serveres på klokkegenerator, som konverterer deres pulser og overfører dem til data- og adressebusser. Dette synkroniserer driften av alle komponenter i sentralprosessoren, busser og RAM. Vi kan si at klokkegeneratoren slår ut en rytme slik at alle komponenter fungerer jevnt og synkront.

Klokkeperiode (syklus)– den minste enheten for å måle prosessorens driftstid (dvs. sentralprosessoren bruker minst én klokkesyklus for enhver operasjon). Når du utveksler data med andre datamaskinkomponenter (primært med RAM), kan prosessoren bruke mer enn én syklus (og de fleste av dem vil være ventesykluser på grunn av tregere dataoverføringsbusser og RAM-mikrobrikker sammenlignet med prosessoren)

Er klokkehastighet den avgjørende faktoren ved valg av prosessor? Nei. En høyere klokkefrekvens vil være en betydelig bonus bare hvis andre prosessorparametere er like. I noen tilfeller overgikk prosessorer med lavere klokkehastighet sine raskere motstandere i både hastighet og generell ytelse.

I løpet av de siste 10-12 årene har fenomenet "overklokking" blitt veldig utbredt - øke ytelsen til datamaskinkomponenter gjennom bruk av deres tvungne driftsmoduser. På russisk har begrepet "overklokking" blitt mer vanlig. Så, hvordan overklokker du en prosessor? Det enkleste er å øke klokkefrekvensen. For å gjøre dette påføres mer spenning til klokkeresonatoren, antall oscillasjoner i kvartskrystallen øker, og følgelig øker antallet pulser per tidsenhet som sendes av klokkegeneratoren. Det er flere begrensninger for slik overklokking:

  • Mengden energi som forbrukes av prosessoren øker (hvis du har tenkt å overklokke datamaskinen, ta hensyn til dette når du velger strømforsyning)
  • Når energien som tilføres til krystallen øker, øker også mengden energi som gis til den. Enkelt sagt, den varmes opp mer, og denne overskuddsvarmen må fjernes (vanligvis er det installert et kraftigere kjølesystem for dette).
  • Etter hvert som den tilførte elektrisiteten øker, øker elektromagnetisk interferens, først og fremst på data- og adressebusser. Antallet klokkesykluser øker selvfølgelig, men mengden data som overføres fra prosessoren til minnet og tilbake avtar.

Hvorfor overopphetes prosessorer og hvordan kan man forhindre det?

Hver prosessor består av et stort antall mikroskopiske radioelementer. Jo flere det er og jo høyere prosessorens klokkehastighet, jo mer energi bruker prosessoren. Mobile prosessorer for bærbare datamaskiner, nettbrett og kommunikatorer er designet for lavt strømforbruk (opptil 35 W). Desktop-modeller bruker 130 W eller mer. Samtidig frigjøres en stor mengde varme eksternt, og for å fjerne denne varmen fra overflaten av brikken er det nødvendig med et godt kjølesystem.

Når du velger et kjølesystem, er en av de viktigste parameterne verdien TDP (Totalt tappet kraft totalt effekttap).

Det er mange måter å redusere energiforbruket på. Her er noen av dem:

  • Deaktivere moduler, senke klokkefrekvensen, senke driftsspenningen når belastningen på prosessoren reduseres (for Intel-prosessorer - SpeedStep-teknologi, for AMD-prosessorer - Cool&Quiet-teknologi).
  • Anvendelse i produksjon av nye, progressive materialer.
  • Bruken av prosessorer som opererer med redusert forsyningsspenning (lav spenning, ultralav spenning). Strømforbruket varierer proporsjonalt med spenningen.

Måter å forbedre prosessorytelsen på

  • Systembussakselerasjon. Jo raskere prosessoren mottar data og kommandoer fra PC-ens lagringsenheter, jo mindre tid bruker den på å vente, og derfor kjøre programmer.
  • Rask multi-level cache-minne. Prosessorer lagrer mellomresultater av beregninger i det innebygde cache-minnet (cache-minnet). Klokkehastigheten er lik frekvensen til selve prosessoren, så den er mye raskere enn systemminnet. De fleste moderne prosessorer har hurtigbufferminne for det første (nivå 1, L1), andre (nivå 2, L2) og tredje (nivå 3, L3) hurtigbufferminne. L1-cachen er relativt liten (flere hundre kilobyte). L2- og L3-cacher er større (opptil flere megabyte) og tregere enn L1-cacher, men fungerer fortsatt med høyere hastigheter enn system-RAM. Data som kommer fra hurtigbufferen holder prosessoren opptatt uten å måtte vente på svar fra systemminnet.
  • Rørledningsbehandling, dvs. sekvensiell passasje av instruksjoner gjennom ulike komponenter i CPU. Fordelen med denne metoden for databehandling er at i nærvær av en rørledning håndterer prosessoren ikke én kommando om gangen, men med flere.
    Rørledningsbehandling bruker algoritmer for forhåndshenting av kommandoer og data. Når du laster en kommando, prøver forhåndshentingsblokken å forutsi hvilke kommandoer og data som vil være nødvendig neste gang. På denne måten lastes rørledningen raskere fordi ingen tid går til spille på å vente på at resultatene fra tidligere kommandoer skal utføres.
  • Parallellisering av beregninger ved hjelp av flere fysiske datakjerner. Moderne flerkjerneprosessorer simulerer tilstedeværelsen av to, fire eller flere separate prosessorer i et system. Hvis det kjørbare programmet har funksjonen til å parallellisere beregninger, dele dem inn i flere tråder (Threads), kan disse beregningene utføres samtidig.
  • Støtte for mulsom opererer etter SIMD-prinsippet (Enkel instruksjon - flere data, det vil si én kommando - mange data). Prosessorer som støtter slike teknologier behandler raskere store mengder data som krever gjentatt utførelse av de samme kommandoene. Intel-prosessorer har MMX- og SSE-teknologier, AMD-prosessorer har 3DNow!

Algoritme for drift av en moderne prosessor

I dette kapittelet vil vi se på et ganske forenklet diagram over driften av sentralprosessoren med en beskrivelse av funksjonene til hovedkomponentene.

  • Be om en kommando fra minnet. Henteenheten prøver å finne en passende instruksjon sekvensielt først i første nivå cache (L1), andre nivå (hvis instruksjonen ikke er i L1 cache), tredje nivå (hvis instruksjonen ikke er i L1 og L2 cache). Hvis instruksjonen ikke er i prosessorbufferen, lastes instruksjonen fra systemminnet via databussen, og går sekvensielt gjennom hurtigbufferen til alle tre nivåene. Ved å bruke samme algoritme blir data bedt om å utføre denne kommandoen.
  • Fra samplingsblokken blir kommandoen overført til dekoderen. I dekoderen er kommandoen delt inn i flere mikrooperasjoner av en slik størrelse at de kan utføres i 1 klokkesyklus av aktuatorene. En sekvens av mikrooperasjoner er plassert i cachen. Forhåndshentingsenheten analyserer sekvensen av mikrooperasjoner for å finne ut hvilke instruksjoner som vil være nødvendige neste gang.
  • Planleggeren velger en blokk med mikrooperasjoner fra hurtigbufferminnet og danner en sekvens for utførelse av dem. Kommandoer, hvis utførelse ikke er avhengig av utførelsen av andre kommandoer, utføres parallelt på forskjellige utførelsesenheter: ALU (aritmetisk-logisk enhet, aritmetisk-logisk enhet) for heltall, FPU (flytende kommaenhet, flytende kommaenhet) , ALU for kommandoer SSE, etc. På dette stadiet er forhåndshentingsfeil mulig (for eksempel en feil valgt neste instruksjon eller feil valgte dataadresser i minnet), noe som innebærer å tømme rørledningen og gå til trinn 1 i skjemaet vårt.
  • Riktig utførelse av kommandoen kontrolleres, resultatet plasseres i cache-minnet og overføres via databussen til systemminnet.

Den sentrale prosessoren er det viktigste og viktigste elementet i systemet. Takket være det utføres alle oppgaver relatert til dataoverføring, kommandoutførelse, logiske og aritmetiske operasjoner. De fleste brukere vet hva en CPU er, men forstår ikke hvordan den fungerer. I denne artikkelen vil vi prøve å forklare enkelt og tydelig hvordan CPU'en fungerer og hva den er ansvarlig for i en datamaskin.

Før du forstår de grunnleggende prinsippene til CPU, er det tilrådelig å gjøre deg kjent med komponentene, fordi dette ikke bare er en rektangulær plate montert på hovedkortet, det er en kompleks enhet dannet av mange elementer. Du kan finne ut mer om CPU-designet i artikkelen vår, men la oss nå gå ned til å analysere hovedemnet i artikkelen.

Utførte operasjoner

En operasjon er en eller flere handlinger som behandles og utføres av dataenheter, inkludert prosessoren. Selve operasjonene er delt inn i flere klasser:

  1. Inngang og utgang. Flere eksterne enheter må kobles til datamaskinen, for eksempel tastatur og mus. De er direkte koblet til prosessoren og en egen operasjon er tildelt dem. Den overfører data mellom CPU og eksterne enheter, og fører også til at visse handlinger skriver informasjon inn i minnet eller sender den til eksternt utstyr.
  2. Systemoperasjoner er ansvarlig for å stoppe programvaren, organisere databehandling, og fremfor alt er ansvarlig for stabil drift av PC-systemet.
  3. Skrive og laste operasjoner. Dataoverføring mellom prosessoren og minnet utføres ved hjelp av sendeoperasjoner. Ytelsen sikres ved samtidig opptak eller lasting av grupper av kommandoer eller data.
  4. Aritmetisk-logisk. Denne typen operasjon beregner verdiene til funksjoner og er ansvarlig for å behandle tall og konvertere dem til forskjellige tallsystemer.
  5. Overganger. Takket være overganger øker systemets hastighet betydelig, fordi de lar deg overføre kontrollen til en hvilken som helst programkommando, og uavhengig bestemme de mest passende overgangsforholdene.

Alle operasjoner må kjøres samtidig fordi flere programmer kjører samtidig mens systemet er aktivt. Dette oppnås ved å sammenflette behandlingen av data av prosessoren, noe som gjør at operasjoner kan prioriteres og utføres parallelt.

Utføre kommandoer

Kommandobehandling er delt inn i to komponenter - operativ og operand. Operativkomponenten viser hele systemet hva det skal jobbe med for øyeblikket, og operand-komponenten gjør det samme, bare separat med prosessoren. Kjernene er ansvarlige for å utføre kommandoer, og handlinger utføres sekvensielt. Først skjer generering, deretter skjer dekryptering, selve kommandoen utføres, minne forespørres, og det ferdige resultatet lagres.

Ved å bruke cache-minne er kommandoutførelse raskere fordi det ikke er behov for konstant tilgang til RAM, og data lagres på bestemte nivåer. Hvert nivå av cache-minne er forskjellig i mengden data og hastigheten på lossing og skriving, noe som påvirker ytelsen til systemene.

Interaksjoner med hukommelse

ROM (Read Only Memory) kan bare lagre uforanderlig informasjon, men RAM (Random Access Memory) brukes til å lagre programkode og mellomdata. Prosessoren samhandler med disse to typer minne, ber om og overfører informasjon. Samhandling skjer ved bruk av tilkoblede eksterne enheter, adressebusser, kontrollbusser og ulike kontrollere. Alle prosesser er vist skjematisk i figuren under.

Hvis du ser på viktigheten av RAM og ROM, kan du klare deg uten den første hvis den permanente lagringsenheten hadde mye mer minne, noe som er praktisk talt umulig å implementere for øyeblikket. Uten ROM vil systemet ikke kunne fungere, det vil ikke engang starte, siden maskinvaren først testes ved hjelp av BIOS-kommandoer.

For å forstå hvordan en mikroprosessor fungerer, la oss stille oss selv spørsmålet - hvordan skal det fungere? Det er en teori (for det meste opprettet i ettertid: etter at de første datamaskinene allerede var bygget og fungerte) som indikerer nøyaktig hvordan man bygger algoritmer, og hva prosessoren skal gjøre i samsvar med dette. Naturligvis vil vi ikke gå dypere inn i dette; vi vil ganske enkelt si at enhver algoritme er en sekvens av visse handlinger skrevet i form av et sett med sekvensielt utførte kommandoer (instruksjoner, operatører). Blant slike kommandoer kan det dessuten være overgangskommandoer, som i noen tilfeller bryter den opprinnelige sekvensen for utførelse av operatører strengt etter hverandre. Blant annet bør det også være kommandoer for input og output av data (programmet må på en eller annen måte kommunisere med omverdenen?), samt kommandoer for å utføre aritmetiske og logiske operasjoner.

Instruksjoner må lagres et sted, så en programminneenhet må være en integrert del av hele systemet. Et sted må du lagre dataene, både de første dataene og resultatene av programmet, så det må være en dataminneenhet. Siden kommandoer og data til syvende og sist fortsatt er tall, kan minnet deles, vi trenger bare å kunne skille hvor nøyaktig vi har kommandoer og hvor vi har data. Dette er et av von Neumann-prinsippene, selv om de i mikrokontrollere, som vi skal snakke om senere, tradisjonelt ikke bruker von Neumann, men den såkalte Harvard-arkitekturen, når data og programminne er separert (denne separasjonen kan imidlertid, innenfor visse grenser bli krenket). En prosessor bygget i henhold til von Neumann er mer universell; for eksempel lar den deg utvide minnet uten problemer, bygge det hierarkisk og mer effektivt omfordele det direkte under drift. For eksempel antar Windows alltid at datamaskinen har en tilnærmet ubegrenset mengde minne (målt i terabyte), og hvis det virkelig ikke er nok, blir en byttefil på harddisken involvert. Samtidig krever mikrokontrollere ikke spesielt slik fleksibilitet - på grunnlag av dem bygges det som regel noder som utfører en spesifikk oppgave og jobber i henhold til et spesifikt program, så det koster ikke noe å gi den nødvendige systemkonfigurasjonen i avansere.

MP og MK

Forresten, hvorfor snakker vi alltid om mikroprosessorer (MP) eller mikrokontrollere (MC)? En mikrokontroller skiller seg fra en mikroprosessor ved at den er designet for å kontrollere andre enheter, og har derfor et innebygd avansert input-output system, men som regel en relativt svakere ALU. Mikrokontrollere er veldig godt egnet til begrepet, som i sovjettiden imidlertid hadde en litt annen betydning - "mikro-datamaskin"; det engelske ordet "computer-on-chip", en enkeltbrikke datamaskin, er enda mer nøyaktig. Faktisk, for å bygge den enkleste dataenheten som kan gjøre noe nyttig, må en konvensjonell mikroprosessor, fra i4004 til Pentium og Core Duo, suppleres med minne, ROM med en skrevet BIOS, input-out-enheter, en avbruddskontroller, en klokkegenerator med tidtakere osv. - alt det har nå begynt å kombineres til den såkalte. "brikkesett". En "naken" MP er kun i stand til én ting: å slå på riktig; den har ikke engang et oppstartsprogram hvor som helst.

På samme tid, for en mikroprosessor, er en mikroprosessor bare en kjerne, ikke engang den største delen av krystallen. For å bygge et komplett system på en standard MK, kreves ingenting i det hele tatt bortsett fra en strømforsyning og perifere utførelsesenheter som vil tillate en person å fastslå at systemet fungerer. En vanlig MK kan, uten tilleggskomponenter, kommunisere med andre MK-er, eksternt minne, spesielle mikrokretser (som en sanntidsklokke eller flashminne), kontrollere små (og noen ganger store) matrisepaneler, og sensorer av fysiske mengder kan kobles direkte til til den (inkludert inkludert rent analoge, ADC-er er også ofte inkludert i mikrokontrollere), knapper, tastaturer, lysdioder og indikatorer, kort sagt - alt er gjort i mikrokontrollere slik at du må lodde så lite som mulig og tenke på utvalget av elementer. Du må betale for dette med redusert ytelse (som imidlertid ikke er så viktig i typiske oppgaver for MK) og noen begrensninger i visse funksjoner - sammenlignet med universelle, men hundrevis av ganger dyrere og komplekse systemer på "ekte". » MP. Du tror meg kanskje ikke, men prosessorer for personlige datamaskiner (PC-er), som vi hører så mye om, opptar bare 5-6% av det totale antallet prosessorer som produseres - resten er mikrokontrollere for ulike formål.

I samsvar med det som er sagt, bør hovedsyklusen for prosessorens operasjon være som følger: hente neste kommando (fra minnet), om nødvendig, hente kildedata for den, utføre kommandoen, plassere resultatene i minnet (igjen , hvis nødvendig). Alt arbeid i denne syklusen må skje automatisk ved kommandoer fra en kontrollenhet som inneholder en klokkegenerator - en systemklokke som alt synkroniseres med. I tillegg må alt dette skje et eller annet sted - lagring av data, kommandokode, utførelse av handlinger osv., slik at prosessoren må inneholde et visst sett med arbeidsregistre (i hovedsak et ultraraskt minne i liten størrelse), koblet på en bestemt måte mellom seg selv, samt med kontrollenheten og ALU, som uunngåelig må være tilstede.

Programtelleren spiller en avgjørende rolle i driften av prosessoren. Den settes automatisk til null ved begynnelsen av operasjonen, som tilsvarer den første kommandoen, og økes automatisk (det vil si økes med én) med hver kommando som utføres. Hvis rekkefølgen av kommandoer blir brutt underveis, for eksempel en hopp- (gren)-kommando, blir den tilsvarende kommandoadressen lastet inn i telleren - nummeret fra begynnelsen av programmet. Hvis dette ikke bare er en gren, men utførelse av en subrutine, som innebærer å gå tilbake til hovedsekvensen av kommandoer (til neste kommando etter å ha kalt subrutinen), før du går videre til å utføre subrutinen, vil gjeldende verdi av programtelleren er lagret i et minneområde spesielt tildelt for dette formålet - stabelen. På en subrutineavslutningskommando blir den lagrede adressen tatt ut av stabelen og kjøringen av hovedprogrammet fortsetter. Heldigvis trenger vi ikke å håndtere programtelleren selv, fordi alle instruksjonene for dette finnes i kommandoene, og prosessoren gjør alt automatisk.

Ris. 18.2. Blokkdiagram av en enkel mikrokontroller

Et blokkdiagram av den enkleste MK, som inneholder en prosessorkjerne og et minimum av komponenter for "kommunikasjon" med det eksterne miljøet, er vist i fig. 18.2. Her har vi inkludert i systemet programminne, som alltid er plassert separat i PC-prosessorer (bortsett fra en relativt liten mengde høyhastighets cache-minne) - du vet selv hvor mye programmer det er i personlige datamaskiner. I de fleste moderne mikrokontrollere er skrivebeskyttet minne (ROM) for programmer inkludert i brikken og er typisk mellom V-2 og 8-32 kB. Selv om det finnes modeller med 256 kilobyte innebygd minne, er 2-8 kilobyte ganske nok for de aller fleste applikasjoner. Innebygd RAM (Random Access Memory) for lagring av data i ett eller annet volum er også tilgjengelig i alle moderne mikrokontrollere; den typiske størrelsen på slik RAM er fra 128-256 byte til 1-4 kbyte. De fleste universelle kontrollere har også en viss mengde innebygget ikke-flyktig minne for lagring av konstanter - vanligvis samme mengde som data-RAM. Men vi kommer tilbake til minnet i dette kapittelet, men foreløpig fortsetter vi om prosessorer.

Detaljer

i de første modellene av mikroprosessorer (inkludert Intel-prosessorer for PC-er - fra 8086 til 80386), utførte prosessoren kommandoer strengt sekvensielt: last kommandoen, finn ut at den trenger operander, last inn disse operandene (på adressen til registrene som skal inneholde dem ; disse adressene er vanligvis lagret umiddelbart etter selve kommandokoden eller er definert på forhånd), utfør deretter de nødvendige handlingene, lagre resultatene... Arkitekturen til de superpopulære 8051 mikrokontrollerne, som fremdeles produseres den dag i dag av forskjellige selskaper (Atnnel, Philips), har nådd vår tid, som utførte en kommando så mye som i 12 sykluser (i noen moderne analoger er dette tallet imidlertid mindre). For å få fart på arbeidet begynte de å dele klokkesykluser i deler (for eksempel trigger på for- og fallkanter), men det virkelige gjennombruddet kom med introduksjonen av transportbåndet. Siden Henry Fords dager har det vært kjent at ytelsen til en rørledning kun avhenger av utførelsestiden for den lengste operasjonen - hvis du deler kommandoer i trinn og utfører dem samtidig av forskjellige maskinvarenoder, kan du oppnå betydelig hastighet (selv om ikke i alle tilfeller). I Atmel AVR-mikrokontrollerne som er diskutert nedenfor, er rørledningen to-trinns: når neste kommando er lastet og dekodet, er den forrige allerede utført og skriver resultatene. I AVR gjorde dette det mulig å utføre de fleste kommandoer i en klokkesyklus (unntatt programgrenkommandoer).

Hovedenheten i MP, som kobler alle noder til et enkelt system, er den interne databussen. Alle enheter utveksler signaler gjennom den. For eksempel, hvis MP trenger tilgang til eksternt, ekstra minne, når den tilsvarende kommandoen utføres, settes den nødvendige adressen på databussen, og en forespørsel mottas fra kontrollenheten gjennom den om å få tilgang til den nødvendige I/O havner. Hvis portene er klare, sendes adressen til portutgangene (det vil si til de tilsvarende kontrollerpinnene), og når den er klar, legger mottaksporten data mottatt fra eksternt minne på bussen, som lastes inn i ønsket register , hvoretter databussen er ledig. For å sikre at alle enheter ikke forstyrrer hverandre, er alt dette strengt synkronisert, og hver enhet har for det første sin egen adresse, og for det andre kan den være i tre tilstander - fungere som inngang, som utgang, eller være i en tredje stat, uten å forstyrre andres arbeid.

Sifferkapasiteten til en MP forstås vanligvis som sifferkapasiteten til tallene som ALU opererer med; følgelig har arbeidsregistrene også samme sifferkapasitet. For eksempel var alle PC-prosessorer fra 1386 til de siste inkarnasjonene av Pentkim 32-bit, noen nyere modeller fra Intel og AMD har blitt 64-bit. De fleste generelle mikrokontrollere er 8-biters, men det finnes også 16- og 32-biters. I dette tilfellet kan den interne databussen ha flere biter - for eksempel for å overføre både adresser og data samtidig.

Fordelingen av MK-markedet i de første årene av årtusenet var som følger: litt mindre enn halvparten av produktene som ble produsert var 8-bits krystaller, og andre halvdel var delt mellom 16- og 32-bits brikker, med andelen av sistnevnte vokser jevnt og trutt på bekostning av 16-bits brikker. Til og med 4-biters produseres, etterkommere av de første 14004, som ikke opptar mer enn 10% av markedet, men merkelig nok synker denne andelen veldig sakte.

Merknader i margen

Vanligvis er klokkefrekvensen til universelle MK-er lav (selv om den for en ingeniør på 1980-tallet, da PC-er opererte* ved frekvenser som ikke var høyere enn 6 MHz, ville ha virket enorm) - omtrent 8-16 MHz, noen ganger opp til 20 MHz eller litt mer. Og dette passer alle - faktum er at vanlige MK-er ikke er ment for utvikling av høyhastighetskretser. Hvis ytelse er nødvendig, brukes en annen klasse med integrerte kretser - FPGAer, "programmerbare logiske integrerte kretser". Den enkleste FPGA er et sett med logiske elementer som ikke er sammenkoblet på noen måte (den mest komplekse av dem kan inkludere noen komplette enheter, som flip-flops og generatorer), som kobles inn i ønsket krets under programmering av en slik brikke. . Kombinasjonslogikk fungerer mye raskere enn klokkede kontrollere, og for tiden brukes bare FPGA-er til å bygge ulike logiske kretser; bruken av diskrete elementer ("pulver") i masseskala har lenge vært forlatt. En annen fordel med FPGA-er er at det statiske energiforbruket for noen serier utgjør noen få mikrowatt, i motsetning til MK-er, som bruker ganske mye når de er slått på (hvis de ikke er i strømsparemodus). Sammen med mer allsidige og mye enklere å bruke, men mindre raske og kostnadseffektive mikrokontrollere, danner FPGA-er grunnlaget for de fleste masseproduserte elektroniske produkter som du ser i hyllene. I denne boken vil vi selvfølgelig ikke vurdere FPGA-er - i amatørpraksis, hovedsakelig på grunn av de høye kostnadene for de tilsvarende verktøyene og den høye terskelen for å mestre dem, brukes de ikke, og det er ikke tilrådelig å bruke dem til å designe individuelle kopier av enheter selv for profesjonelle applikasjoner.

Hvis detaljene om den interne funksjonen til MP ikke bekymrer oss veldig (vi har allerede "oppfunnet" den sentrale noden - ALU i kapittel 15, og dette er nok til å forstå hva som skjer inne i prosessorkjernen), så utveksling med det ytre miljø interesserer oss i alle detaljer. Til dette formålet brukes inngangs-/utgangsporter (I/0-port, fra inngang/utgang). Det er en viss uklarhet i dette begrepet, siden de som programmerte for PC-er i assembler husker at på PC-er var input/output-porter (IOP) registre for å kontrollere alle enheter bortsett fra selve prosessorkjernen. I mikrokontrollere kalles det samme "input/output registers" (IO) - dette er registre for tilgang til innebygde kontrollerkomponenter eksternt til datakjernen. Og dette er alle nodene som styres direkte av brukeren – fra timere og serielle porter til flaggregisteret og avbruddshåndtering. Bortsett fra RAM, som får tilgang til av spesielle kommandoer, styres alt annet i kontrolleren via RVV, og de må ikke forveksles med I/O-porter.

PVV-er i MK brukes for utveksling med "miljøet" (de er naturligvis også kontrollert av interne I/O-registre). I diagrammet fig. 18.2 viser 3 PVV-er - A, B og C; i ekte MK-er kan det være flere eller færre av dem. Enda viktigere er antallet pinner til disse portene, som oftest sammenfaller med prosessorbitstørrelsen (men ikke alltid, slik tilfellet var med 8086, som hadde en intern 16-bits struktur, men eksternt så ut som 8-bit) . Hvis vi tvinger 8-bitsporter til å "kommunisere", for eksempel med eksternt minne, kan to av dem settes til en 16-bits adresse, og den resterende kan motta data. Men hva om det er to porter eller bare én? (For eksempel, i ATxxxx2313 mikrokontrolleren er det formelt to porter, men en er avkortet, så det totale antallet linjer er 15). For at dette skal være mulig selv i en slik situasjon, er alle eksterne porter i MP alltid toveis. La oss si at hvis det er to porter, kan du først angi adressen, og deretter bytte portene til å legge inn og motta data. Naturligvis, for dette, må portene tillate drift på en felles buss - det vil si enten ha en tredje tilstand, eller en utgang med en felles kollektor for å kombinere til en "montert ELLER".

Alternativer for begge tilfeller av organisering av portutgangslinjen er vist i fig. 18.3, som viser forenklede diagrammer av utgangslinjene til 8048-familien av mikrokontrollere - den en gang mye brukte forgjengeren til den populære 80S1 MCU (for eksempel ble 8048 valgt som tastaturkontrolleren i IBM PC). I moderne MCU-er er konstruksjonen av porter noe mer komplisert (spesielt i stedet for en motstand er det en felteffekttransistor), men for å forstå operasjonsprinsippene er dette ikke avgjørende.

I henhold til det første alternativet (fig. 18.3, a), er portene 1 og 2 bygget i 8048 MK. Når skriving gjøres til porten, kommer det logiske nivået fra den direkte utgangen fra låsen på den statiske D-flip- flopp til inngangen til "AND"-kretsen, og fra inversen - til porten til transistoren VT2. Hvis dette nivået er lik logisk null, er transistoren VT1 låst og VT2 er åpen, og utgangen er også logisk null. Hvis nivået er lik logisk en, åpnes transistoren VT1 i løpet av "Skrive"-pulsen, og transistoren VT2 lukkes (de har samme polaritet). Hvis det er kapasitans ved utgangen (og den er alltid tilstede i form av distribuert kapasitans til lederne og kapasitansen til inngangene til andre komponenter), strømmer en tilstrekkelig stor ladestrøm av denne kapasitansen gjennom åpen VT1, noe som tillater dannelsen av en god overgangsfront fra O til 1. Så snart "Skrive"-pulsen slutter, slås begge transistorene av, og den logiske ved utgangen opprettholdes av motstand R1. Utgangsmotstanden til den åpne transistoren VT1 er omtrent 5 kOhm, og motstanden er 50 kOhm. Enhver annen enhet koblet til denne bussen, når den fungerer som en utgang, kan bare enten støtte en logisk en ved å koble dens lignende motstand parallelt med R1, eller okkupere linjen med sin logiske null - dette, som du kan se, er " kabling ELLER” krets. Når du arbeider som inngang, leses linjetilstanden ganske enkelt under "Skrive"-pulsen fra inngangsbufferen (element "B" i fig. 18.3, a).

Det andre alternativet (fig. 18.3, b), i henhold til hvilken port O er designet, er et konvensjonelt CMOS-utgangstrinn med en tredje tilstand, det vil si at en slik port kan fungere som en utgang, bare den opptar linjen fullstendig, mens resten av enhetene som er koblet til linjen må ydmykt lytte til monopolisten og oppfatte signaler. Dette skaper vanligvis ingen spesielle vanskeligheter og er til og med å foretrekke fra kretsdesign på grunn av symmetrien til utgangssignalene og den høye motstanden til inngangssignalene. Den eneste vanskeligheten oppstår når du parer en slik port med en linje som opererer i henhold til det første alternativet, siden med en logisk en ved utgangen, kan det oppstå elektriske konflikter hvis noen prøver å sende ut en logisk null i linjen (strømmen fra kilden vil strømme gjennom to åpne transistorer).

Ris. 18.3. Forenklede diagrammer av MK 8048 inngangs-/utgangsporter: a - porter 1 og 2; b - port O

For å sikre driften av en tre-stabil port i henhold til "kablings-ELLER"-kretsen, brukes et vanskelig triks: hele linjen "trekkes opp" til forsyningsspenningen ved hjelp av en ekstern motstand (mange mikrokontrollere har en innebygd koblingsbar motstand, installert på samme måte som R1 i kretsen på fig. 18.3, a), og normal tilstanden til alle deltakende tre-stabile porter er inngangsdrift i den tredje tilstanden. I denne modusen vil det alltid være en logisk en på linjen. Linjen byttes til utgangen bare når det er nødvendig å gi ut en logisk null. I dette tilfellet, selv om flere porter er aktive samtidig, vil det ikke oppstå konflikter.

Prosessoren er hovedbrikken til en datamaskin. Vanligvis er det også en av de mest høyteknologiske og dyre PC-komponentene. Til tross for at prosessoren er en separat enhet, har den et stort antall komponenter i strukturen som er ansvarlige for en bestemt funksjon. Hva er deres spesifikke?

Prosessor: enhetsfunksjoner og historikk

PC-komponenten, som nå vanligvis kalles sentralprosessoren, er preget av en ganske interessant opprinnelseshistorie. Derfor, for å forstå detaljene, vil det være nyttig å undersøke noen nøkkelfakta om utviklingen av utviklingen. Enheten som moderne brukere kjenner som en sentral prosesseringsenhet er et resultat av mange års forbedring i produksjonsteknologi for databrikker.

Over tid endret ingeniørers visjon om prosessorstrukturen. I datamaskiner av første og andre generasjon besto de tilsvarende komponentene av et stort antall separate blokker, svært forskjellige i oppgavene de løste. Fra og med tredje generasjon datamaskiner begynte prosessorfunksjoner å bli vurdert i en smalere sammenheng. Datadesigningeniører bestemte at dette skulle være gjenkjennelse og tolkning av maskinkommandoer, legge dem inn i registre, samt kontrollere andre PC-maskinvarekomponenter. Alle disse funksjonene begynte å bli kombinert i en enhet.

Mikroprosessorer

Etter hvert som datateknologien utviklet seg, begynte enheter kalt "mikroprosessorer" å bli introdusert i strukturen til PC-en. En av de første enhetene av denne typen var Intel 4004, utgitt av et amerikansk selskap i 1971. Mikroprosessorer på skalaen til en enkelt brikke kombinerer i sin struktur funksjonene som vi definerte ovenfor. Moderne enheter fungerer i prinsippet basert på samme konsept. Dermed inneholder sentralprosessoren til en bærbar PC, PC, nettbrett i sin struktur: en logisk enhet, registre, samt en kontrollmodul som er ansvarlig for spesifikke funksjoner. Men i praksis presenteres komponentene i moderne mikrokretser oftest i et mer komplekst sett. La oss studere denne funksjonen mer detaljert.

Strukturen til moderne prosessorer

Den sentrale prosessoren til en moderne PC, bærbar PC eller nettbrett er representert av en kjerne - det regnes nå som normen at det er flere av dem, cache-minne på forskjellige nivåer, samt kontrollere: RAM, systembuss. Ytelsen til en gitt brikketype bestemmes av dens nøkkelegenskaper. I hvilken helhet kan de presenteres?

De viktigste egenskapene til sentralprosessoren på moderne PC-er er som følger: typen mikroarkitektur (vanligvis angitt i nanometer), klokkehastighet (i gigahertz), mengden hurtigbufferminne på hvert nivå (i megabyte), strømforbruk (i watt), og tilstedeværelse eller fravær av grafikkmodul.

La oss studere detaljene for driften av noen nøkkelmoduler til sentralprosessoren mer detaljert. La oss starte med kjernen.

CPU-kjerne

Den sentrale prosessoren til en moderne PC har alltid en kjerne. Den inneholder nøkkelfunksjonsblokkene til mikrokretsen, gjennom hvilke den utfører de nødvendige logiske og aritmetiske funksjonene. Som regel presenteres de i et sett med elementer. Dermed innebærer utformingen av sentralprosessoren oftest tilstedeværelsen av blokker som er ansvarlige for å løse følgende oppgaver:

Henting og dekoding av instruksjoner;

Dataprøvetaking;

Følg instruksjonene;

Lagre beregningsresultater;

Arbeid med avbrudd.

Strukturen til mikrokretser av tilsvarende type er også supplert med en kontrollenhet, en lagringsenhet, en programteller og et sett med registre. La oss vurdere spesifikasjonene for driften av de tilsvarende komponentene mer detaljert.

Prosessorkjerne: komponenter

Blant nøkkelblokkene i den sentrale prosessorkjernen er den som er ansvarlig for å lese instruksjoner som er skrevet i adressen som er registrert i programtelleren. Som regel utføres flere operasjoner av tilsvarende type samtidig i løpet av en klokkesyklus. Det totale antall instruksjoner som skal leses er forhåndsbestemt av indikatoren i dekodingsblokkene. Hovedprinsippet her er at ved hver klokkesyklus belastes de merkede komponentene så mye som mulig. For å sikre samsvar med dette kriteriet, kan det være ekstra maskinvareelementer i prosessorstrukturen.

Dekodingsblokken behandler instruksjoner som bestemmer algoritmen for driften av mikrokretsen for å løse visse problemer. Å sikre at de fungerer er en vanskelig oppgave, som mange IT-spesialister tror. Dette skyldes delvis det faktum at lengden på instruksjonen ikke alltid er klart definert. Moderne prosessorer inkluderer vanligvis 2 eller 4 blokker der den tilsvarende dekodingen utføres.

Når det gjelder komponentene som er ansvarlige for datainnhenting, er deres hovedoppgave å sikre mottak av kommandoer fra cache-minne eller RAM, som er nødvendige for å sikre utførelse av instruksjoner. Kjernene til moderne prosessorer inneholder vanligvis flere blokker av tilsvarende type.

Kontrollkomponentene som finnes i brikken er også basert på dekodede instruksjoner. De er designet for å kontrollere arbeidet til blokkene som er ansvarlige for å utføre instruksjoner, samt fordele oppgaver mellom dem, og overvåke deres rettidig implementering. Kontrollkomponenter tilhører kategorien de viktigste i strukturen til mikroprosessorer.

Kjernene til mikrokretser av tilsvarende type inneholder også blokker som er ansvarlige for korrekt utførelse av instruksjoner. Strukturen deres inneholder elementer som en aritmetisk og logisk enhet, samt en komponent som er ansvarlig for flytepunktberegninger.

Det er blokker i prosessorkjernene som styrer behandlingen av utvidelsessett som er installert for instruksjoner. Disse algoritmene, som utfyller de grunnleggende kommandoene, brukes til å øke intensiteten på databehandlingen og utføre filkryptering eller dekrypteringsprosedyrer. Å løse slike problemer krever innføring av ytterligere registre, så vel som sett med instruksjoner, i strukturen til mikrokretskjernen. Moderne prosessorer inkluderer vanligvis følgende utvidelser: MMX (designet for koding av lyd- og videofiler), SSE (brukes til parallellisering av beregninger), ATA (brukes til å øke hastigheten på programmer og redusere strømforbruket til PC-en), 3DNow (utvider multimediefunksjonene til en datamaskin ), AES (datakryptering), samt mange andre standarder.

Strukturen til prosessorkjerner inneholder vanligvis også blokker som er ansvarlige for å lagre resultater i RAM i samsvar med adressen i instruksjonene.

En viktig komponent i kjernen er den som kontrollerer avbruddsoperasjonen til brikken. Denne funksjonen lar prosessoren sikre stabiliteten til programmer under multitasking.

Arbeidet til sentralbehandleren innebærer også bruk av registre. Disse komponentene er analoge med RAM, men tilgangen til dem er flere ganger raskere. Volumet til den tilsvarende ressursen er lite - som regel overstiger det ikke en kilobyte. Registrene er klassifisert i flere typer. Dette kan være generelle komponenter som brukes når man utfører aritmetiske eller logiske beregninger. Det finnes spesialregistre som kan inkludere systemdata som brukes av prosessoren under drift.

Strukturen til prosessorkjernen inneholder også ulike hjelpekomponenter. Hvilken for eksempel? Dette kan være en sensor som overvåker den gjeldende CPU-temperaturen. Hvis ytelsen er høyere enn de etablerte standardene, kan mikrokretsen sende et signal til modulene som er ansvarlige for driften av viftene - og de vil begynne å rotere raskere. Det er en overgangsprediktor i kjernestrukturen - en komponent som er designet for å bestemme hvilke kommandoer som skal utføres etter fullføringen av visse sykluser med operasjoner utført av brikken. Et eksempel på en annen viktig komponent er programtelleren. Denne modulen registrerer adressen til den tilsvarende algoritmen, som overføres til mikrokretsen i det øyeblikket den begynner å utføre en bestemt syklus.

Dette er strukturen til kjernen som er en del av datamaskinens sentrale prosessor. La oss nå studere mer detaljert noen av nøkkelegenskapene til mikrokretser av tilsvarende type. Nemlig: teknisk prosess, klokkefrekvens, cache-minne og strømforbruk.

Prosessoregenskaper: prosesstype

Utviklingen av datateknologi er vanligvis forbundet med fremveksten av nye generasjoner av datamaskiner etter hvert som datateknologien forbedres. På samme tid, uten å telle ytelsesindikatorer, kan et av kriteriene for å klassifisere en datamaskin som en bestemt generasjon være dens absolutte størrelse. De aller første datamaskinene var sammenlignbare i størrelse med en bygning med flere etasjer. Andregenerasjons datamaskiner var sammenlignbare i størrelse med for eksempel en sofa eller et piano. Datamaskiner på neste nivå var allerede veldig nær de som er kjent for oss nå. På sin side er moderne PC-er fjerde generasjons datamaskiner.

Egentlig, hva er alt dette for noe? Faktum er at under utviklingen av datamaskiner ble det dannet en uoffisiell regel: jo mer teknologisk avansert enheten er, jo mindre dimensjoner har den med samme ytelse, eller enda større har den. Det gjelder fullt ut egenskapene til den sentrale prosessoren som vurderes, nemlig den tekniske prosessen med produksjonen. I dette tilfellet har avstanden mellom individuelle silisiumkrystaller som danner strukturen til mikrokretsen betydning. Jo mindre den er, desto større er tettheten til de tilsvarende elementene som sentralprosessorkortet plasserer på seg selv. Følgelig kan det betraktes som mer produktivt. Moderne prosessorer er produsert ved hjelp av 90-14 nm prosessteknologi. Denne indikatoren har en tendens til å reduseres gradvis.

Klokkefrekvens

Klokkehastigheten til sentralprosessoren er en av nøkkelindikatorene for ytelsen. Den bestemmer hvor mange operasjoner per sekund brikken kan utføre. Jo flere av dem, desto mer produktiv er prosessoren og datamaskinen som helhet. Det kan bemerkes at denne parameteren først og fremst karakteriserer kjernen som en uavhengig modul til sentralprosessoren. Det vil si at hvis det er flere tilsvarende komponenter på brikken, vil hver av dem fungere med en egen frekvens. Noen IT-spesialister anser det som akseptabelt å oppsummere disse egenskapene for alle kjerner. Hva betyr det? Hvis for eksempel prosessoren har 4 kjerner med en frekvens på 1 GHz, vil den totale ytelsen til PC-en, hvis du følger denne metodikken, være 4 GHz.

Frekvenskomponenter

Indikatoren under vurdering er dannet av to komponenter. For det første er dette systembussfrekvensen - den måles vanligvis i hundrevis av megahertz. For det andre er dette koeffisienten som den tilsvarende indikatoren multipliseres med. I noen tilfeller gir prosessorprodusenter brukerne muligheten til å justere begge parameterne. På samme tid, hvis du angir tilstrekkelig høye verdier for systembussen og multiplikatoren, kan du øke ytelsen til mikrokretsen betydelig. Slik overklokkes prosessoren. Riktignok må det brukes forsiktig.

Faktum er at overklokking kan øke temperaturen på sentralprosessoren betydelig. Hvis PC-en ikke har et passende kjølesystem installert, kan dette føre til svikt i brikken.

Bufferstørrelse

Moderne prosessorer er utstyrt med cache-minnemoduler. Hovedformålet deres er å midlertidig lagre data, vanligvis representert av et sett med spesielle kommandoer og algoritmer - de som oftest brukes i driften av mikrokretsen. Hva betyr dette i praksis? Først av alt kan CPU-belastningen reduseres på grunn av det faktum at de samme kommandoene og algoritmene vil være tilgjengelige online. Mikrokretsen, etter å ha mottatt ferdige instruksjoner fra cache-minnet, kaster ikke bort tid på å utvikle dem fra bunnen av. Som et resultat kjører datamaskinen raskere.

Hovedkarakteristikken til cache-minne er størrelsen. Jo større den er, jo mer romslig er denne modulen følgelig med tanke på plasseringen av selve instruksjonene og algoritmene som brukes av prosessoren. Jo mer sannsynlig er det at mikrokretsen alltid finner de den trenger blant dem og fungerer raskere. Cache-minne på moderne prosessorer er oftest delt inn i tre nivåer. Den første fungerer på grunnlag av de raskeste og mest høyteknologiske mikrokretsene, resten er tregere. Volumet av cache på første nivå på moderne prosessorer er omtrent 128-256 KB, andre - 1-8 MB, tredje - kan overstige 20 MB.

Energiforbruk

En annen viktig parameter for mikrokretsen er strømforbruket. Å drive CPU kan kreve betydelig strømforbruk. Moderne mikrokretsmodeller bruker omtrent 40-50 W. I noen tilfeller har denne parameteren økonomisk betydning - for eksempel hvis vi snakker om å utstyre store bedrifter med flere hundre eller tusenvis av datamaskiner. Men en like viktig faktor er energiforbruket når det gjelder tilpasning av prosessorer for bruk på mobile enheter - bærbare datamaskiner, nettbrett, smarttelefoner. Jo lavere den tilsvarende indikatoren er, jo lengre batterilevetid vil enheten ha.