- Processorarkitekturer
- RISC og CISC instruktions sæt arkitektur
- Complex Instruction Set Computing (CISC)
- Reduceret instruktionssæt computing (RISC)
Integreret system er hjertet og kernen i de fleste elektroniske produkter, der er tilgængelige på markedet. Det er implementeringen af teknik, hvor hardware møder softwaren. Vi er omgivet af en verden af indlejrede systemer med mini-computere i biometriske dørlåse, fly, biler, pacemakere osv. Disse begrænsede ressourcer, små, smarte og kraftfulde systemer hjælper os med vores daglige opgaver.
Nogensinde tænkt på, hvordan vores krop fungerer, nervesystemerne, hjernen og evnen til multi-task. Hvis du kombinerer alle disse funktioner, får du et groft billede af et biologisk integreret system. Vores hjerne skjuler den komplekse detalje af dens funktion, der finder sted inde i den, men alligevel giver os mulighed for at kontrollere den til det maksimale potentiale. Den samme kompleksitet gælder for processoren eller controlleren, der bruges i indlejrede systemer. De skjuler komplekse detaljer og giver os et interface på højt niveau at arbejde på. For abstraktionsniveauet kan man forholde sig til, hvordan koden til tilføjelse af to tal i et programmeringssprog på højt niveau forårsager, at registre i chips håndterer bits og giver et output tilbage til brugeren.
Processorarkitekturer
Den centrale behandlingsenhed, der henviser til både mikroprocessor og mikrocontroller, udfører specifikke opgaver ved hjælp af en kontrolenhed (CU) og aritmetisk logisk enhed (ALU). Da instruktionerne leveres fra RAM, fungerer CPU'en ved hjælp af sine to hjælpeenheder ved at oprette variabler og tildele dem værdier og hukommelse. Det er virkelig vigtigt at vide, hvordan CPU'en udfører al denne handling ved hjælp af sin arkitektur. Hvis du vil vide mere om, hvordan en mikrocontroller fungerer, kan du læse denne grundlæggende artikel om mikrokontroller.
Hver CPU har en hukommelse tilknyttet til at gemme programmet og dataene. Program og data arbejder med CPU'en for at få output. Programmet giver instruktioner, mens dataene giver den information, der skal arbejdes med. For at få adgang til programmet og data bruger CPU busser, disse busser er ledninger, mere præcist er dette trådsporene, som du måske har set på de printede kredsløb. I løbet af disse år har mikrokontroller og mikroprocessorer udviklet sig ved at tilpasse forskellige arkitekturer, baseret på applikations- eller designkravene. Valget af mikrocontroller er påvirket af den anvendte type arkitektur. Lad os se på de populære arkitekturer.
Von-Neumann / Princeton-arkitektur
Den måde, hvorpå CPU'en får adgang til programmet og data, fortæller om CPU'ens arkitektur. Tidligere blev en enkelt bus brugt til at få adgang til programmet og dataene. Denne type arkitektur er kendt som Von Neumann-arkitekturen eller mere enkelt Princeton-arkitekturen. En enkelt bus til at hente koden og data betyder, at de kommer i vejen for hinanden og bremser processorhastigheden på CPU'en, fordi hver måtte vente på, at den anden afsluttede hentningen. Denne begrænsning er også kendt som Von-Neumann-flaskehalsbetingelsen.
Harvard-arkitektur
For at fremskynde processen blev Harvard Architecture foreslået. I denne arkitektur er der separate databusser til data og program. Så det betyder, at denne arkitektur foreslog brugen af fire busser
- Et sæt databus, der bærer dataene ind og ud af CPU'en.
- Et sæt adressebus til adgang til dataene.
- Et sæt databus til overførsel af kode til CPU'en.
- En adressebus til adgang til koden.
Brug af separat adressebus og databus betød lav udførelsestid for CPU'en, men dette koster kompleksiteten ved designet af arkitekturen. Von Neumann-arkitekturen lyder måske lidt doven, men den har fordelen ved sit enkle design.
Harvard-arkitektur er meget let at implementere, når CPU'en og hukommelsesenhederne deler det samme rum, eller RAM og ROM er indbygget (on-chip) med processorenheden, f.eks. I mikrocontroller, hvor afstandene er i mikron og millimeter. Den samme arkitektur er imidlertid vanskelig at implementere, hvor den hukommelse, der indeholder koden, er ekstern for processorenheden, som den i x86 IBM PC'er. Et sæt separate ledningsspor til både data og adresse på bundkortet ville gøre tavlen kompliceret og dyrt. Lad os forstå det med et eksempel på en processor.
En processor med 64-bit databus og 32-bit adressebus har brug for cirka 100 busser (96 til data- og adressebussen og få andre til styresignalerne) til implementering af Von-Neumann-arkitekturen. Den samme struktur, hvis den blev implementeret med Harvard-arkitekturen, ville koste de dobbelte trådspor ca. 200 med et stort antal stifter, der kommer ud af processoren. Det er af samme grund, at vi ikke ser ren Harvard-arkitektur implementeret til pc'er og arbejdsstationer. I stedet bruges en modificeret Harvard-arkitektur, hvor hukommelseshierarki med CPU-cache-hukommelse bruges til at adskille programmet og dataene. Hukommelseshierarki adskiller lagring baseret på hierarkiet over reaktionstiden for processerne.
Instruktionssætarkitektur
Da programmet (koden) indlæses i systemets hukommelse (RAM) hentes det af CPU'en (der henviser til både mikroprocessor og mikrokontroller) for at handle på dataene, det er meget ens, da vi giver instruktioner, når vi træner hunden visse handlinger og kommandoer. Når disse instruktioner handles på visse transistorer, går det fra et logisk niveau til et andet for at få det til at ske. Så dybest set ved hjælp af instruktioner kommunikerer menneskelig programmør med processoren. Hver CPU har sit eget instruktions sæt, en samling instruktioner baseret på dets arkitektur og muligheder.
CPU forstår disse instruktioner i kombinationen 0 og 1 er også kendt som en opcode. For en menneskelig programmør er det virkelig svært at huske kombinationen af 0 og 1 for hver instruktion, der er forbundet med CPU'en. For at gøre jobbet som en menneskelig programmør let får vi højtstående grænseflader til disse instruktioner, og compileren konverterer dem i form af 0'er og 1'er til behandling. Også i instruktionssættet for hver CPU har den et begrænset antal instruktioner, som den kan forstå.
Ydelse af CPU
Du har muligvis hørt ordets klokfrekvens for CPU relateret til CPU'ens ydeevne. CPU'er har generelt en clockhastighed i MHz (Mega-Hertz) eller GHz (Giga-Hertz) som 25 GHz clockhastighed. Nummeret, der er knyttet til urhastigheden, fortæller, hvor mange gange uret inde i CPU'en tikker i cykler pr. Sekund. Praktiskheden af urhastigheden kan forstås ved det faktum, at instruktioner udføres baseret på CPU-urets cyklusser, som er proportional med antallet af programmer, som CPU kan køre ad gangen.
Den præstation af CPU afhænger af antallet af instruktioner, der er skrevet i programmet, flere instruktionerne, mere den tid, det tager CPU til at udføre dem. Det afhænger også af antallet af urcyklusser, hvor hver instruktion udføres, visse instruktioner har brug for flere urcykler, der skal udføres end andre, så de forsinker CPU'ens ydeevne. Instruktioner i et program og cykler, der kræves for at udføre hver instruktion, er omvendt proportionale med hinanden. Ændring af den ene vil påvirke den anden. Dette er det punkt, hvor CPU-industrien er delt.
RISC og CISC instruktions sæt arkitektur
Som nævnt ovenfor afhænger udførelsen af et program og CPU'ens ydeevne af antallet af instruktioner i et program, hvor instruktionerne foreslås til den pågældende CPU som en del af instruktionssættet, og den anden faktor er antallet af urcyklusser i som hver instruktion udføres. Baseret på disse to faktorer er der i øjeblikket to instruktioner tilgængelige. Den tidligste af dem er Complex Instruction Set Computing (CISC), mens den anden er Reduced Instruction Set Computing (RISC). Lad os diskutere hver af disse arkitekturer i detaljer for at forstå forskellen mellem RIC og CISC Architecture.
Complex Instruction Set Computing (CISC)
CISC står for Complex Instruction Set Computing. Hovedmotivet for CISC er at reducere antallet af instruktioner, som et program udfører, dette gøres ved at kombinere mange enkle instruktioner som adressetilstand, indlæsning osv. Og at danne en enkelt kompleks instruktion. Den CISC instruktion omfatter en række simpel instruktion samt nogle særlige instruktioner, der tager mere end én taktcyklus at udføre. CISC-instruktionerne kan arbejde direkte på hukommelsen uden indblanding af registre, hvilket betyder, at det eliminerer behovet for nogle grundlæggende instruktioner som f.eks. Indlæsning af værdier og krav til hukommelse (RAM). CISC-instruktioner lægger mere vægt på hardware end på softwaren, hvilket betyder at i stedet for at lægge belastningen på kompilatorerne,CISC bruger transistorer som hardware til at afkode og implementere instruktioner. Da instruktion imidlertid er kompleks og består af flere trin, udføres de i flere antal urcyklusser.
En simpel analogi at relatere er, når du bliver bedt om at åbne bogen og læse den 3 rd kapitlets 2 nd side. I denne række af aktiviteter gør du flere trin som at finde bogen fra din taske end at blande siden til kapitel 3 og derefter gå til den anden side i kapitlet og derefter begynde at læse. Rækken af et trin, hvis det kombineres i en enkelt instruktion læse side 44 (som er den 2 nd sidenummeret for 3 rd kapitel), får vi en CISC instruktion.
Reduceret instruktionssæt computing (RISC)
Den første integrerede chip blev designet af Jack Kilby i 1958, som var en oscillator, og i 1970'erne kom den første kommercielle mikroprocessor fra Intel. Selvom der i starten af processorer ikke var nogen CISC. Men med de tunge computerkrav blev CISC-arkitekturen mere kompleks og svær at håndtere. En total redesign af CISC-arkitektur kendt som RISC kom ud af IBM af John Coke. For at skelne mellem de to arkitekturer blev udtrykkene RISC og CISC således introduceret.
RISC står for reduceret instruktionssæt computing. Hovedmotivet for RISC var at indføre ensartethed i størrelsen og udførelsen af instruktioner. Dette blev gjort ved at indføre et simpelt instruktions sæt, som kunne udføres som en instruktion pr. Cyklus, dette gøres ved at bryde kompleks instruktion som f.eks. Indlæsning og lagring i forskellige instruktioner, hvor hver instruktion omtrent tager en urcyklus at udføre. Den RISC-arkitektur omfatter enkle instruktioner af samme størrelse, som kunne udføres i en enkelt ur cyklus. RISC-baserede maskiner har brug for mere RAM end CISC for at holde værdierne, da de indlæser hver instruktion i registre. Udførelse af en enkelt instruktion pr. Cyklus giver RISC-baserede maskiner fordelen ved rørledning(rørledning er den proces, hvor næste instruktion indlæses, før den første instruktion udføres, dette øger effektiviteten af udførelsen). RISC-arkitektur understreger