MPC-1 (MicroProCessor -1) PC (Program Counter) x Telt van 0000 tot 1111, dus hexadecimaal van 0 tot F. x Wordt vóór iedere computerrun op 0000 gereset. x Bevat bij het begin van iedere ophaalcyclus het adres van de huidige instructie MAR (Memory Address Register) x Ontvangt binaire adressen van Program Counter x Leest instructies (ROM woorden) van die adressen PROM (Programmable Read-Only Memory) x Bevat ROM woorden van 8 bytes IR (Instruction Register) x Splitst de ROM woorden: - Most Significant Bits: opcode van 4 bytes - Least Significant Bits: adres van 4 bytes CON (Control Unit) (!!!) x Reset IR en PC aan het begin van een computerrun met CLR-signaal x Stuurt klokimpulsen naar alle registers zodat alles synchroon loopt x Bepaalt uit de opcode hoe alle apparaten zich moeten gedragen x Het CON uitgangssignaal is een 12 bit stuurwoord met instructies voor alle registers: CON = CPEPLMER LIEILAEA SUEULBLO x Dit bepaalt hoe de registers op de volgende positieve klokflank zullen reageren Zo betekent bijvoorbeeld CP hoog dat de programmateller met één wordt vermeerderd, EP en LM hoog wil zeggen dat de inhoud van de PC in het MAR wordt geladen, enz. CON dirigeert al de diverse onderdelen van de MPC-1 computer A x (Accumulator) Slaat tussenliggende waarde op gedurende de computerrun ALU x (Arithmetic-Logic unit) Bevat een 2-complement opteller/ aftrekker: - Als het signaal op de aftrekingang (Su) laag is, maakt de ALU de som met B - Wanneer Su hoog is, krijgt u het algebraïsch verschil met B. B (B-register) Tijdelijke opslagplaats voor het getal dat bij A moet opgeteld of afgetrokken worden O D x x (Output register) Uitvoer van de uitkomstwaarde naar de buitenwereld (D) x (Binary display) Toont de uitkomstwaarde in 8 LEDs, dus binair Instructieset: Mnemonics (assembly) LDA ADD SUB OUT HLT Voorbeeld: op-code (binair) 0000 0001 0010 1110 1111 Functie Laad accumulator met inhoud van RX (= ROM adres #X) Tel inhoud van RX bij inhoud van de accumulator op Trek inhoud van RX van inhoud van de accumulator af Laad accumulatorinhoud in het uitvoerregister Zet de dataverwerking stop (einde programma) R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 RA RB RC RD RE RF 0000 1111 0001 1110 0010 1101 1110 xxxx 1111 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 0010 0101 0011 1101 0001 0100 LDA RF ADD RE SUB RD OUT HLT 37 61 20