Microprocessor systemen
Het gebruik van microprocessorsystemen in bijna alle elektrische apparaten is het belangrijkste kenmerk van de technische infrastructuur van de moderne samenleving. Elektriciteit, industrie, transport, communicatiesystemen zijn sterk afhankelijk van computerbesturingssystemen. Microprocessorsystemen zijn ingebed in meetinstrumenten, elektrische apparaten, verlichtingsinstallaties, enz.
Dit alles verplicht de elektrotechnisch ingenieur om op zijn minst de basisprincipes van microprocessortechnologie te kennen.
Microprocessorsystemen zijn ontworpen om informatieverwerking te automatiseren en verschillende processen te besturen.
De term "microprocessorsysteem" is erg breed en omvat concepten als "elektronische computermachine (ECM)", "besturingscomputer", "computer" en andere.
Het microprocessorsysteem omvat Hardware of in het Engels — hardware en software (Software) — software.
Digitale informatie
Het microprocessorsysteem werkt met digitale informatie, een reeks cijfercodes.
De kern van elk microprocessorsysteem is een microprocessor die alleen binaire getallen kan accepteren (bestaande uit 0-en en 1-en).Binaire getallen worden geschreven met behulp van het binaire getallenstelsel. In het dagelijks leven gebruiken we bijvoorbeeld een decimaal talstelsel dat tien tekens of cijfers gebruikt om getallen te schrijven, 0,1,2,3,4,5,6,7,8,9. Dienovereenkomstig zijn er in het binaire systeem slechts twee van dergelijke symbolen (of cijfers) - 0 en 1.
Het is noodzakelijk om te begrijpen dat het nummersysteem alleen de regels zijn voor het schrijven van nummers, en de keuze van het type systeem zal worden bepaald door het gebruiksgemak. De keuze voor een binair systeem is vanwege de eenvoud, wat betekent de betrouwbaarheid van digitale apparaten en het gemak van hun technische implementatie.
Overweeg de meeteenheden van digitale informatie:
Een bit (van het Engelse «BInary digit» - binary digit) heeft slechts twee waarden: 0 of 1. U kunt de logische waarde «yes» of «no», de status «on» of «off», de status « open» «of» gesloten «etc.
Een groep van acht bits wordt een byte genoemd, bijvoorbeeld 10010111. Met één byte kunt u 256 waarden coderen: 00000000 — 0, 11111111 — 255.
Een bit is de kleinste eenheid van informatie.
Byte — de kleinste eenheid voor informatieverwerking. Byte - onderdeel van een machinewoord, meestal bestaande uit 8 bits en gebruikt als eenheid voor de hoeveelheid informatie tijdens opslag, verzending en verwerking op een computer. Een byte dient om letters, lettergrepen en speciale tekens weer te geven (meestal alle 8 bits bezetten) of decimale cijfers (elk 2 cijfers in 1 byte).
Twee aaneengesloten bytes worden een woord genoemd, 4 bytes een dubbelwoord, 8 bytes een quadwoord.
Bijna alle informatie die ons omringt is analoog. Voordat de informatie de processor binnenkomt voor verwerking, wordt deze daarom geconverteerd met behulp van een ADC (analoog-naar-digitaal-omzetter).Bovendien is de informatie gecodeerd in een bepaald formaat en kan deze digitaal, logisch, tekstueel (symbolisch), grafisch, video, etc. zijn.
Er wordt bijvoorbeeld een tabel met ASCII-codes (van de Engelse Amerikaanse standaardcode voor informatie-uitwisseling) gebruikt om tekstinformatie te coderen. Eén teken wordt in één byte geschreven, wat 256 waarden kan aannemen. Grafische informatie is verdeeld in punten (pixels) en de kleur en positie van elke punt is horizontaal en verticaal gecodeerd.
Naast de binaire en decimale systemen gebruikt MS een hexadecimaal systeem waarin de symbolen 0 ... 9 en A ... F worden gebruikt om getallen te schrijven.Het gebruik ervan is te wijten aan het feit dat één byte wordt beschreven door twee -cijferig hexadecimaal getal, dat de numerieke code aanzienlijk vermindert en leesbaarder maakt (11111111 - FF).
Tabel 1 — Getallen schrijven in verschillende cijferstelsels
Om de waarde van het getal te bepalen (de waarde van het getal 100 voor verschillende getalstelsels kan bijvoorbeeld 42, 10010, 25616 zijn), voegt u aan het einde van het getal een Latijnse letter toe die het getalstelsel aangeeft: voor binaire getallen de letter b, voor hexadecimale getallen - h , voor decimale getallen - d. Een getal zonder aanvullende aanduiding wordt beschouwd als een decimaal getal.
Door getallen van het ene systeem naar het andere om te zetten en elementaire rekenkundige en logische bewerkingen met getallen te maken, kunt u een technische rekenmachine maken (standaardtoepassing van het Windows-besturingssysteem).
Structuur van een microprocessorsysteem
Het microprocessorsysteem is gebaseerd op een microprocessor (processor) die informatieverwerking en besturingsfuncties uitvoert. De rest van de apparaten waaruit het microprocessorsysteem bestaat, dienen de processor door hem te helpen werken.
Verplichte apparaten voor het maken van een microprocessorsysteem zijn invoer- / uitvoerpoorten en gedeeltelijk geheugen... Input - output-poorten verbinden de processor met de buitenwereld door informatie te verstrekken voor het verwerken en uitvoeren van de resultaten van verwerkings- of besturingsacties. Knoppen (toetsenbord), verschillende sensoren zijn aangesloten op de invoerpoorten; naar uitvoerpoorten - apparaten die elektrische bediening mogelijk maken: indicatoren, displays, schakelaars, magneetventielen, elektromotoren, enz.
Geheugen is in de eerste plaats nodig om een programma (of een reeks programma's) op te slaan dat nodig is om de processor te laten werken. Een programma is een reeks opdrachten die de processor begrijpt, geschreven door een mens (meestal een programmeur).
De structuur van een microprocessorsysteem wordt weergegeven in figuur 1. In vereenvoudigde vorm bestaat de processor uit een rekenkundige logische eenheid (ALU) die digitale informatie verwerkt, en een besturingseenheid (CU).
Geheugen bevat typisch alleen-lezen geheugen (ROM), dat niet-vluchtig is en bedoeld is voor langdurige opslag van informatie (bijvoorbeeld programma's), en willekeurig toegankelijk geheugen (RAM), bedoeld voor tijdelijke gegevensopslag.
Figuur 1 — De structuur van het microprocessorsysteem
De processor, poorten en geheugen communiceren met elkaar via bussen. Een bus is een set draden die functioneel verenigd zijn. Een enkele set systeembussen wordt intrasysteembus genoemd, waarin zich bevinden:
-
DB-databus (Data Bus), waarmee gegevens worden uitgewisseld tussen de processor, het geheugen en poorten;
-
adresbus AB (adresbus), gebruikt om de geheugencellen en poorten van de processor te adresseren;
-
besturingsbus CB (Control Bus), een reeks lijnen die verschillende besturingssignalen van de processor naar externe apparaten verzenden en vice versa.
Microprocessoren
Microprocessor - een door software bestuurd apparaat dat is ontworpen om digitale informatie te verwerken en het proces van deze verwerking te regelen, gemaakt in de vorm van een (of meerdere) geïntegreerde schakelingen met een hoge mate van integratie van elektronische elementen.
Een microprocessor wordt gekenmerkt door een groot aantal parameters, aangezien het zowel een complex softwaregestuurd apparaat als een elektronisch apparaat (microschakeling) is. Daarom, voor een microprocessor, zowel het type behuizing als de instructieset voor de processor... De mogelijkheden van een microprocessor worden bepaald door het concept van microprocessorarchitectuur.
Het voorvoegsel «micro» in de naam van de processor betekent dat deze is geïmplementeerd met behulp van microntechnologie.
Afbeelding 2 — Buitenaanzicht van de Intel Pentium 4-microprocessor
Tijdens bedrijf leest de microprocessor programmacommando's uit het geheugen of een invoerpoort en voert deze uit. Wat elk commando betekent wordt bepaald door de instructieset van de processor.De instructieset is ingebouwd in de architectuur van de microprocessor en de uitvoering van de commandocode wordt uitgedrukt in de uitvoering van bepaalde microbewerkingen door de interne elementen van de processor.
Microprocessorarchitectuur - dit is de logische organisatie; het definieert de mogelijkheden van de microprocessor in termen van hardware- en software-implementatie van de functies die nodig zijn om een microprocessorsysteem te bouwen.
Belangrijkste kenmerken van microprocessoren:
1) Klokfrequentie (meeteenheid MHz of GHz) — het aantal klokpulsen in 1 seconde.De klokpulsen worden gegenereerd door een klokgenerator, die zich meestal in de processor bevindt. Omdat alle bewerkingen (instructies) in klokcycli worden uitgevoerd, is de werkprestatie (het aantal uitgevoerde bewerkingen per tijdseenheid) afhankelijk van de klokfrequentie. De processorfrequentie kan binnen bepaalde grenzen variëren.
2) Bitprocessor (8, 16, 32, 64 bits, enz.) — specificeert het aantal bytes aan gegevens dat in één klokcyclus wordt verwerkt. De bitbreedte van een processor wordt bepaald door de bitbreedte van zijn interne registers. Een processor kan 8-bits, 16-bits, 32-bits, 64-bits, etc. zijn. gegevens worden verwerkt in blokken van 1, 2, 4, 8 bytes. Het is duidelijk dat hoe groter de bitdiepte, hoe hoger de arbeidsproductiviteit.
Interne architectuur van de microprocessor
Een vereenvoudigde interne architectuur van een typische 8-bits microprocessor wordt getoond in figuur 3. De structuur van de microprocessor kan in drie hoofdonderdelen worden verdeeld:
1) Registers voor tijdelijke opslag van commando's, gegevens en adressen;
2) Rekenkundige logische eenheid (ALU) die rekenkundige en logische bewerkingen uitvoert;
3) Besturings- en timingcircuit - biedt opdrachtselectie, organiseert de werking van de ALU, biedt toegang tot alle microprocessorregisters, neemt externe besturingssignalen waar en genereert deze.
Figuur 3 — Vereenvoudigde interne architectuur van een 8-bits microprocessor
Zoals u in het diagram kunt zien, is de processor gebaseerd op registers, die zijn onderverdeeld in speciale (met een specifiek doel) en algemene registers.
Programmateller (computer) - een register dat het adres van de volgende opdrachtbyte bevat. De processor moet weten welk commando vervolgens wordt uitgevoerd.
Batterij - een register dat wordt gebruikt in de meeste instructies voor logische en rekenkundige verwerking; het is zowel de bron van een van de bytes aan gegevens die nodig zijn voor de ALU-bewerking als de plaats waar het resultaat van de ALU-bewerking wordt geplaatst.
Een functieregister (of vlagregister) bevat informatie over de interne status van de microprocessor, met name het resultaat van de laatste ALU-bewerking. Een vlagregister is geen register in de gebruikelijke zin, maar gewoon een set flip-flops (vlag omhoog of omlaag. Er zijn meestal nul-, overloop-, negatieve en draagvlaggen).
Stack Pointer (SP) - houdt de positie van de stapel bij, dat wil zeggen, het bevat het adres van de laatst gebruikte cel. Stack — een manier om gegevensopslag te organiseren.
Een commandoregister bevat de huidige commandobyte die wordt gedecodeerd door de commandodecoder.
De externe buslijnen zijn door buffers geïsoleerd van de interne buslijnen en de belangrijkste interne elementen zijn verbonden door een snelle interne databus.
Om de prestaties van een multiprocessorsysteem te verbeteren, kunnen de functies van de centrale processor over meerdere processors worden verdeeld. Om de centrale processor te helpen, introduceert de computer vaak co-processors, gericht op de efficiënte uitvoering van specifieke functies. Wijdverspreide wiskundige en grafische co-processors, invoer en uitvoer die de centrale processor ontlasten van eenvoudige maar talrijke bewerkingen van interactie met externe apparaten.
In het huidige stadium is de belangrijkste richting voor het verhogen van de productiviteit de ontwikkeling van multi-coreprocessors, d.w.z. het combineren van twee of meer processors in één behuizing om meerdere bewerkingen parallel (gelijktijdig) uit te voeren.
Intel en AMD zijn de toonaangevende bedrijven voor het ontwerpen en produceren van processors.
Algoritme van het microprocessorsysteem
Algoritme — een nauwkeurig voorschrift dat op unieke wijze het proces bepaalt van het transformeren van de initiële informatie in een reeks bewerkingen waarmee een reeks taken van een bepaalde klasse kan worden opgelost en het gewenste resultaat kan worden verkregen.
Het belangrijkste besturingselement van het hele microprocessorsysteem is een processor... Het bestuurt, met uitzondering van enkele speciale gevallen, alle andere apparaten. De overige apparaten, zoals RAM, ROM en I/O-poorten, zijn ondergeschikt.
Zodra hij is ingeschakeld, begint de processor met het lezen van digitale codes uit het geheugengebied dat is gereserveerd voor het opslaan van programma's. Het lezen gebeurt opeenvolgend cel voor cel, vanaf de allereerste. Een cel bevat gegevens, adressen en opdrachten. Een instructie is een van de elementaire acties die een microprocessor kan uitvoeren. Al het werk van de microprocessor wordt gereduceerd tot het sequentieel lezen en uitvoeren van commando's.
Overweeg de volgorde van acties van de microprocessor tijdens de uitvoering van programmaopdrachten:
1) Voordat de volgende instructie wordt uitgevoerd, slaat de microprocessor zijn adres op in de teller van het computerprogramma.
2) De MP benadert het geheugen op het adres in de computer en leest uit het geheugen de eerste byte van het volgende commando in het commandoregister.
3) De commandodecoder decodeert (ontcijfert) de commandocode.
4) In overeenstemming met de informatie die wordt ontvangen van de decoder, genereert de besturingseenheid een in de tijd geordende reeks microbewerkingen die de commando-instructies uitvoeren, waaronder:
— haalt operanden op uit registers en geheugen;
— voert er rekenkundige, logische of andere bewerkingen op uit zoals voorgeschreven door de commandocode;
— afhankelijk van de lengte van de opdracht, verandert de inhoud van de computer;
— draagt de besturing over aan het volgende commando waarvan het adres weer in de teller van het computerprogramma staat.
De instructieset voor een microprocessor kan in drie groepen worden verdeeld:
1) Commando's om gegevens te verplaatsen
De overdracht vindt plaats tussen geheugen, processor, I/O-poorten (elke poort heeft zijn eigen adres), tussen processorregisters.
2) Opdrachten voor gegevenstransformatie
Alle gegevens (tekst, afbeelding, video, enz.) zijn getallen en alleen rekenkundige en logische bewerkingen kunnen met getallen worden uitgevoerd. Daarom omvatten de opdrachten van deze groep optellen, aftrekken, vergelijken, logische bewerkingen, enz.
3) Overdracht van het besturingscommando
Het komt zeer zelden voor dat een programma uit een enkele sequentiële instructie bestaat. De meeste algoritmen vereisen programmavertakking. Om ervoor te zorgen dat het programma het algoritme van zijn werk verandert, worden, afhankelijk van elke voorwaarde, commando's voor besturingsoverdracht gebruikt. Deze commando's zorgen voor de stroom van programma-uitvoering langs verschillende paden en organiseren lussen.
Externe apparaten
Externe apparaten omvatten alle apparaten die extern zijn aan de processor (behalve RAM) en zijn aangesloten via I/O-poorten. Externe apparaten kunnen in drie groepen worden ingedeeld:
1) communicatieapparatuur tussen mens en computer (toetsenbord, monitor, printer, enz.);
2) apparaten voor communicatie met besturingsobjecten (sensoren, actuatoren, ADC en DAC);
3) externe opslagapparaten met grote capaciteit (harde schijf, floppy disks).
Externe apparaten zijn fysiek verbonden met het microprocessorsysteem - via connectoren en logisch - via poorten (controllers).
Een interruptsysteem (mechanisme) wordt gebruikt als interface tussen de processor en externe apparaten.
Systeem onderbreken
Dit is een speciaal mechanisme dat het op elk moment mogelijk maakt, via een extern signaal, de processor te dwingen de uitvoering van het hoofdprogramma te stoppen, bewerkingen uit te voeren die verband houden met de gebeurtenis die de onderbreking veroorzaakte, en vervolgens terug te keren naar de uitvoering van het hoofdprogramma .
Elke microprocessor heeft ten minste één interruptverzoek-ingang INT (van het woord Interrupt).
Laten we eens kijken naar een voorbeeld van de interactie van een pc-processor met een toetsenbord (Afbeelding 4).
Toetsenbord — een apparaat voor het invoeren van symbolische informatie en besturingsopdrachten. Om het toetsenbord aan te sluiten heeft de computer een speciale toetsenbordpoort (chip).
Figuur 4 — CPU-werking met het toetsenbord
Algoritme van het werk:
1) Wanneer een toets wordt ingedrukt, genereert de toetsenbordcontroller een numerieke code. Dit signaal gaat naar de toetsenbordpoortchip.
2) De toetsenbordpoort stuurt een interruptsignaal naar de CPU. Elk extern apparaat heeft zijn eigen interruptnummer waaraan de processor het herkent.
3) Na ontvangst van een interrupt van het toetsenbord onderbreekt de processor de uitvoering van het programma (bijvoorbeeld de Microsoft Office Word-editor) en laadt het programma voor het verwerken van toetsenbordcodes uit het geheugen. Zo'n programma wordt een driver genoemd.
4) Dit programma leidt de processor naar de toetsenbordpoort en de numerieke code wordt in het processorregister geladen.
5) De digitale code wordt in het geheugen opgeslagen en de processor gaat verder met het uitvoeren van een andere taak.
Door de hoge werksnelheid voert de processor een groot aantal processen tegelijk uit.