Een bit in het geheugen is in principe iets dat een spanning vast houdt (zoals bv. een condensator). Een geheugenchip zelf heeft meestal iets als een lees-lijn, een schrijf-lijn, een adresbus en een databus. Als je bijvoorbeeld een byte wilt lezen, dan zet je een spanning op de lees-lijn, zet je het adres op de adresbus (dit zijn dan bv. 8 lijnen zodat je 256 verschillende posities aan kunt spreken), en dan komt het resultaat op de databus (8 datalijnen, een voor elke bit in de byte).
In principe zijn alle componenten van de CPU wel met elkaar verbonden via zo'n bus. Je moet hierbij denken aan een echte fysieke verbinding, zoals een koperspoor op een PCB. Doorgaans zijn de bussen in de CPU parallel. De dingen die verbonden zijn, zijn bijv. registers, reken-eenheden, etc. De instructie-decoder kun je eigenlijk gewoon zien als een verzameling comparators. De instructie om register 0 bij register 1 op te tellen is bijvoorbeeld geencodeerd als de binaire waarde 11010101. De specifieke comparator die de instructie-bits vergelijkt met waarde 11010101 zal nu een spanning gaan produceren. Deze spanning is weer verbonden met AND-poorten op de registers 0 en 1, en de opteller. Een AND poort kun je in principe gewoon zien als een luikje om spanning door te laten. De spanning die je door wilt laten zet je op de ene invoer, en de andere invoer is dan óf de spanning doorgelaten moet worden. Op die manier kun je dus controleren wie zijn data op de bus mag zetten. Omdat de datalijnen van register 0 via dit soort AND poorten met de databus zijn verbonden, kun je derhalve tegen register 0 "zeggen" dat hij z'n data op de bus mag zetten. Hetzelfde gebeurt voor register 1 (maar dan uiteraard op een andere bus), en beide invoer-bussen voor de opteller, en de uitvoer moet natuurlijk ook op een bus gezet worden, zodat deze in een register of in het geheugen opgeslagen kan worden.
En zo wordt er dus elke kloktik een aantal bits uit het geheugen gelezen voor de uit te voeren instructie, een bepaalde comparator in de decoder voor die specifieke instructie gaat een spanning geven die weer doorgegeven wordt aan andere componenten, en zo gaat het hele zaakje eigenlijk rollen
[
Voor 3% gewijzigd door
.oisyn op 10-10-2007 00:21
]