Zur Haupt­na­vi­ga­ti­on sprin­gen [Alt]+[0] Zum Sei­ten­in­halt sprin­gen [Alt]+[1]

His­to­ri­sche Ent­wick­lung der Re­chen­ma­schi­nen

Stellt man sich einen hart ar­bei­ten­den Men­schen etwa zur Zeit des 17. oder 18. Jahr­hun­derts vor, dann denkt man zu­meist an kör­per­lich hart ar­bei­ten­de Män­ner, Frau­en und Kin­der. Es gab aber schon da­mals eine ganz an­de­re „harte Ar­beit“, die je­doch eher „geis­tig“ hart zu nen­nen ist: Das Rech­nen per Hand.

Noch im Mit­tel­al­ter galt Schrei­ben und Rech­nen als wei­bisch, mit Grün­dung der ers­ten Uni­ver­si­tä­ten aber muss­ten Män­ner die Re­chen­ar­beit über­neh­men, denn Frau­en wur­den wie be­kannt an den Uni­ver­si­tä­ten nicht zu­ge­las­sen.

Ende des 18. Jahr­hun­derts gab es die ers­ten „Rech­ner“ von Beruf, Men­schen also, die als Auf­trags­ar­beit zu rech­nen hat­ten oder aber mit der Lö­sung eines nu­me­ri­schen Pro­blems be­auf­tragt wur­den. Sol­che Men­schen wur­den im an­gel­säch­si­schen Be­reich tat­säch­lich „Com­pu­ter“ ge­nannt. Es stan­den ihnen zu die­ser Zeit aber im­mer­hin schon ei­ni­ge Hilfs­mit­tel zur Ver­fü­gung. Den­noch muss man sich deren Ar­beit als sehr zeit­rau­bend und an­stren­gend vor­stel­len. Ein Bei­spiel:

