MISCE is an educational tool to show how a microprocessor functions. It is aimed at students in the last year of secondary school or first year of University. A background knowledge of electronics and computing is needed. A summary of this material and references to suggested textbooks will shortly be available from the project home page.

A top down approach is taken, concentrating on the control unit. The MISCE design, when built, is not a simulator, It consists of real hardware with blocks of 8 LEDs to show the contents of registers and memories.

HLT_bus1_8v14.JPG

Photo 2.

MISCE uses a minimum instruction set, of just 7 Opcodes, which is nevertheless capable, in principle, of computing the solution of any algorithmically solvable problem. This minimum instruction set means that only a minimum of hardware is necessary, in particular the arithmetic and logic unit is extremely simple.

Instruction Set
  • LDA
  • STO
  • INC
  • DEC
  • JMP
  • JMZ
  • HLT

Hardware

The hardware consists only of:
  • 2 types of register,
  • EEPROM chips
  • and a few logic gates and bistables.

Data and addresses are all 1 byte wide.

The basic form of MISCE has no input or output functions, yet demonstrates the fetch/execute cycle. Photo 2 shows this set up. The addition of an extra circuit board gives input and output via a DIP “keyboard” and LED “monitor”, plus an interrupt. The input/output facility allows complete communication with a PC via the parallel port, and hence MISC can load a program into itself using a 4 byte “loader” program.

Slide 1 shows the architecture of the basic setup, the dotted lines show the 4 circuit boards : - ( anti-clockwise from top right ) Memory, Registers, Arithmetic & Logic Unit, and Control Unit. The interconnecting arrows show the main and the 2 subsidiary buses, and the directions of data flow. There are just 5 registers, 1 Main Memory (MM) chip, and 2 Control Unit PROM chips. (All 3 memory chips are actually identical EEPROMs.) The Control Unit is programmable, so that users can write their own Opcodes and instruction sets.

Slide1 (Small).JPG

Slide1.JPG

The AR is the Address Register, PC the Program Counter (Instruction Pointer), IR is the Instruction Register (which holds the Data/operand), AL is the Arithmetic & Logic Unit, which is just a single register. CC is the Control Counter.

The AR and IR registers are just 8 bit latches with Tristate outputs (40373, see appendix B- to be added later).

The PC, AL and CC registers are up/ down counters with parallel load function (Each is two 4 bit 74193s in series (see appendix B- to be added later); to give Tristate outputs a 40373 is needed in parallel)

The 8 data lines from each of the 2 Control Unit PROM chips give 16 control lines (shown as circles above the 2 CU PROMs on Slide 1) The symbols below each of the other components in the system ( 16 of them) show where these control lines go. AR(1) in: MM(2) write, read: PC(4) in, out, 1, in if AL =0: IR(2) in, out :AL(4) in, out, 1,-1: CC (2) in, set 0 : Clock (1) halt. The Clock output goes to the +1 input of the CC, the Clock can provide single (press) pulses or run continuously.



Last edited Dec 15, 2008 at 10:25 AM by dmgant, version 12

Comments

No comments yet.