0

It's demanded to design a simplified machine (computer) and its emulator. First I need to do the design of this machine and here is some ideas I've thought about:

  • Components: main memory, ALU, RI, RIM, RAM, CO, ACC
  • Instruction of 16bits
  • Instruction format: I'm thinking about making two address instructions but still thinking about the positioning of each field of the instruction
  • Instruction set: addition, subtraction, shift, logic AND and OR, store and load the accumulator data, conditional and unconditional jump, (multiplication and division: I'm not very confident about these two because they seem to be a bit complicated)

Problems I've come across:

  • I find this first approach very simple and want to develop it a bit more but it should still be easy to make its emulator and not very complicated.
  • I want to add more registers like index register, general purpose register but I don't know if that would be hard to do.
  • I can't find enough resources to get more ideas for the design of the machine.
  • For the emulator I don't really know where to start and which programming language

1 Answers1

1

There are tools available which you may be able to use or adapt for your course. Specifically I am thinking of Nand To Tetris. I began the course many years ago but did not finish. I also build some of the early parts in Logisim, may be too low-level for what you are looking for, or it may be useful for building your project as I see "Andy" built a CPU using Logisim.

From the Site:

The site contains all the project materials and tools necessary for building a general-purpose computer system and a modern software hierarchy from the ground up.

The materials are aimed at students, instructors, and self-learners. Everything is free and open-source, as long as you operate in a non-profit, educational setting.

The materials also support two courses that we now teach on-line: Nand2Tetris Part I (hardware projects/chapters 1-6), and Nand2Tetris Part II (software projects/chapters 7-12). These courses are aimed at learners who wish to take the course at their own pace.

Nand to Tetris courses are taught at 400+ universities, high schools, and bootcamps. The students who take them range from high schoolers to Ph.D. students to Google engineers. Here is the extended course syllabus.

​Instructors: For additional course materials, contact schocken@gmail.com

I recall getting stuck at one point when there was only the book, but Coursera later hosted a course on this and the videos were very helpful.

At the least, you may get some ideas or inspiration from these resources.

srattigan
  • 744
  • 3
  • 11