La­lan­de ar­bei­te­te da­nach als As­sis­tent von Al­exis-Clau­de Clai­raut an einer bes­se­ren Bahn­be­rech­nung des Hal­ley­schen Ko­me­ten, was zu einer Be­schäf­ti­gung (wie auch bei Clai­raut, d'Alem­bert und Euler) mit dem Drei­kör­per­pro­blem führ­te. Mit Me­tho­den Clai­rauts konn­te La­lan­de er­folg­reich die Bahn­stö­run­gen des Ko­me­ten durch große Pla­ne­ten be­rech­nen. Un­ter­stützt wurde er dabei in der um­fang­rei­chen Re­chen­ar­beit durch Ni­co­le-Reine Lépaute (1723–1788), deren Bei­trag wie der an­de­rer da­ma­li­ger Ma­the­ma­ti­ke­rin­nen, die für ihre männ­li­chen Kol­le­gen „Re­chen­ar­beit“ aus­füh­ren durf­ten, weit­ge­hend igno­riert wurde. La­lan­de wür­dig­te ihre Ar­beit so:

Sechs Mo­na­te lang rech­ne­ten wir von mor­gens bis nachts .. Die Hilfe Mme. Lépau­tes war so, dass ich ohne sie die enor­me Ar­beit über­haupt nicht hätte in An­griff neh­men kön­nen. Es war not­wen­dig, die Dis­tanz der bei­den Pla­ne­ten Ju­pi­ter und Sa­turn zum Ko­me­ten se­pa­rat für jeden auf­ein­an­der­fol­gen­den Grad über 150 Jahre hin­weg zu be­rech­nen.1

So ist es ver­ständ­lich, dass schon sehr früh der Wunsch auf­kam, die stumpf­sin­ni­ge Re­chen­ar­beit von einer Ma­schi­ne er­le­di­gen zu las­sen.

Ein­fa­che me­cha­ni­sche Re­chen­ma­schi­nen

Rechenmaschine von Wilhelm Schickard (Originalzeichnung)

Re­chen­ma­schi­ne von Wil­helm Schickard (Ori­gi­nal­zeich­nung), Re­chen­ma­schi­ne_­wil­hel­m_­schickard.png von Mi­cha­el­Frey [Pu­blic Do­main] via Wi­ki­me­dia Com­mons

Be­reits 1623 be­schrieb Wil­helm Schickardt (lei­der sehr knapp) in einem Brief an Kep­ler, wie seine Ad­di­ti­ons-Ma­schi­ne funk­tio­niert. (Das Bild rechts ist eine Zeich­nung, die er zur Er­läu­te­rung bei­ge­fügt hatte!) Sie be­stand aus einem Ad­dier- und Sub­tra­hier­werk und ließ sogar Mul­ti­pli­ka­ti­on und Di­vi­si­on nach der Me­tho­de der „Na­pier­schen Re­chen­stäb­chen“ zu. Lei­der ver­brann­te das Ori­gi­nal.

Die 1645 von Blai­se Pas­cal vor­ge­stell­te Rechen­maschine Pas­ca­li­ne war eine reine Ad­dier­ma­schi­ne. Er ent­wi­ckel­te sie für sei­nen Vater, einen Steu­er­be­am­ten.

Unter den vier „Spe­cies“ (erst­mals 1200 im Codex der Klos­ters Salem er­wähnt) ver­stand man Ad­di­ti­on, Sub­trak­ti­on, Mul­ti­pli­ka­ti­on und Di­vi­si­on. 1673 stell­te Leib­niz eine Vier-Spe­cies-Ma­schi­ne mit Staf­fel­wal­zen-Prin­zip vor. Das un­te­re Zahn­rad (die Staf­fel­wal­ze) im Bild unten links dient als An­trieb und kann in Rich­tung der Wal­zen­ach­se ver­scho­ben wer­den. Bei Ein­stel­lung der 0 be­fin­det sich das obere Zahn­rad ganz links, bei 9 ent­spre­chend ganz rechts. Bei einer vol­len Um­dre­hung der Staf­fel­wal­ze wird so das obere Zahn­rad zwi­schen 0 und 9 Zäh­nen wei­ter­ge­dreht.

Staffelwalze

Staf­fel­wal­ze, Staf­fel­wal­ze­prin­zipb­ha.jpg von Bar­ba­rah [CC BY-SA 3.0] via Wi­ki­me­dia Com­mons

Leibniz Rechenmaschine (Nachbau)

Leib­niz Re­chen­ma­schi­ne (Nach­bau), Leib­nitz­re­chen­ma­schi­ne.jpg von Ko­los­sos [CC BY-SA 3.0] via Wi­ki­me­dia Com­mons

Pro­gram­mier­ba­re me­cha­ni­sche Re­chen­ma­schi­nen

Mit den oben ge­nann­ten ers­ten me­cha­ni­schen Re­chen­ma­schi­nen war nur eine teil­wei­se Ar­beits­ent­las­tung mög­lich, denn sie er­laub­ten ja immer nur genau einen Re­chen­vor­gang. Eine weit grö­ße­re Ar­beits­er­spar­nis wäre es, wenn die Ma­schi­ne eine Reihe von fest­ge­leg­ten Rech­nun­gen durch­füh­ren könn­te. Die Krö­nung al­ler­dings wäre eine Ma­schi­ne, bei der selbst diese Rei­hen­fol­ge va­ria­bel ge­stal­tet wer­den könn­te, wenn sie also „pro­gram­miert“ wer­den könn­te!

Ganz fu­tu­ris­tisch war die­ser Ge­dan­ke selbst An­fang des 19. Jahr­hun­derts kei­nes­falls. Denn schon 1805 stell­te Jo­seph-Marie Jac­quard einen au­to­ma­ti­schen Web­stuhl vor, der durch Loch­kar­ten ge­steu­ert wurde. Das „Web-Pro­gramm“ war (auf Loch­kar­ten) ge­spei­chert. Man kann diese Ma­schi­ne durch­aus als Vor­läu­fer pro­gram­mier­ba­rer Re­chen­ma­schi­nen sehen, auch wenn sie selbst nicht rech­nen konn­ten, füh­ren sie doch eine Art „Pro­gramm­spei­cher“ ein.

Hollerith Zählmaschine

Hol­le­rith Zähl­ma­schi­ne, Hol­le­rith­Ma­chi­ne.​chm.​jpg von Adam Schus­ter [CC BY-SA 2.0] via Wi­ki­pe­dia

Diese Ma­schi­ne plan­te 1822 als ers­ter Charles Bab­ba­ge. Sie war zu sei­nen Leb­zei­ten lei­der nie ver­wirk­licht. Den­noch ge­bührt ihm gro­ßer Ruhm, denn seine Idee nutz­te 1886 Her­mann Hol­le­rith, um die erste funk­ti­ons­fä­hi­ge Zähl-Ma­schi­ne für Mas­sen-Daten-Ein­ga­be mit Loch­kar­ten zu ver­wirk­li­chen. Sie dien­te zur Aus­wer­tung der Volks­zäh­lung in den USA. Mit Steck­ta­feln konn­te man be­stimm­te Ar­beits­pro­gram­me aus­wäh­len.

Di­gi­ta­le Re­chen­ma­schi­nen: Z3

Kon­rad Zuse schließ­lich baute 1941 die erste funk­ti­ons­fä­hi­ge uni­ver­sell pro­gram­mier­ba­re Re­chen-Ma­schi­ne der Welt. Sie be­stand aus 2000 Re­lais und konn­te 64 Worte je 22 Bit spei­chern. Eine Mul­ti­pli­ka­ti­on er­le­dig­te sie in 3 Se­kun­den (!!). Er führ­te mit ihr die bi­nä­re Gleit­kom­ma-Arith­me­tik ein.

Nachbau Zuse Z3

Nach­bau Zuse Z3, Z3_­Deut­sches_­Mu­se­um.JPG von Ve­nusia­ner [CC BY-SA 3.0] via Wi­ki­me­dia Com­mons

Seine Ma­schi­ne, die 1943 bei einem Bom­ben­an­griff zer­stört wurde, gilt als ers­ter Com­pu­ter der Welt. (In den USA sieht man die Sache etwas an­ders: Für sie ist die ENIAC von 1946 der erste Com­pu­ter der Welt!).

Bei allem Re­spekt vor Zuses Leis­tung, eine wün­schens­wer­te Mög­lich­keit bie­tet die Z3 lei­der nicht: Man kann keine „be­ding­ten Sprün­ge“ rea­li­sie­ren, das sind Sprün­ge, die von den ein­ge­ge­be­nen Daten ab­hän­gen. Das Re­chen­werk und das Steu­er­werk der Z3 sind streng ge­trennt. Somit kön­nen die Daten nicht auf die Steue­rung ein­wir­ken.

Von-Neu­mann-Ar­chi­tek­tur

Aus heu­ti­ger Sicht mag es selt­sam er­schei­nen, dass es bis 1945 ge­dau­ert hat, bis erst­mals durch John von Neu­mann der Ge­dan­ke ver­öf­fent­licht wurde, dass näm­lich Daten und Steue­rung nicht ge­trennt wer­den müs­sen, um eine brauch­ba­re Re­chen-Ma­schi­ne zu kon­stru­ie­ren. Daten und Pro­gramm ver­wen­den den glei­chen Spei­cher und sind äu­ßer­lich nicht zu un­ter­schei­den.

Ob­wohl die­ses Kon­zept in den an­schlie­ßen­den Ka­pi­teln noch aus­führ­lich be­han­delt wird, hier schon ein­mal ein Über­blick:

Ein Rech­ner nach der Von-Neu­mann-Ar­chi­tek­tur be­steht aus vier grund­le­gen­den, mit­ein­an­der ver­bun­de­nen Kom­po­nen­ten:

  • Steu­er­werk (in der CPU)
  • Re­chen­werk (Arith­me­tic Logic Unit (ALU) in der CPU)
  • Spei­cher
  • Ein-/Aus­ga­be­werk

Diese Kom­po­nen­ten haben fol­gen­de Auf­ga­ben:

  • Das Steu­er­werk holt die Be­feh­le und Daten aus dem Spei­cher, de­ko­diert diese und führt die ge­wünsch­ten Ope­ra­tio­nen dann se­quen­ti­ell aus.

  • Das Re­chen­werk führt grund­le­gen­de ma­the­ma­ti­sche und lo­gi­sche Ope­ra­tio­nen aus.

  • Der Spei­cher ist an jeder be­lie­bi­gen Stel­le di­rekt les- und schreib­bar und dient dazu, Be­feh­le und Daten zu spei­chern. Dabei sind Be­feh­le und Daten gleich­wer­tig und beide binär co­diert. Der Spei­cher ist in gleich­gro­ße Ein­hei­ten ein­ge­teilt (Bytes), die fort­lau­fend durch­num­me­riert wer­den (Adres­sie­rung). Diese Adres­se dient zum Zu­griff auf eine Spei­cher­zel­le. Ein Pro­gramm liegt mit sei­nen Daten hin­ter­ein­an­der im Spei­cher, es wird dann se­quen­zi­ell ab­ge­ar­bei­tet. Durch Sprung­be­feh­le kann von die­ser stren­gen Rei­hen­fol­ge ab­ge­wi­chen wer­den.

  • Das Ein-/Aus­ga­be­werk sorgt für die Ein­ga­be und Aus­ga­be der Daten.

Von-Neumann-Architektur

Von-Neu­mann-Ar­chi­tek­tur, "von Neu­mann" Ar­chi­tek­tur de.​svg von Med­ve­dev [CC BY-SA 3.0] via Wi­ki­me­dia Com­mons

Alle diese Zu­grif­fe wer­den über ein Bus­sys­tem ab­ge­wi­ckelt, das die Kom­mu­ni­ka­ti­on zwi­schen Pro­zes­sor, Ar­beits­spei­cher und auch den Pe­ri­phe­rie­ge­rä­ten re­gelt.

Re­chen­werk und Steu­er­werk ar­bei­ten sehr eng zu­sam­men und wer­den als Ein­heit be­trach­tet, die mit dem Be­griff Pro­zes­sor be­zeich­net wird. Wenn als Spei­cher der im Pro­zes­sor­ge­häu­se un­ter­ge­brach­te sehr schnel­le Zwi­schen­spei­cher na­mens Cache ge­meint ist, dann hei­ßen alle drei zu­sam­men CPU (= Cent­ral Pro­ces­sing Unit).

Der enor­me Vor­teil die­ser neuen Ar­chi­tek­tur ist, dass nun die Pro­gram­me leicht ver­än­der­bar im Ar­beits­spei­cher ge­hal­ten wer­den kön­nen. Ein Um­ste­cken von Kabel zur Pro­gram­mie­rung oder eine ex­ter­ne Spei­che­rung auf Loch­kar­ten ist nicht mehr not­wen­dig.

Der wich­tigs­te Nach­teil der von-Neu­mann-Rech­ner ist die be­grenz­te Da­ten­ge­schwin­dig­keit zwi­schen Pro­zes­sor und Spei­cher. Mit den lang­sa­men Pro­zes­so­ren in der An­fangs­zeit der Com­pu­ter war dies kein Pro­blem. Heut­zu­ta­ge ist die Pro­zes­sor­ge­schwin­dig­keit der Zu­griffs­ge­schwin­dig­keit auf den RAM deut­lich über­le­gen. Man spricht daher vom von-Neu­mann-Fla­schen­hals. Um diese Schwach­stel­le etwas ab­zu­mil­dern, bauen die Chip­her­stel­ler in­zwi­schen sehr schnel­le Zwi­schen­spei­cher (Caches) di­rekt an den Pro­zes­sor an. Diese schnel­len Spei­cher sind sehr teuer. Und den­noch lohnt der Auf­wand: Über die Ge­schwin­dig­keit eines Rech­ners ent­schei­det in­zwi­schen we­ni­ger die Takt­ra­te (sie liegt bei den meis­ten PCs heute bei knapp 3 GHz) als viel­mehr die Größe der ver­schie­de­nen Caches. (Wei­te­re In­for­ma­tio­nen zum Thema: CPU-Cache)

Von-Neu­mann-Com­pu­ter: Com­mo­do­re 64 und an­de­re

C64

C64, Com­mo­do­re64wi­th­disk.jpg von Pri­x­eH [CC BY-SA 3.0] via Wi­ki­me­dia Com­mons

1982 kam in den USA der neben ste­hend ab­ge­bil­de­te C64 (in Deutsch­land „Brot­kas­ten ge­nannt) her­aus, der mit dem 6510-Pro­zes­sor ar­bei­te­te. Das C stand für Con­su­mer, die 64 ver­dankt er der Tat­sa­che, dass der be­schreib­ba­re Ar­beits­spei­cher, kurz der RAM (Random Access Memory) 64 KByte groß war.

Zum Ver­gleich: Heu­ti­ge PCs haben ca. 100000 mal so viel RAM. Der Pro­zes­sort­akt be­trug knapp ein MHz, heute sind die Pro­zes­so­ren 2000 mal so schnell. Seine Ar­chi­tek­tur ent­spricht weit­ge­hend der ori­gi­na­len Von-Neu­mann-Ar­chi­tek­tur.

Eine Fest­plat­te hatte der C64 noch nicht. Zum dau­er­haf­ten Spei­chern von Daten und zum Laden eines Pro­gramms, ver­wen­de­te man Dis­ket­ten. Sie hat­ten eine Ka­pa­zi­tät von zwei­mal 165 KByte (Vor­der- und Rück­sei­te). Heute hat eine durch­schnitt­li­che Fest­plat­te ei­ni­ge Mil­lio­nen mal so viel! Eine Be­son­der­heit des Rech­ners ist sein ROM-Spei­cher (Read Only Memory) von 20 KByte. Le­dig­lich 7 KByte wur­den für das Be­triebs­sys­tem be­nö­tigt. Zwi­schen­fra­ge: Wie viel KByte be­nö­tigt das Be­triebs­sys­tem Win­dows 10? Wei­te­re 9 KByte waren für den von der Firma Mi­cro­soft ent­wi­ckel­ten BASIC-In­ter­pre­ter re­ser­viert.

Ein Vor­teil hatte diese Tech­nik mit Si­cher­heit: Viren und sons­ti­ge Mal­wa­re konn­ten zu­min­dest dem Be­triebs­sys­tem nichts an­ha­ben! Ein zwei­ter Vor­teil kommt hinzu: Durch die ein­ge­schränk­ten Res­sour­cen waren die Ent­wick­ler ge­zwun­gen sehr spar­sam mit dem Spei­cher­platz um­zu­ge­hen und zeit­auf­wen­di­ge Rech­nun­gen so zu ver­ein­fa­chen, dass der C64 in ver­nünf­ti­ger Zeit damit fer­tig wer­den konn­te. Da­durch haben sie es tat­säch­lich ge­schafft, dass man nach 10 Mi­nu­ten La­de­zeit, sogar Schach gegen die Ma­schi­ne spie­len konn­te. Und wer kein ge­üb­ter Spie­ler war, ver­lor ohne Wei­te­res gegen die Ma­schi­ne.

Mit dem kos­ten­lo­sen Emu­la­tor VICE2 kann man, nach Ein­stel­lung der Spra­che und der deut­schen Tas­ta­tur die An­fän­ge des PCs noch­mal nach­voll­zie­hen.

Har­vard-Ar­chi­tek­tur

Nach­teil der Von-Neu­mann-Ar­chi­tek­tur ist, wie schon er­wähnt, dass es nur einen Da­ten­bus und einen Adress­bus gibt. Die Pro­gramm­aus­füh­rung wird ver­lang­samt, denn wäh­rend die Daten ge­le­sen und ge­schrie­ben wer­den, kann nicht schon der nächs­te Be­fehl über den Da­ten­bus ge­holt wer­den. Daher ist eine gleich­zei­ti­ge Ver­ar­bei­tung von Daten und Be­feh­len nicht mög­lich.

Daher hat sich neben der Von-Neu­mann-Ar­chi­tek­tur eine zwei­te Ar­chi­tek­tur durch­ge­setzt: Die Har­vard-Ar­chi­tek­tur (Howard Aiken an der Uni­ver­si­tät Har­vard) er­in­nert zu­nächst an die Zuse Z3, da Daten und Pro­gram­me in zwei ge­trenn­ten Be­rei­chen ge­spei­chert wer­den. Es gibt daher auch zwei ge­trenn­te Busse für Daten und Pro­gramm. Die Pro­gramm­aus­füh­rung wird durch die gleich­zei­ti­ge Be­fehls- wie Da­ten­ver­ar­bei­tung deut­lich be­schleu­nigt. Be­ding­te Sprün­ge kön­nen aber im Ge­gen­satz zur Z3 trotz­dem rea­li­siert wer­den, da die Daten einen Ein­fluss auf das Steu­er­werk haben kön­nen.

Da­ne­ben gibt es noch ein Ar­gu­ment, auf die Von-Neu­mann-Ar­chi­tek­tur zu ver­zich­ten. Wenn es um die Si­cher­heit geht, wird der ur­sprüng­li­che Vor­teil des Von-Neu­mann-Kon­zepts zum Nach­teil: Hier kann Pro­gramm-Code an­de­ren Pro­gramm-Code über­schrei­ben. Prin­zi­pi­ell ist ein solch „selbst­mo­di­fi­zie­ren­der Code“ mög­lich, weil das „Pro­gramm“ im vom Pro­gramm ver­än­der­ba­ren Spei­cher liegt. Dies ist bei der Har­vard-Ar­chi­tek­tur nicht mög­lich, da der Pro­gramm-Spei­cher wäh­rend des Pro­gramm­ab­laufs nicht ver­än­dert wer­den kann.

Mo­der­ne Ar­chi­tek­tu­ren

Mo­der­ne Pro­zes­so­ren (z.B. Intel Core-Tech­no­lo­gie) be­ste­hen oft aus einer Misch­form bei­der Ar­chi­tek­tu­ren. In­tern be­sit­zen sie zwei ge­trenn­te Bus-Sys­te­me für Daten und Be­feh­le, die mit dem L2-Cache kom­mu­ni­zie­ren. Die­ser L2-Cache kom­mu­ni­ziert dann über einen ge­mein­sa­men Bus mit dem Ar­beits­spei­cher. Um die Ver­ar­bei­tungs­ge­schwin­dig­keit zu er­hö­hen, ver­sucht man Daten und Be­feh­le schon bevor sie be­nö­tigt wer­den in den L2-Cache zu über­tra­gen (Pre­fetch). Dazu muss der Pro­zes­sor „raten“, wel­che Daten be­nö­tigt wer­den könn­ten.

ASUS Rock K7

ASUS Rock K7, AS­Rock_K7V­T4A_­Pro­_­Main­boar­d_La­be­le­d_­Ger­man.jpg von Dar­ko­ne [CC BY-SA 2.5] via Wi­ki­me­dia Com­mons

Die Re­gis­ter­brei­te wurde von an­fangs 4 Bit auf 64 Bit er­höht. Da­durch wur­den immer mehr Tran­sis­to­ren ver­ar­bei­tet. Heu­ti­ge Pro­zes­so­ren (wie etwa der Core i7) haben fast eine Mil­li­ar­de Tran­sis­to­ren! Wei­te­re Be­schleu­ni­gung er­reich­te man durch ste­ti­ge Er­hö­hung der Takt­fre­quenz. Ober­halb von 4 GHz wurde die ent­ste­hen­de Ab­wär­me so groß, dass eine wei­te­re Er­hö­hung nicht mehr sinn­voll war.

Wei­te­re Ge­schwin­dig­keits­vor­tei­le wer­den nun durch die Er­hö­hung der An­zahl der Re­chen­wer­ke (=Pro­zes­sor­ker­ne) er­reicht. Im Jahr 2005 kamen die ers­ten Dop­pel­kern-Pro­zes­so­ren (Dual­Co­re) auf. An­fang muss­ten beide Pro­zes­sor-Kerne auf einen ge­mein­sa­men Cache-Spei­cher zu­grei­fen. Zwei Jahre spä­ter gab es schon 4- und 6-Kern-Pro­zes­so­ren3 mit je­weils ei­ge­nem Cache.

Meh­re­re Kerne kön­nen nun par­al­lel Daten be­ar­bei­ten. Zwei we­sent­li­che Tech­ni­ken haben sich durch­ge­setzt:

  1. SIMD (Sin­gle In­struc­tion, Mul­ti­ple Data)

    Mit die­ser Tech­nik wird ein Be­fehl gleich­zei­tig auf eine Viel­zahl gleich­ar­ti­ger Daten an­ge­wandt. Es gibt meh­re­re Re­chen­ein­hei­ten und eig­net sich vor allem für hoch­gra­dig par­al­le­le Pro­ble­me. Echte Vor­tei­le bringt die Tech­nik bei Bild- und Multimedia­verar­beitung. Heut­zu­ta­ge haben die meis­ten Pro­zes­so­ren SIMD auf die eine oder an­de­re Art und Weise (MMX, SSE, etc.) zur Be­schleu­ni­gung der Gra­fik­aus­ga­be (be­son­ders bei 3D-Spie­len).

  2. MIMD (Mul­ti­ple In­struc­tion, Mul­ti­ple Data)

    Diese Tech­nik ent­spricht dem, was man sich am ehes­ten unter par­al­le­lem Rech­nen vor­stellt: Man kann ver­schie­de­nen Be­feh­le gleich­zei­tig auf un­ter­schied­li­che Daten an­wen­den. So gut wie alle Su­per­com­pu­ter/Clus­ter und die meis­ten der heut­zu­ta­ge vor­han­de­nen Mehr­kern-Pro­zes­so­ren fal­len in diese Ka­te­go­rie. Für das Steu­er­werk ist es gar nicht so ein­fach, die Be­feh­le eines Pro­gramms sinn­voll auf die ver­schie­de­nen Kerne zu ver­tei­len, wenn das Pro­gramm nicht von vorn­her­ein daran an­ge­passt ist.

Chipsatz

Chip­satz, Sche­ma_chip­satz.png von Alex­an­der Tau­ben­korb [CC BY-SA 3.0] via Wi­ki­me­dia Com­mons

Die Steue­rung des Bus­sys­tems ist heut­zu­ta­ge meist in zwei se­pa­ra­ten Chips – der North- und der Sou­th­bridge – rea­li­siert. Die Nor­th­bridge be­fin­det sich nahe am Pro­zes­sor und re­gelt die Kom­mu­ni­ka­ti­on mit Ge­rä­ten, die sehr schnell ar­bei­ten und einen hohen Da­ten­durch­satz be­nö­ti­gen (z.B. Gra­fik­kar­te oder Ar­beits­spei­cher). Sie hat daher eine hohe Band­brei­te und ar­bei­tet mit einer ent­spre­chend hohen Takt­ra­te (Front Side Bus (FSB)) und muss aus die­sem Grund oft auch ge­kühlt wer­den. Der Pro­zes­sort­akt ist immer ein Viel­fa­ches des FSB-Tak­tes. Also Pro­zes­sort­akt = FSB * Fak­tor. Eine be­lieb­te Me­tho­de, den Rech­ner um ei­ni­ge Ticks schnel­ler zu ma­chen, war, die­sen Fak­tor zu er­hö­hen. Heute gibt es nur noch we­ni­ge Mo­ther­boards, die die­sen di­rek­ten Ein­griff er­lau­ben. Was al­ler­dings noch sehr oft geht, ist die Höhe des FSB-Tak­tes zu ver­än­dern. Damit wächst ja der Pro­zes­sort­akt au­to­ma­tisch. Al­ler­dings er­höht man damit auch die Takt­ra­te zwi­schen allen an­de­ren Bau­tei­len, wie etwa dem RAM und der Nor­th­bridge, denn zu­meist ist auch deren Takt­ge­schwin­dig­keit vom FSB ab­hän­gig. Die Nor­th­bridge ist auch mit der Sou­th­bridge ver­bun­den, an der sich Steck­plät­zen für wei­te­re Kom­po­nen­ten be­fin­det, die keine so hohe Da­ten­ra­te be­nö­ti­gen.

Bei neue­re Pro­zes­sor­ge­ne­ra­tio­nen (Stand 2019) ist die Nor­th­bridge di­rekt im Pro­zes­sor in­te­griert, was die Zu­griffs­ge­schwin­dig­keit wei­ter er­höht. Auch die an­de­ren Bus­sys­te­me sind in stän­di­ger Wei­ter­ent­wick­lung. Es lohnt aber ein Blick auf ein Main­board, auf dem die Da­ten­lei­tun­gen gut er­kannt wer­den kann. Man sieht, dass der Ar­beits­spei­cher sehr nah am Pro­zes­sor sitzt und mit zahl­rei­chen Lei­tun­gen ver­bun­den ist.

Zu­satz­auf­ga­be

Im fol­gen­den Bild ist ein zwar nicht ak­tu­el­les aber neue­res Mo­ther­board (2005) dar­ge­stellt. Die bei­den Kom­po­nen­ten, die im Bild oben nicht zu sehen sind oder die es noch nicht gab, sind be­schrif­tet. Zu sehen sind hier auch der Pro­zes­sor- und die Chip­satz­küh­ler. Zwei RAM-Bau­stei­ne sind eben­falls ein­ge­steckt.

Ver­su­chen Sie im Bild oder bes­ser noch auf einem rea­len Mo­ther­board so viele Kom­po­nen­ten wie mög­lich zu iden­ti­fi­zie­ren. Ver­wen­den Sie dabei Ab­bil­dung 11 und/oder das In­ter­net. Wes­halb be­nö­tigt die­ses Mo­ther­board kei­nen AGB-Steck­platz (Ac­ce­le­ra­ted Gra­phics Port) mehr für die Gra­fik­kar­te? Was ver­steht man unter PCIe-Lanes?

ASRock A790GXH Motherboard

AS­Rock A790GXH Mo­ther­board, Foto: un­be­kannt (Li­zenz: CC0-Pu­blic Do­main), via Max­pi­xel: https://​www.​max­pi­xel.​net/​Elec­tro­nics-​Pc-​Mo­ther­board-​A790gxh-​Chips-​2202269

Im Fol­gen­den sol­len nun die Grund­bau­stei­ne eines Von-Neu­mann Rech­ners näher er­läu­tert und das Zu­sam­men­spiel der Kom­po­nen­ten be­schrie­ben wer­den. Dabei wer­den mo­der­ne, tech­ni­sche Fein­hei­ten keine Rolle spie­len, da diese sich von Chip­satz zu Chip­satz un­ter­schei­den. Dem Pro­zes­sor als zen­tra­le Re­chen­ein­heit wird die größ­te Auf­merk­sam­keit ge­schenkt wer­den, da deut­lich wer­den soll, wie es mög­lich ist, dass ein Gerät, das nur mit „Strom an“ und „Strom aus“ ar­bei­tet, der­ar­tig kom­ple­xe Be­rech­nun­gen durch­füh­ren kann.

Daher fan­gen wir ganz unten bei den Bau­ele­men­ten eines Pro­zes­sors, den CMOS-Tran­sis­to­ren, an und bauen dar­aus schritt­wei­se einen uni­ver­sel­len, pro­gram­mier­ba­ren Com­pu­ter auf.


1 Seite Jérôme La­lan­de. In: Wi­ki­pe­dia, Die freie En­zy­klo­pä­die. Be­ar­bei­tungs­stand: 11. Mai 2011, 19:06 UTC.

2 Kos­ten­lo­ser C64-Emu­la­tor: VICE, http://​www.​vice­team.​org (Stand: Nov. 2011)

3 Die „vir­tu­el­len Cores“, mit der die Fir­men wer­ben, sind keine ech­ten Kerne. Hier wird der Um­stand aus­ge­nutzt, dass die Pro­zes­sor-Kerne oft nur „Däum­chen dre­hen“, weil es nichts zu tun gibt. Dem Be­triebs­sys­tem wer­den daher meist pro rea­lem Kern ein vir­tu­el­ler Kern vor­ge­gau­kelt, um so zu er­rei­chen, dass bei meh­re­ren Threads nicht immer un­ter­bro­chen wer­den muss, um alle Threads dran­kom­men zu las­sen. Da es ja den­noch nur ein Kern ist, be­steht der Ge­schwin­dig­keits­vor­teil im bes­se­ren Hand­ling der Threads.

 

 

Hin­ter­grund­in­for­ma­tio­nen: Her­un­ter­la­den [odt][4 MB]

 

Wei­ter zu Schal­tun­gen aus Tran­sis­to­ren