Mmm, ik denk dat ik me wel iets kan voorstellen bij de vraag van de TS. Ik denk dat ik vroeger ook wel 's in dat schemergebied tussen begrip en onbegrip heb gehangen wat software en hardware betreft.
Alleen is de vraag makkelijker en breder gesteld dan je zo even kan beantwoorden. Op welk nivo wil je het beantwoord zien? Wat begrijp je niet precies? Kan je een voorbeeld geven? Begrijp je niet hoe de processorinstructies tot bepaalde acties en het verloop van de software leiden? Begrijp je niet hoe je bijvoorbeeld een lampje aan/uit kan schakelen met een processor?
Houd in gedachte dat processors dom zijn en uitvoeren wat processsorinstructie (opcode) en cpu-struktuur bepalen. Een bepaalde opcode zal betekenen dat de waarde van 2 registers verwisseld worden, of een byte van een geheugenlokatie opgehaald en in een register gezet moet worden. Daartoe zal naast de opcode ook het geheugenadres meegegeven moeten worden, en wellicht het register waarnaar je de waarde gekopieerd wilt hebben.
Er zijn instructies die de waarde van registers bij elkaar optellen. En dat optellen is weer een hardwarematig trucje waar je een pagina over kan vullen.
Als je een lampje wilt aan/uit schakelen, dan moet je ergens een I/O poort schakelen. Daartoe zal er een opcode zijn die verwijst naar een bepaalde I/O adres en die daarbij een waarde (bit of byte) naar die lokatie kan schrijven. Die instructie genereert dan de juiste bits op zijn adres- en databus en geeft daarbij aan of geschreven of gelezen moet worden. Die I/O-poort is dan ook weer gewoon een register die de geschreven bits onthoudt. Alleen zijn die bits dan naar buiten toe uitgevoerd waardoor je er via een elektronische schakeling en relais bijvoorbeeld een lamp mee kan schakelen.
Het werk dat een computer doet is kortweg het heel veel verplaatsen en kopiëren van bits tussen registers, memory en I/O en het uitvoeren van rekenkundige bewerkingen daarop. Betekenisloos dus. Het krijgt pas betekenis als er een interface naar de buitenwereld aanhangt, en een toetsaanslag een inputbitje zet, of een bitje op een uitgang een pixel op een beeldscherm aanstuurt.
Dit alles is nogal simpel uitgelegd. Vraag alsjeblieft niet hoe een moderne processor z'n werk doet...
Ik denk dat je flink moet gaan Googlen, er valt gewoon te veel over te zeggen. En een microprocessorkitje van PIC of AVR kopen en mee experimenteren, dan ga je het snel genoeg doorhebben.
[
Voor 8% gewijzigd door
BraveWorld op 09-10-2007 16:10
]
Dit is geen signature...