H7 processoren

Page 1

7 Processoren 7.1 Situering De naam processor komt van het Engelse “to process” wat ………………………………… betekent. Andere namen die vaak terug komen voor een processor zijn CPU (…………………………………….) en CVE (…………………………………………………………………………..).

Het verwerken van gegevens door de processor verloopt via transistors. Welke gegevens kunnen deze verwerken?................................ . Een processor kan op zich geen computer laten functioneren. Hij zal met een aantal onderdelen samenwerken: o

hij werkt nauw samen met het interne geheugen, want hij kan niets zonder een opslagruimte voor instructies en gegevens. Daarom vormt hij samen met het interne geheugen de Centrale Eenheid of Centrale Machine.

o

hij kan absoluut niets zonder een communicatie- en transportmedium zoals een bus;

o

zonder klokpulsegenerator is hij niet in staat om alle handelingen op de juiste tijdstippen en in de juiste volgorde te laten gebeuren.

7.2 Geschiedenis van de Intel processor Intel was het eerste bedrijf dat op grote schaal processoren begon te ontwikkelen en produceren. Zij hebben steeds leading edge technologie gehad als het over processoren gaat. Het mag dan ook niet verwonderen dat Intel nog steeds de grootste speler op de markt van de processoren is. Zoek voor elk weergegeven jaartal het type (naam) processor op. Los bij elk type de vraag op. Gebruik hiervoor volgende website: (http://www.intel.com/content/www/us/en/company-overview/intel-museum.html ) Jaartal

1

Type

Vraag

1971

Welk type rekenmachine werd door deze processor aangedreven?

1972

Wat dot Microma?

1974

Geef enkele voorbeelden waarin deze processor verwerkt is?

1978

Waar viert intel zijn 10 jarig bestaan?

1982

Hoeveel transistors heeft deze processor?


1985

Hoeveel transistors heeft deze processor?

1989

Wat is het voordeel van de in deze processor ingebouwde wiskundige coprocessor?

1993

Wat zijn de initiĂŤle snelheden van de processor?

1995

Voor welk type van servers en workstations werd deze processor ontworpen?

1997

Deze processor incorporeert de MMX-technologie. Waarvoor wordt deze gebruikt?

1998

Noem 2 toepassingen waarvoor deze processor werd ontworpen?

Voor welk type pc is deze processor ontwikkeld?

1999

Welke belangrijke zakelijke stap neemt Intel dat jaar?

2000

Wat was de initiĂŤle snelheid van deze processor?

2001

Wat is het belang van EUV Litography?

2003

Voor welk type computers is deze processor ontwikkeld?

2005

Wat wordt de nieuwe tag line van Intel?

2008

Hoe oud is Intel nu?

2010

Wel belangrijk internetbeveiligingsbedrijf wordt door intel opgekocht?

7.3 Bouwstenen van een processor 7.3.1 Gegevensverwerking op basis van instructies De processor doet zijn werk aan de hand van instructies. Elke instructie bevat twee elementen: o

wat er moet gebeuren? (= operatiecode)

o

met welke gegevens het moet gebeuren?

Voorbeeld: de opdracht "Tel twee getalwaarden bij elkaar op", moet aan de processor duidelijk maken: 1. ..................................................................................................................................

2


2. .................................................................................................................................. 3. ..................................................................................................................................

7.3.2 Onderdelen van de processor?

Besturingseenheid (CU): ..............................................................................................

......................................................................................................................................... •

Rekenkundige en logische eenheid (ALU):.....................................................................

......................................................................................................................................... •

Interne bus:................................................................................................................

......................................................................................................................................... •

Registers (R1->R4, IR, PC, SP):....................................................................................

......................................................................................................................................... •

Klokpulsgenerator:.......................................................................................................

.........................................................................................................................................

7.3.3 Werking van de processor Hoe wordt de optelling uit ons voorbeeld gerealiseerd? Door de besturingseenheid – CU, die:

o 

de instructie binnenhaalt;

de instructie decodeert;

de gegevens ophaalt;

de optelschakeling activeert; Door de reken- en beslissingseenheid – ALU, die:

o

de gegevens ontvangt:

 •

ofwel via de interne bus uit de registers; •

ofwel via de systeembus uit het geheugen.

de bewerking uitvoert, in ons voorbeeld.: optellen;

Door de besturingseenheid – CU, die:

o

de gegevens wegschrijft;

De klokpulsgenerator

o

3


die het ritme van bovenstaande verwerking regelt.

De registers

o 

ze zijn een opslagruimte in de processor, waardoor hij een beperkte hoeveelheid gegevens direct binnen handbereik heeft. R0, R1, R2, R3, … : voor gegevens.

PC of Program Counter: met daarin het adres van de eerstvolgende uit te

 voeren instructie. 

IR of Instruction Register: met daarin de in behandeling zijnde instructie.

SP of Stack Pointer.

7.4 De Von Neumann-instructiecyclus Computers, die zijn opgebouwd volgens het model van Von Neumann, bezitten een processor die instructies één na één afhandelt. Dat doet hij in volgende stappen: • Aan de hand van het adres in de Program Counter (PC), wordt een instructie uit het geheugen gehaald; • Die instructie wordt overgebracht naar de Besturingseenheid (nl. naar het Instructieregister – IR); • De lengte van die instructie wordt opgeteld bij de PC (bevat dus nu het adres van de volgende instructie); • De instructie wordt uitgevoerd; (zie 7.3.3) • Enz… telkens opnieuw. De Besturingseenheid gebruikt hier twee belangrijke registers: • De programmateller of Program Counter, die altijd het adres bevat van de eerstvolgende uit te voeren instructie; • Het instructieregister, dat de in uitvoering zijnde instructie bevat. Dit is altijd de instructie die het laatst uit het geheugen is opgehaald.

7.5 De registers Processoren moeten gegevens zeer snel kunnen verwerken. Dat betekent dus dat de nodige gegevens ook zeer snel beschikbaar moeten zijn. Hiervoor dienen de registers. Dit zijn zeer snel aanspreekbare geheugenplaatsen die op de processor zelf aanwezig zijn. De omvang van de registers bepaalt de woordcapaciteit van de processor (vroeger 4 bits, nu 32 bits).

7.5.1 Algemene registers Ze worden gebruikt om getalwaarden bestemd voor en afkomstig van de ALU tijdelijk te bewaren. De registers zijn meestal genummerd van 0 tot n-1 en hun aantal is meestal een macht van 2. B.v. 8 registers, genummerd van 0 t/m 7. Soms worden ze aangeduid d.m.v. een letter; b.v. het A-register van een 80386

4


8080 : 8 bitter: bewerkingen met ofwel AL ofwel AH (Low - High) 8088/8086: 16 bitters : bewerkingen met AX 80368

: 32 bitter: bewerkingen met EAX

Downwards compatible: ook de oude registerbenamingen mogen nog worden gebruikt in de latere modellen. Hierdoor wordt het mogelijk om oudere software te blijven draaien op nieuwere computermodellen.

7.5.2 Adresregisters Adresregisters bevatten verwijzingen naar gegevens of instructies in het geheugen. Een goed voorbeeld hiervan is de PC (= Program Counter of programmateller). Hij bevat steeds het adres van de volgende uit te voeren instructie Ook bevatten processors registers om de plaats van een gegeven in het geheugen te bepalen. Speciale registers zijn de stapelregisters (Stack Pointers), de indexregisters en de segmentregisters. Zo bevat een segmentregister het beginadres van een bepaald deel van het geheugen, dat bijvoorbeeld door een programma wordt bezet.

7.5.3 Instructieregister Het instructieregister bevat de laatst opgehaalde instructie. Vooraleer de processor een instructie kan uitvoeren, moet hij haar eerst decoderen, d.w.z. onderzoeken wat er volgens die instructie moet worden gedaan (Optellen? Delen? Gegevens verplaatsen?‌). De decodering gebeurt terwijl de instructie in het Instructieregister staat.

7.6 De Rekenkundige en Logische Eenheid 7.6.1 Bewerkingen in de ALU De ALU voert volgende bewerkingen uit: o rekenkundige bewerkingen (optellen, aftrekken, ... enz.); o logische bewerkingen (logische AND, OR, ... enz.); o schuif- en rotatiebewerkingen. Meestal zijn er twee gegevens bij een bewerking betrokken. Hoe komen die in de ALU terecht? Kijk op volgend schema en merk op dat de processor vier algemene registers heeft (R0 - R3). Kan dit?............................................................................................................................... De ALU zelf, heeft twee ingangen die worden gevoed door de interne bus. Ook de uitgang is er op aangesloten. De ALU wordt bestuurd door de CU.

5


Stel dat R1 "25" bevat, te vermeerderen met de waarde "7" uit het geheugen. De waarde "7" staat al klaar op de databus van het systeem. Volgende stappen worden gezet: •

de inhoud van R1 wordt via de interne bus naar de linkeringang van de ALU gebracht;

de waarde "7" wordt van de systeembus, via de interne bus, naar de rechteringang van de ALU gebracht;

de optelling wordt uitgevoerd omdat de CU de optelschakeling van de ALU activeert;

het resultaat "32" wordt van de uitgang van de ALU via de interne bus in R1 geplaatst.

7.6.2 Rekenkundige bewerkingen Binnenin de ALU bevinden zich digitale schakelingen die zorg dragen voor het rekenen. Wij kunnen daarbij onderscheid maken tussen optellen, aftrekken, vermenigvuldigen en delen. Het spreekt daarbij vanzelf dat de woordbreedte van de ALU van bijzonder belang zal zijn voor de snelheid waarmee de computer rekent.

7.6.3 Logische bewerkingen De ALU bezit de nodige schakelingen om AND, OR e.a. bewerkingen uit te voeren.

7.6.4 Schuif- en rotatiebewerkingen Bij schuifbewerkingen, wordt de inhoud van een register verplaatst, naar links of naar rechts, over een aantal bitposities. Bij rotatiebewerkingen wordt een bitwaarde aan het rechteruiteinde weer ingevoerd aan het linkeruiteinde.

7.6.5 Het conditiecoderegister In programma's komt het voor dat de computer iets moet uitvoeren, dat afhankelijk is van het resultaat van één of andere bewerking. Ook komt het voor dat een bepaalde bewerking of reeks van bewerkingen moet worden herhaald. Deze soort programmaconstructies moet worden gerealiseerd met condities of voorwaarden. Indien aan een voorwaarde voldaan is, moet de computer bij voorbeeld een berekening verrichten; indien aan de voorwaarde niet is voldaan, moet de berekening achterwege blijven. Een voorwaarde wordt bepaald aan de hand van eerder uitgevoerde bewerkingen. De processor heeft voor dat doel een speciaal register, het conditiecoderegister, dat het resultaat van een bewerking kwalitatief weergeeft (positief, nul of negatief). De bits van het conditiecoderegister krijgen een waarde van de ALU na elke bewerking.

6


Het conditiecoderegister bestaat uit meerdere bits, die via de waarden 0 of 1 telkens een aanduiding geven over het resultaat van de laatst uitgevoerde bewerking. De waarde 1 betekent dat die aanduiding van toepassing is. De waarde 0 betekent dat die aanduiding niet van toepassing is. Voorbeelden van aanduidingsbits in een conditiecoderegister: de carry bit, de overflow bit, de negative bit en de zero bit. Oefening: vul in: Het resultaat is:

toestand negative bit:

toestand zero bit:

positief gelijk aan 0 negatief Oefening: veronderstel dat wij beschikken over de variabelen A, B en C met respectievelijk de waarden 5, 5 en 13. Duid in de onderstaande tabel de waarden aan die de negative bit en de zero bit zullen krijgen, na elke bewerking. Bewerking:

toestand negative bit:

toestand zero bit:

Tel A op bij B Trek B af van A Trek B af van C Trek C af van A Trek C af van C

Leg zelf uit wat de betekenis is van de overflow bit.

7.7 De Besturingseenheid (C.U.) 7.7.1 Inleiding De besturingseenheid moet ervoor zorgen, dat alle handelingen van de processor in de juiste volgorde gebeuren. In een Von Neumann-computer betekent dat: -

het ophalen van instructies uit het geheugen;

-

het decoderen van instructies;

-

het ophalen van gegevens;

-

het laten uitvoeren van instructies;

-

het opbergen van resultaten.

7


In een vorig hoofdstuk zagen wij reeds in een schema hoe de processor is opgebouwd. Daarin zagen wij dat de besturingseenheid is aangesloten op de interne bus, om het decoderen van een instructie, die zich in het instructieregister bevindt, mogelijk te maken. De besturing door de besturingseenheid kan op twee manieren zijn gerealiseerd: -

met een microprogramma;

-

via hardwarematige bedrading. De meeste processors verwerken instructies aan de hand van een microprogramma. In de oudste processors waren de functies hardbedraad aangebracht. Bij sommige moderne processors, de RISC-processors, is dat ook weer het geval.

7.7.2 Het microprogramma Het microprogramma bevindt zich in het besturingsgedeelte van de centrale verwerkingseenheid (dus in de processor), meestal in het microgeheugen ter grootte van enkele Kilobytes. De inhoud van dat geheugen kan meestal niet worden gewijzigd, omdat het in ROMchips is uitgevoerd. Het afhandelen van een instructie ligt vast in de microcode waaruit het microprogramma bestaat. Dat geldt voor de deelhandelingen van een instructie, maar ook voor de operatie (optellen, vermenigvuldigen, laden, bergen, schuiven,...), die volgens de instructie moet worden uitgevoerd. Een processor die werkt onder besturing van een microcodeprogramma is qua hardware nogal complex. Computers die een uitgebreid instructierepertoire kennen, hebben ook een uitgebreid microprogramma. Naarmate de hardware complexer is en het instructierepertoire uitgebreider, kost het meer tijd om een instructie af te handelen.

7.7.3 CISC en RISC Processors worden steeds complexer. Als gevolg van de eisen die softwaremakers stellen, beschikken de processors over een instructierepertoire dat steeds meer uitbreidt. Die processors kennen tot 220 verschillende instructies. Die instructies zijn erg gespecialiseerd en daardoor ingewikkelder en uiteraard ook trager. Anderzijds, kan een ingewikkelde bewerking dan door ĂŠĂŠn enkele instructie worden afgehandeld. Wij praten dan over o.a. de Intel-Pentium. Dit type processor werkt intern onder besturing van een uitgebreid microprogramma. Hij behoort tot de soort computers die met de afkorting CISC wordt aangeduid. CISC betekent Complex Instruction Set Computer. Een andere ontwikkeling is de RISC-computer, de Reduced Instruction Set Computer. Veel van de processors die in RISC-computers voorkomen, werken niet onder besturing van een microprogramma. De besturing is hardware-matig aangebracht (hard-wired). Dit geldt zowel voor het decoderen als voor het uitvoeren van instructies. Deze processors kennen veel minder instructies. Ze beschikken over enkele basisinstructies, die eenvoudige bewerkingen erg snel uitvoeren.

7.7.4 Interrupts De lopende uitvoering van een programma moet tijdelijk onderbroken worden wanneer de computer onmiddellijk moet reageren op een gebeurtenis. Bvb. het indrukken van een toets op de PC, het binnenkomen van data op de netwerkkaart. Als je een toets indrukt op je toetsenbord stuurt dit een interrupt naar de processor. Deze onderbreekt kortstondig (enkele microseconden) zijn werk en zorgt ervoor dat de toets correct verwerkt wordt. Natuurlijk dient de processor wel te weten van welk apparaat de interrupt komt. Zo niet dan zal hij niet in staat zijn om de binnenkomende data correct te verwerken. Om te zorgen dat de cpu dit wel weet zijn er IRQ’s of Interrupt Request Numbers. Aan elk zo een nummer zijn 1 of

8


meerdere (maar bij voorkeur 1) apparaat gelinkt. Deze gegevens worden eveneens opgeslagen in het CMOS geheugen en kunnen via het BIOS setupprogramma ingesteld worden. Er zijn 16 IRQ’s beschikbaar.

Bovenstaande afbeelding geeft een overzicht van de ingestelde IRQ’s vanuit apparaatbeheer in Windows. Je dient dan onder de optie “beeld” wel “bronnen op type” te selecteren en dan de optie “IRQ” open te klikken. Er bestaan naast deze hardware interrupts ook nog andere vormen van interrupts naar de processor toe: •

Exceptions: interrupts die het gevolg zijn van een voor de processor onmogelijke situatie, b.v. delen door nul of een onbekende instructie.

Software interrupts: b.v. i/o-verzoeken.

7.8 Coprocessors Coprocessors zijn processors die ontworpen zijn om specifieke taken te verrichten. Zo'n processor wordt naast de centrale processor geplaatst en ontlast hem van werk waarin de coprocessor gespecialiseerd is. Een voorbeeld van een dergelijke processor is de rekenprocessor. Die is ontworpen om drijvende-komma berekeningen (floating point operations) uit te voeren. Veel rekenprocessors kunnen wiskundige functies zoals sinus, cosinus, exponentiële bewerkingen en worteltrekkingen zeer snel uitvoeren. Dergelijke berekeningen vergen met de gewone processor veel meer instructies, die dan ook nog langzamer worden uitgevoerd. Rekenprocessors zijn echter totaal verouderd en momenteel mee in de gewonen processor geïntegreerd. Momenteel bevinden de coprocessors zich vaak op andere onderdelen van de computer. Bijvoorbeeld op de grafische kaart. Deze heeft tegenwoordig altijd een eigen processor die specifiek ontworpen is voor grafische verwerking. Ook andere onderdelen kunnen eventueel een eigen processor hebben.

7.9 Processorvoet De CPU zit via een slot of een socket in het moederbord verankerd. Soms wordt de term ZIF of LIF gebruikt: LIF betekent ………………………………………………….., terwijl ZIF staat voor …………… ………………………………………….. Het komt erop neer dat een processor niet meer vast

9


gesoldeerd is op het moederbord, maar op een eenvoudige manier kan verwijderd worden en vervangen door een ander model. De Pentium II en de eerste Celeron’s worden niet meer in een processorvoet geplaatst. Deze processor is samen met het cache geheugen op een insteekkaartje gezet. Deze insteekkaart wordt in een speciale houder op het moederbord gestoken. Deze houder wordt slot 1 genoemd.

7.10 Koeling Een processor is ook steeds voorzien van een koeling aangezien hij een aanzienlijke hoeveelheid warmte produceert. Meestal is dit een aluminium gietstuk bestaande uit een plaat met daarop een groot aantal uitsteeksels. Aluminium is namelijk een van de best warmtegeleidende metalen. De warmte van de processor wordt dus door de uitsteeksels van het koellichaam afgestaan aan de in de computerkast circulerende lucht. Dit is vaak nog steeds onvoldoende. Daarom wordt er meestal nog een ventilator bovenop geplaatst om de luchtdoorstroming te verbeteren. op deze foto zie je de processor, koeling en de ventilator die op het moederbord bevestigd zijn. Veel fabrikanten plaatsen goedkope ventilatoren op het koellichaam. Deze goedkope ventilatoren zijn niet gelagerd. Ze gaan daardoor na verloop van tijd minder soepel draaien en veroorzaken dan een behoorlijk kabaal.

7.11 Cache geheugen Het cache geheugen is een geheugengebied dat een buffer vormt tussen het werkgeheugen en de processor. Zoiets is nodig omdat moderne processoren zó snel zijn dat ze de gegevens veel sneller kunnen verwerken dan het werkgeheugen ze kan aanleveren. Door het plaatsen van (dure) statische RAM chips als buffer tussen het intern geheugen en de processor kan de werking van de processor aanzienlijk versneld worden.

De cache bestaat uit speciale (zeer dure) geheugenchips die veel sneller zijn dan die van het gewone werkgeheugen. Gegevens worden vaak meer dan één keer gebruikt. Eenmaal gebruikte gegevens kunnen dan uit het veel snellere cache-geheugen worden gehaald, zodat de processor niet op het werkgeheugen hoeft te wachten. Bovendien probeert de cache te raden welke gegevens de processor de eerstvolgende keer nodig zal hebben, zodat ze alvast opgehaald kunnen worden, nog voor de processor ze werkelijk nodig heeft.

10


Computers met een 386 processor of hoger hebben zo'n cache nodig. Bij 386 processoren is de cache extern, bij 486 processoren en hoger is al een cache in de processor zelf ingebouwd. Toch wordt in computers met een 486 processor of hoger vaak nog een tweede, externe cache ingebouwd [second level cache] om de interne cache van de processor aan te vullen. De nieuwste processoren (Pentium vanaf 1 00 MHz) zijn inmiddels zo snel dat zelfs bij gebruik van een interne en een externe cache de processor toch regelmatig op de aanvoer van gegevens uit het werkgeheugen moet wachten. Om optimaal gebruik van zo'n processor te maken, is een ander type cache nodig het zogenaamde pipelined burstcache (zie verder) en een werkgeheugen dat is opgebouwd uit speciale, extra snelle geheugenchips (EDO-RAM). Men spreekt over 3 soorten cache: •

level 1 cache: L1

level 2 cache: L2

level 3 cache: L3

Algemeen kan je stellen dat hoe hoger de nummer hoe verder het cache geheugen van de processor verwijderd ligt.

7.11.1 Level 1 cache De level 1 cache is een onderdeel van de CPU. De omvang is relatief klein, maar door zijn plaats IN de centrale verwerkingseenheid is het effect groot. De omvang van het level 1 cache bij een 486 was 8KB terwijl dit bij de PII reeds 32 KB bedraagt.

7.11.2 Level 2 cache Bij de level 2 cache worden er op de insteekkaart waarop de processor zich bevindt chips geplaatst als cache-geheugen. Het zijn statische RAM-chips (SRAM). Dit soort geheugenchips is veel sneller dan de gebruikelijke dynamische RAM chips (DRAM), maar natuurlijk ook veel duurder. Bij de PII bedraagt het level 2 cache geheugen 1 MB. In principe is het niet mogelijk om cache geheugen toe te voegen, dit in tegenstelling tot het RAM geheugen. Op Pentium-moederborden met een Triton-chipset is voor het level 2 cache een snellere toegang tot de processor gerealiseerd: de pipelined burst cache (die in staat is tot synchroon tweerichtingsverkeer i.p.v. het klassieke asynchrone éénrichtings-verkeer).

7.11.3 Level 3 cache Bij level 3 cache zijn de chips op het moederbord geplaatst. Bij de Power Mac G4 processor hoort een L3 cache van 2 Mb. Dit verhoogt aanzienlijk de verwerkingssnelheid van deze processor.

7.12 Chipset Naast de microprocessor en zijn systeembussen zijn er een aantal ondersteunende chips nodig om de computer vlot te laten werken. Deze ondersteunende chips horen bij elkaar en worden daarom chipset of Integrated peripheral controllers genoemd. De chipset zorgt voor de verbinding tussen de processor en de buitenwereld, en is als het ware het zenuwcentrum van de computer. Zo bepaalt de chipset o.a. hoe snel de gegevens van de harde schijven en van het RAM-geheugen bij de processor geraken.

11


De chipsets bestaan uit 2 chips die elke instaan voor specifieke zaken: •

De NorthBridge staat in voor de controle van het zeer snelle verkeer tussen de cpu en het interne geheugen. Dit verkeer loopt over wat men noemt de Front Side Bus (FSB). Deze bus bepaalt voor een belangrijk deel de algemene verwerkingssnelheid van de computer.

•

De SouthBridge op zijn beurt heeft dan weer de taak om alle communicatie tusen processer en geheiugen enerzijds en alle mogelijk randapparaten anderzijds te controleren.

Bekende merken op de markt van de chipsets zijn Intel, VIA, SIS (is bezig aan een steile opmars), ALI en nVIDIA.

12


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.