wie werden aus einzelnen bits daten? huuuhhhh, das ist dann eine wirklich grosse frage.
das wichtigste: durch riesige datenmengen und sehr schnelles rumschaufeln von bits von einem ort zum anderen. zwei mechanismen sind dabei wichtig: hardware-speicheradressen und maschinencode:
hardware: wenn du eine taste drückst, legt die tastatur in ihrem speicherbereich den entsprechenden zahlenwert dieser taste ab und gibt der cpu bescheid, dass da etwas neues in der eingabe drin ist. nun macht die cpu nichts anderes als oben beschrieben: sie stellt beim speicher eine anfrage, was denn nun im tastaturspeicher für ungelesene werte sind.
für die grafik dasselbe, in umgekehrter richtung: will die cpu, dass auf der bildschirmkoordinate x,y ein roter punkt erscheint, berechnet sie erst, welche speicheradresse der koordinate x y entspricht und legt dort die zahl hin, die ROT entspricht. der monitor rattert nun andauernd den ganzen addressbereich ab, und wenn er an die adresse für die koordinate x y kommt, liest er ROT aus und gibt rot wieder.
(dies ist wiederum extremstens vereinfacht, in tat und wahrheit ist alles sehr viel komplexer).
eine andere wichtige bedeutung haben die bits im sogenannten maschinencode. wie rechnet eine maschine? vereinfacht gesagt, gibt es innerhalb der cpu verschiedene kleine module, die einfach immer etwas können. ein addierer beispielsweise hat 2*8 eingangdrähte und 8 ausgangsdrähte, plus ein weiterer eingangsdraht, der ihm sagt, ob er nun rechnen soll oder nicht.
liegt nun auf diesem steuerungsdraht ein signal an, so geht er alle eingangsdrähte paarweise durch, und addiert die als 8bit dargestellten zahlen gemäss boolscher mathematikregeln. und gibt für jede stelle das resultat als 1 oder 0 auf die ausgangsdrähte, wo die steuerung der cpu das additionsresultat abholt und zB ins RAM verschiebt.
da es doch einige verschiedene solcher kleiner rechenmodule in einer cpu drin gibt, muss der cpu bekannt sein, welches modul was machen soll. beispielsweise.
1. befehl: Wirf 0000'0001 in das register 1 (register sind ganz kleine speicherplätze in der cpu, direkt an den rechenmodulen angeschlossen)
2. befehl: wirf den inhalt von RAM-Adresse xy in das register zwei
3. befehl: addiere die inhalte von register eins und zwei (verschalte die register mit den eingangsdrähten des addierers und gib dem addierer signal auf den steuerungsdraht)
4. befehl: schieb die bits am addierer-ausgang wieder auf die RAM-adresse xy
damit hast du eine zahl um eins grösser gemacht. liegt die adresse beispielsweise im display-bereich, wird ein pixel ein kleinst wenig heller.
die verschiedenen befehle und ihre auswirkungen sind hardware-mässig zusammengestellt, also wirklich verdrahtet. und vor allem sind sie nummeriert, so dass die cpu nicht etwa den befehl "addiere die inhalte von register eins und zwei" erhält, sondern zB "0010'0001 1000'0001 1000'0010"; wobei dieser phantasiecode nun bedeuten würden: 0010'0001-> wirf das addiermodul an; 1000'0001->fülle das addiermodul mit dem inhalt aus register 1; 1000'0010-> und gib den inhalt von register 2 ebenfalls an das speichermodul.
und wie genau kommt nun dieser befehl zur cpu? du hast es erraten, es wird wieder an einer ganz bestimmten stelle abgelegt, dem steuerwerk innerhalb der cpu. in dieses werden andauernd befehle wie der obere abgelegt, nämlich in form von binärem maschinencode, der auf der festplatte resp. kurz daraufhin im RAM liegt, nämlich in den programm-dateien.
von diesem kontinuierlichen strom an programm-code wird immer das oberste im steuerwerk ausgelesen und eben durch die cpu interpretiert, welche drähte nun zusammengeschaltet werden sollen und welcher teil des rechenwerks nun das gewünschte ergebnis bringt....