A student's question

C

Chen Bin

Hi,
I am a colledge student,one of my dreams is to design a 16-bit CPU,it has
some basic functions,such as arithmatic and MMU and so on.

But I don't have any idea how to get it.Can you give some suggestions about
it?

I mean,what steps should I take to obtain this dream,and at each step,which
book should I read,how long will I get the dream?

Any help appreciated!!

This is a cry from a puzzled student for your help.

Chen Bin
 
J

Jon

Hi Chen Bin,
I would suggest that you take some classes in computer architecture
to understand how many advanced processor are implemented. Also take
a class in digital design which usually covers ALU / Microprocessor
design.

Jon
 
C

Chen Bin

Hi Jon,

I am in China,and universities in our coutry only teach us how to pass their
exam,not to teach us how to do it.
By the way,I have studied digital design and Computer Architecture,what is
the next step?

I mean,book,emulator,compiler,tools,hardware,language...

Thank you!

Chen Bin
 
R

Ralf Hildebrandt

Hi Chen!

I am a colledge student,one of my dreams is to design a 16-bit CPU,it has
some basic functions,such as arithmatic and MMU and so on.

Is it "your own CPU" or a implementation of an already developed CPU
(like x86-compatible)?

If it is the second, read the users manual and study the assembler. Next
step is to decode every instruction. After this, it should be possible
to develop a data path.

If it is your own CPU, take a look at other CPU manuals, expecially the
assembler.

Ralf
 
P

Pedro Claro

Hi,

Last year I created a so-called mini CPU. It made simple operations, like
writing and reading for memory, adding, subtracting, shifting, etc.
Well in this CPU I created these blocks:

ALU
StateMachine (core of the CPU)
MMU
RAM
Inport Block (reads data)
Outport Block (writes data)
Register Blocks
and other relative simple logic blocks

With this blocks you can create a simple CPU.
The statemachine i created controlled all of the operations.
You have first to define the format of the input data.
In my case I had a 16 bit bus with 8 bits for the operation and
8 bits for data. Something like:

0001 0011 -> mov ra,1

And the statemachine detects this operation and controls all the other
blocks for doing this.

I think you got the picture. Remember that this CPU (if you can call it)
was really very simple.

Pedro Claro

Yes, I
 
P

Pedro Claro

Hi,

Okay, I will try to explain it.
Okay first i developed the architecture.
You need something to store a program (a set of assembly instructions)->
a memory block. Then something to store values that you need to compute ->
a GPR (group of registers). You also need something to compute the values ->
an ALU. You need a block to control all of these things (i find it easier
to do a statemachine).

First I think it's better if you try to build a simple ALU that takes two
operatands and one operator. If you can make the ALU work then you can go
to the next step, building the register block. Try to store values in the
registers and then make the ALU get them. After this, try to make a
statemachine giving orders and getting values from the GPR to the ALU and then
get the result. This result should be also stored in a register.
Play around with this blocks and then you will see that you can complicate
things more.

Pedro Claro
 
K

Kot

Hi, Chen Bin,

How about doing it together?
I'm an engineer who happen to be doing digital
designs in vhdl. I also was thinking about making a
very simple processor. Of course there're free open cores
but I think it worth it to do it myself.

If you want to do it then email me at (e-mail address removed)
with "VHDL - Processor" in subject line.

Jihwan Song
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top