Toon posts:

Hoe telt een processor op?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb op wikipedia volgend artikel gevonden over de werking van een processor:
http://nl.wikipedia.org/wiki/Microprocessor
Hier wordt echter ergens gezegd: 'Dus stelt de rekeneenheid zich in op optellen.'
Nu ligt net daar m'n vraag waar ik al een tijdje naar op zoek ben... hoe telt dit plaatje (met enkele leidinkjes en transistors) eigenlijk op? Ik vermoed dat we hier toch spreken over een fysisch verklaarbaar verschijnsel... stroom + geleiders + nog vanalles geeft ons 1+1=2. Dit kan ik tot nu toe niet vatten. Kan iemand mij hierbij helpen? Ik moet het niet speciaal voor iets weten, maar mijn nieuwsgierigheid hierover is net iets te groot om het zo te laten. Ik werk namelijk al jaren intensief met de pc, maar ik vind het schandalig dat ik nog steeds niet op de hoogte ben van de basis van dit alles.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 08:54

Janoz

Moderator Devschuur®

!litemod

Op de processor bevinden zich allemaal AND, OR, NOT en XOR poortjes (afaik, aangezien de ene van deze poortjes te bouwen is door het combineren van anderen kan het ook een subset hiervan zijn). Deze zijn allemaal mbv enkele transistoren te bouwen. Door deze juist te schakelen kunnen er ingewikkelere bewerkingen worden uitgevoerd.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Rac-On
  • Registratie: November 2003
  • Niet online
je neemt 2 input-bitjes, bit a en b.
beide kunnen 0 of 1 zijn. Mogelijke uitkomsten zijn dus 0, 1 en 2 . Dat zijn de 2 uitkomst bitjes, c en d (binaari dus 00, 01, 10. 11 is niet mogelijk).

Vervolgens stel je:
bit d = a xor b
bit c = a and b

geeft 0 + 0 = 00
geeft 0 + 1 = 01
geeft 1 + 0 = 01
geeft 1 + 1 = 10

(als ik het goed heb). Hoe een XOR werkt, kan je vervolgens aan je natuurkunde leraar vragen.

doet niet aan icons, usertitels of signatures


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 08:54

Janoz

Moderator Devschuur®

!litemod

Meestal worden 3 bitjes bij elkaar opgeteld. De 3e is dan de carry. In dat geval kan er wel 11 uitkomen. Waneer je dan getallen groter dan 1 bit opteld wordt de carry van de eerste bit meegenomen met de tweede. Dat werkt op dezelfde manier als het onthouden (of erboven schrijven) wat we ook op de basisschool leerden ;).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Een processor heeft een accumulator aan boord waardoor hij verschillende bewerkingen kan laten gebeuren: opteller, aftrekken vermenigvuldigen, delen, schuiven, .... (en nog 100 andere bewerkingen of zo). Het optellen zelf kan op verschillende manieren gebeuren, de basis is meestal een "Full adder" schakeling dit is opgebouwd uit 2 "Half adders" (elk opgebouwd uit een EXOR en een AND poort) deze "Half adder" kan 2 bits optellen (heeft dus 2 ingangen) en een "Full adder" houd dan nog eens rekening met de carry van een lagere orde. Een "Full adder" heeft dus 3 ingangen A_in, B_in en Carry_in. nu as men grotere getallen wilt optellen (meerdre bits) dan gaat men deze "Full adders" in een grotere schakeling plaatsen, hoe men deze schakelt is naargelang de grote van de getallen die men wil optellen en de snelheid waarin het moet gebeuren.

- Parallel opteller met carry save
- Parallel opteller met carry riple
- Carry lookahead
- Carry select
- serie optellers
- ....

Maar om die allemaal uit te leggen dan ben je een paar uurtjes kwijt. Ik stel voor om eens tot bij een bibliotheek te wandelen en er een boek te lenen over electronische schakelingen daar zal dat wel in staan.

EDIT: ik typ te langzaam :?

[ Voor 11% gewijzigd door kluyze op 13-02-2005 16:05 ]


  • Rac-On
  • Registratie: November 2003
  • Niet online
Janoz schreef op zondag 13 februari 2005 @ 15:59:
Meestal worden 3 bitjes bij elkaar opgeteld. De 3e is dan de carry. In dat geval kan er wel 11 uitkomen. Waneer je dan getallen groter dan 1 bit opteld wordt de carry van de eerste bit meegenomen met de tweede. Dat werkt op dezelfde manier als het onthouden (of erboven schrijven) wat we ook op de basisschool leerden ;).
i know, dit hebben ze me ooit geleerd op de universiteit :p had alleen geen zin om hem helemaal met 3 bitjes uit te schrijven, werd me wat te veel moeite.
Ik denk dat m'n uitleg de lading redelijk dekt?

doet niet aan icons, usertitels of signatures


Verwijderd

Als je serieus wil leren hoe een computer in elkaar steekt, dan kan ik je Structured Computer Organization van A. Tanenbaum aanraden. Is ook in het nederlands vertaald verkrijgbaar als je daar behoefte aan hebt (sommige mensen maakt het niet uit, anderen komen er veel sneller door in het nederlands).

Heb het zelf moeten leren voor m'n informatica opleiding, en heb ook van Tanenbaum college gehad. Voor zover ik weet staat het boek ook bekend als een van de betere boeken op dit gebied. Het gaat best diep in op de stof, maar het verlaat wel na een hoofdstuk het digitale logica deel. Het bouwt zeg maar in lagen op van hardware naar een taal als C.

Als je echt het fijne wil weten van de electronica kant ben je alleen wel aan het verkeerde adres, de uitleg van de digitale 1 en 0 is vrij kort en legt alleen simpel uit hoe je een NAND gate krijgt, de basis van alle gates.

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
Op howstuffworks staat een voorbeeld van een boolean optel unit.

  • rapture
  • Registratie: Februari 2004
  • Laatst online: 13:57

