MARIE Microcode Marie Simple CPU - For Microcoding PC Ld Inc Out Clr IR Ld Out Hand Out Hand[12] IR(15..12)[4] to decoder 0b11 IR(11..8)[4] to decoder 0b10 Result Ld Out Clr Is Zero ALU ALU Ctl 0..3 XXaa xxYY mmDD AC Ld Out Out To ALU Inc Clr Microcode Address 256 Words Data 64 bits wide Microcode PC Ld Clr In[8] Out Out[8] 00 Decoder Ctl[2] ALU Ctl[4] Memory Read Memory Write PC[4] Ld/Inc/Out/Clr IR[3] Ld/Out/Hand_Out Result[3] Ld/Clr/Out MAR[2] Ld/Out MDR[2] Ld/Out AC[3] Ld/Out/Out_to_ALU Output[2] Ld/Out Input[2] Ld/Out Microcode PC[2] Ld/Clr Out[8] Addr Out Inc Microcode PC 01 10 11 Decoder MUX Ctl Bus MAR Ld Out MDR Ld Out Main Memory Address 8K Words Data 16 bits wide Read Write Output Ld Out Input Ld Out 0 0 0 0 1 1 1 1 Logic Probe Help Clear Lines Load Memory Load Microcode Step Tick Step Instruction Run Reset Input Setup / Test Logic Probe Show Memory Assmbl MARIE Assmbl M.C. Halt Run Fetch Execute Error OK