De mechanische CPU kloksnelheid toont de elementaire bouwstenen van een CPU (ALU, bussen, RAM, registers en een controle-eenheid). Het voert een reeks instructies die een eenvoudige Wandklok zal emuleren.
De inspiratie voor dit project vandaan proberen te leren van mijn zoon en dochter over de werking van een computer (in feite, ik was altijd gefascineerd door mechanische computers en klokken, maar ik moest mijn vrouw een beter excuus geven voor het kopen van een laser cutter speciaal voor dit project). Nadat we rond het web op verschillende mechanische computers, kon ik niet vinden iets dat alle onderdelen van CPU vertegenwoordigd. Echter, ik trek mijn inspiratie uit de volgende projecten (en derivaten daarvan):
Marmer machine toe te voegen: www.youtube.com/watch?v=GcDshWmhF4A
DigicompII: http://digi-compii.com/
Bal logica: http://brain.wireos.com/?p=2207
In de volgende secties, die ik proberen zal uit te leggen hoe alles werkt als het wordt gebouwd. Ik ben niet van plan om te gaan diep in het onderwerp van de informatica en met opzet zal proberen om te voorkomen dat sommige termen, om niet verwarren de beginnende lezer. Als ik gebruik eventuele voorwaarden, zal ik proberen uit te leggen hen gewoon. Er kunnen echter enkele nodig achtergrond informatie dat ik missen zal, dus aarzel niet om contact met mij op over het proberen uit te leggen van de concepten in meer details (ik niet beloven niets, maar ik zal mijn best doen). Zelfs als je niet gaat om te bouwen van de klok, gaan door de secties zal helpen in het begrip van de werking van de klok/CPU (de build secties zal gaan over de concepten van ALU, RAM, registreren, controle eenheid en bussen). Nogmaals, een van de redenen voor dit project was om mensen om te begrijpen hoe een CPU (het hart van een computer) werkt.
Meer details over de klok kunnen hier worden gevonden: http://www.liorelazary.com/index.php?option=com_content&view=article&id=46:mechanical-cpu-kloksnelheid & catid = 10:clocks & Itemid = 15
123D: http://www.123dapp.com/idw-3D-Model/Mechanical-CPU-Clock/604647
De leestijd (http://www.youtube.com/watch?v=iFKargQxN8k) :
De tijd (uur) wordt gelezen in binaire (http://en.wikipedia.org/wiki/Binary_numeral_system) uit het middelste register (register A, zoekt het hoogtepunt in de video waar register A bedraagt). Opmerking de positie van de 4 flip-flops (de 4 ondersteboven rode T hefbomen). Als een hefboom is naar rechts wijzen, is het cijfer 0, als het aan de linkerkant dan is het een 1. Noteer de cijfers uit elk van de 4 flip-flops, van boven naar beneden. Vervolgens herschrijven het nummer van links naar rechts door roterende 90 graden naar rechts, zodat links meeste cijfers uit de bodem en het juiste cijfer vanaf de bovenkant is. Bijvoorbeeld. Als de klok de flips-flops op deze positie heeft:
flip-flop 1 wijzen links == 1
flip-flop 2 wijzen links == 1
flip-flop 3 wijzen links == 1
flip-flop 4 wijzen recht == 0
die is herschreven om: 0111 die is een binaire vertegenwoordiging van 7 decimaal. De tijd is dus 7 uur.
Om te transformeren van binair naar decimaal (het talstelsel dat mensen gewend zijn):
er 1 bij optellen als de bovenste wijzerplaat naar links verwijst of niets als haar gericht is naar de rechterzijde
2 als het tweede wiel is verwijzen naar links of niets als toevoegen zijn gericht is naar de rechterzijde
4 als het derde wiel naar de linkerkant verwijst of niets als toevoegen zijn gericht is naar de rechterzijde
8 toevoegen als het weer dial wijst aan de linker- of niets als haar gericht is naar de rechterzijde
Dus in het bovenstaande voorbeeld naar vertaalt: 1 + 2 + 4 + niets = 7 decimale
Hier is een eenvoudige conversie van binair naar decimaal. Dus als register A heeft
0000 is 0, maar de 12 in het geval van de klok
0001 is 1
0010 is 2
0011 is 3
0100 is 4
0101 is 5
0110 is 6
0111 is 7
1000 is 8
1001 is 9
1010 is 10
1011 is 11
In de video gaat de klok via een volledige cyclus, 0,1, 2... 11 en terug naar 0, zo zie als u kunt volgen.
De notulen kunnen ook worden gelezen vanaf de positie van de bal en de hendel (een beetje moeilijk te zien in de video). De getallen op de buitenkant geven de notulen in HEX formaat. Om het getal te converteren naar een decimaal getal (het talstelsel die we gewend zijn) u neem het eerste cijfer links vermenigvuldigen die door 16 en voeg het juiste cijfer.
Voorbeeld: 32 in HEX = 3 * 16 + 2 = 50 in decimale notatie
00 is 12, 05 is 5, 0A is 10, 0F is 15, 14 is 20, enz.