rapture

Zelfs daar netwerken?

Deze tekening staat in m'n cursus van 1stejaars Graduaat MCT:
Afbeeldingslocatie: http://users.skynet.be/rapture/stockage/cpu-optellen.gif
Aan de ingangen A & B komen bitjes die opgeteld willen worden en aan carry-in komt de "carry" binnen als het nodig is. Als hier een carry moet doorgegeven worden, dan gaat het langs de carry-out naar buiten. Dit ding kan dus 1bit met 1bit optellen en rekening houden met "carry".

carry is simpel, maar niet gemakkelijk om uit te leggen. Als je een decimale optelling doet (basisschoolmethode), dan krijg je een oefening 9 + 2 => groter dan 9 kan niet, dus 1 doorgeven en door tellen en je komt nog een 1 tegen => 11. Het doorgeven van een getal als de boel overflowt, noemen we carry.

Om 32bit op te tellen moeten we 32 zulke schakelingen achter elkaar hangen. In m'n ouwe elektronica-cursussen staan transistor/fet-schema's van poorten, meer details bij elektronica.

[ Voor 13% gewijzigd door rapture op 13-02-2005 17:17 ]


  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Verwijderd schreef op zondag 13 februari 2005 @ 16:17:
Als je serieus wil leren hoe een computer in elkaar steekt, dan kan ik je Structured Computer Organization van A. Tanenbaum aanraden. Is ook in het nederlands vertaald verkrijgbaar als je daar behoefte aan hebt (sommige mensen maakt het niet uit, anderen komen er veel sneller door in het nederlands).

Heb het zelf moeten leren voor m'n informatica opleiding, en heb ook van Tanenbaum college gehad. Voor zover ik weet staat het boek ook bekend als een van de betere boeken op dit gebied. Het gaat best diep in op de stof, maar het verlaat wel na een hoofdstuk het digitale logica deel. Het bouwt zeg maar in lagen op van hardware naar een taal als C.

Als je echt het fijne wil weten van de electronica kant ben je alleen wel aan het verkeerde adres, de uitleg van de digitale 1 en 0 is vrij kort en legt alleen simpel uit hoe je een NAND gate krijgt, de basis van alle gates.
Sowieso is dit een boek die je gewoon gelezen moet hebben wil je wat indiepen op hardware. Van school moesten we dit boek destijds kopen en hebben we er ook vakken op gebasseerd gehad (Computer Organisatie 1 en 2, jaar lang dus :P), ik vond dit boek echt dubbel en dwars het geld waard, wat ik niet kan zeggen van de andere boeken die we aan "moesten" schaffen.

  • dion_b
  • Registratie: September 2000
  • Laatst online: 12:55

dion_b

Moderator Harde Waren

say Baah

Verwijderd schreef op zondag 13 februari 2005 @ 16:17:
Als je serieus wil leren hoe een computer in elkaar steekt, dan kan ik je Structured Computer Organization van A. Tanenbaum aanraden. Is ook in het nederlands vertaald verkrijgbaar als je daar behoefte aan hebt (sommige mensen maakt het niet uit, anderen komen er veel sneller door in het nederlands).
Bedenk wel dat Tanenbaum zelf (in het Engels) best boeiend schrijft maar de vertalingen gortdroog zijn :X

M'n vriendin heeft verplicht de NL vertaling van Modern Operating Systems moeten lezen. Ik heb meegelezen, geweldig boek verminkt...

Oslik blyat! Oslik!


Verwijderd

Topicstarter
Allemaal al bedankt voor de snelle reply's. Ik kan er wel wat mee. Als ik ooit eens tijd te veel heb ga ik me er eens rustig verder in verdiepen. (zeker om meer gecompliceerde processorontwerpen te snappen zal ik wat meer tijd moeten uittrekken)

  • Dekaasboer
  • Registratie: Augustus 2003
  • Laatst online: 13:13
Ik wens je veel succes al je een processor wilt snappen, de huidige procs bestaan uit tussen 60-100 miljoen transistortjes.

http://axrotterdam.blogspot.nl


  • FragDaddy
  • Registratie: Mei 2000
  • Laatst online: 07-08 22:15
Dekaasboer schreef op maandag 14 februari 2005 @ 08:48:
Ik wens je veel succes al je een processor wilt snappen, de huidige procs bestaan uit tussen 60-100 miljoen transistortjes.
och. de basis blijft gelijk. een aantal registers en een alu.

Have a wheelie good weekend!


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 08:54

Janoz

Moderator Devschuur®

!litemod

Desalniettemin is het voor de hand liggender en makkelijker om eerst eens een simpel processortje te begrijpen. Zelfs een casio is al redelijk complex.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • rapture
  • Registratie: Februari 2004
  • Laatst online: 13:57

rapture

Zelfs daar netwerken?

Janoz schreef op maandag 14 februari 2005 @ 09:04:
Desalniettemin is het voor de hand liggender en makkelijker om eerst eens een simpel processortje te begrijpen. Zelfs een casio is al redelijk complex.
In middelbaar moest ik nog de basiswerking van een 8bit-cpu van buiten leren, de tijd van de accumulator, registers, alu, program counter,...

  • Sphere-
  • Registratie: November 2003
  • Laatst online: 03-08 18:51
http://computer.howstuffworks.com/boolean.htm

Heb het zelf ook vorige week gelezen, zeer duidelijk :)

edit: oei kzie dat die site al deels gepost is. maargoed kzou toch dat stukje over gates lezen, dan snap je het wat beter

[ Voor 38% gewijzigd door Sphere- op 14-02-2005 20:10 ]

Pagina: 1