Designing a 1 bit cpu ?

While there aren't any one bit CPUs, there are a couple of dozen CPU designs at

formatting link
from eight-bit PIC and AVR compatibles to

32 bit designs, most with source in Verilog or VHDL.

One bit CPUs are largely pointless. First, you're almost certainly talking about a microcontroller architecture, so only data memory and registers are actually one bit wide, and the trade off for program size vs. the (few) gates saved in the ALU will be really bad for almost all applications. There are a few uses of four-bit microcontrollers but only where the very small cost differential from an eight-bit can be collected over a very large number of units made, and then they're only applicable to a rather small number of applications.

However, a simple RISC or eight-bitter is well within the capabilities of someone with some background designing stuff ASICs or using the larger programmable logic parts, and with a few free months on their hands. You will quickly discover that the problem is not getting a CPU to execute a few opcodes, but building a software tool-chain so that you can do anything interesting with it.

Reply to
robertwessel2
Loading thread data ...

I like the idea of a two-bit cpu much better. I bet you'll soon be able to get uCs in volume for a quarter.

--
Regards,
  Bob Monsen

If a little knowledge is dangerous, where is the man who has
so much as to be out of danger?
                                  Thomas Henry Huxley, 1877
Reply to
Bob Monsen

Sorry, a silly pun, two bits is a quarter for people born during the dark ages.

--
Regards,
  Bob Monsen

If a little knowledge is dangerous, where is the man who has
so much as to be out of danger?
                                  Thomas Henry Huxley, 1877
Reply to
Bob Monsen

to

Is that 1 bit serial or parallel?

Reply to
jabara

Its been done. Have you seen the MC14500B?

formatting link

Reply to
John Popelish

Among the possible futilities would foremost be the need for serializing data, (with architecture and speed overhead), to express a range greater then 1. Without this, you have at best 2 registers, and

2 memory locations, and one command (reserving the 0 for the nop). I'm pretty sure now that when you explore this idea deeply enough, you can reduce it to a flip-flop for simplicity, and your competitors will come out with a NAND gate that can do the same job much faster. Even if you tossed out the NOP command to extend the languange to two operations I'm certain that all this chip could do is chase it's tail.

Your's is a good question though, and fun to ponder.

Agent X

Reply to
grunt

Motorola had a 1 bit cpu for sale in the late 1970's I believe. The part number was something like the 14001 if I have not forgotten, not to be confused with the 4001.

I think I remember you used an external n bit counter for the program counter, that continually incremented. That streamed 4 bit instructions out of a program rom to feed the processor. The data path was one bit wide. Branches were implemented with an internal flip flop that would put the processor into "skip mode" where it would ignore instructions until it reached an instruction that toggeled the flip flop back. Both 0000 and 1111 were treated as no-ops, so that you didn't have to program the whole rom, and so you could use roms with either high or low bits in the unprogrammed state.

Years ago I had the data manual for this but I doubt I could find it again. Finding and reading that might give you some ideas.

Depends on how much experience you have writing VHDL.

Reply to
Don Taylor

Isn't that the whole point behind VHDL and Verilog?

It's been done.

Define "1-bit". The PDP-8I (or was it E) had a 1-bit ALU. If you're looking at one-bit "registers", Google "touring machine".

Why? Sounds boring.

Certainly. That's my choice of HDL.

It depends on your definition of "1 bit CPU" and how much money you have. I already have a day job though. ;-)

--
  Keith
Reply to
keith

Serial in, parallel out. ;-)

--
  Keith
Reply to
keith

=D

but

next

;-)

PDP8, gad I had forgotten those. Paper Tape Reader? Extra Point Question: Name a code used on the paper tape storage.

Reply to
jabara

That's been done a thousand times.

No, one bit works. As I said before, one of the PDP8's had a single-bit (serial) ALU. It is *not* something new.

Trivial. Do you want to that to go on forever, or is there some condition that makes it stop so you can at least figure out what sign the result is? ;-)

--
  Keith
Reply to
keith

Hi,

I just learned that electronics can be designed via languages... COOL =D

This is related to the variable bit cpu.

Can you design a 1 bit cpu ? (I could help you with some concepts/designs to get it going :D)

Ofcourse first we have to work out a bit more how it would all work but still..

Do you think you could do it in say VHDL ? ;)

How long would it take you to design a 1 bit cpu ? :)

Bye, Skybuck =D

Reply to
Skybuck Flying

to

Yawn..

try Motorola MC14500BCP.. they did it over 20 years ago..

Reply to
TheDoc

concepts/designs

I get it, good joke ;)

Though in serial... it should remember the carry. And when it does the next calculation it takes carry into account ;)

Maybe I should have called it a two bit cpu.

It's like this:

-- bitstream A --->

add CPU -- bitstream C --->

-- bitstream B --->

Bye, Skybuck.

Reply to
Skybuck Flying

concepts/designs to

You might be right about that...

See my other post... where I explain further ;)

Maybe it should have been called a 2 bit cpu ;)

Or did you mean something else ?

Bye, Skybuck.

Reply to
Skybuck Flying

=D

but

next

;-)

All bitstreams are interleaved with "markers"

For example:

Encoding 1:

Data: ddddddeeeeeeefff Markers:

000001000001001

(one ending marker)

Alternatively:

Encoding 2:

Data: ddddddeeeeeeefff Markers:

100001100001101

(start and stop marker)

Encoding 3:

Data:

0dddddd0eeeeeee0fff0 Markers: 0111111011111101110

Data and Marker fields seperated by zero content and zero marker.

All content bits have an interleaved 1 marker bit.

In all cases it's easy for the CPU to detect when the end of a field in the bitstream has been reached.

Once the end of a bitstream is reached the cpu will replace the register with zero in case of addition.

The other bitstream will simply continue.

This would allow variable bit length fields to be streamed through the processor and create a bitstream out...

So in otherwords variable bit stream addition etc.

Bye, Skybuck.

Reply to
Skybuck Flying

concepts/designs

Can it do infinite integer arithmetic ? ;)

Bye, Skybuck.

Reply to
Skybuck Flying

concepts/designs to

Can it do infinite integer arithmetic ?

Bye, Skybuck.

Reply to
Skybuck Flying

Look up the MC14500B.

Tim.

Reply to
Tim Shoppa

concepts/designs to

Read up on the marker concept ;)

Actually I don't blame you for not knowing it.

I just reinvented it a day ago.

1 bit cpu's aren't as limited as you might now think.

They can do conceptually anything that modern intel pentium's or athlon's can do and even beyond, since they allow infinite integers and rational numbers ;)

Bye, Skybuck.

Reply to
Skybuck Flying

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.