Designing a 1 bit cpu ?

Snip

I think you mean Turing Machine (named after British mathematician).

It's a theoretical 1 bit machine and the point is that it can do anything that a more complex machine can (but not always efficiently).

Michael Kellett

Reply to
MK
Loading thread data ...

Of course, given enough time.

Reply to
Paul Burke

I believe this is called a "Turing Machine". The concept is of a tiny robot following a paper tape with a pattern of 1's and 0's printed on it, making decisions about what to do next based on the current direction and state of the bit under it.

It's somewhat of a laboratory curiousity. I think it has been proven that there is no theoretical limit to the size of the bit pattern, but it is unclear to me how you would translate any meaningful data in or out to make it do work for you.

I guess it's RISC taken to the extreme. If you could get data in and out of it, it would take a ridiculous number of operations to perform even simple tasks. As a practical matter, I think

4 bits is about the level where binary processing starts to become a reasonable thing.
Reply to
Ol' Duffer

=D

Yes my interleaved marker idea would turn the turing machine into a very efficient machine.

Instead of 1 milion one's plus one zero to express one milion, only 20 bits would be needed to express 1 million.

data:

10000 00000 marker: 00000 00001

data and marked interleaved:

10000 00000 00000 00001

Bye, Skybuck.

Reply to
Skybuck Flying

Thanks! I remember when those came out. Our engineer came into the lab scratching his head, with some industry magazine, and said that they'd just announced a one-bit microprocessor. "One bit," he muses, "imagine that". One of the techs says, "Well, yeah, there's a lot you can do with one bit. You can complement it, ... ?:-| "

Cheers! Rich

Reply to
Rich Grise

Only in infinite time.

Reply to
John Popelish

You're going to have to explain your "markers" better.

Note: The markers cannot be data dependant. SDLC used, IIRC, six '1's in a row as a marker. If five ones were encountered in a data stream the sixth digit was an inserted '0'. If the receiver saw 1111101 it know it was really 111111 (and 1111100 => 111110). If the receiver saw

111111 it knew it was a field marker. < snipped incomprehensible marker examples >

I don't understand.

If you say so. I don't see it. Maybe its the medium here.

This is simple to do. The VHDL is easy, if I understood your markers.

--
  Keith
Reply to
Keith Williams

Binary. ;-)

--
  Keith
Reply to
Keith Williams

About 25 years ago, Motorola actually sold such a thing.

Tam

Reply to
Tam/WB2TT

It's more usually described as a read-write head, not a robot, but the idea is the exact same.

That isn't the point. It was devised as a thought experiment by Alan Turing, the father of computer science, to help him formalize the notion of 'effective computability'. It isn't meant to do real work, although it can run any program any other computer can run.

It depends on the details of how the chip is used. The Motorola MC14500B is a real-world one bit CPU used in industrial control.

formatting link
formatting link
formatting link

(That last link includes the chip's ISA, a data sheet, and some untested VHDL code that might implement the chip.)

----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==----

formatting link
The #1 Newsgroup Service in the World! 120,000+ Newsgroups

----= East and West-Coast Server Farms - Total Privacy via Encryption =----

Reply to
Chris Barts

COOL

work

the

single-bit

condition

is?

Ok, fair enough.

Three different encodings could be used.

  1. The first encoding method:

data: dddddeeeefff

markers:

000010001001

data/markers interleaved: d0d0d0d0d1e0e0e0e1f0f0f1

  1. The second encoding method:

data: dddddeeeefff

markers:

100011001101

data/markers interleaved: d1d0d0d0d1e1e0e0e1f1f0f1

  1. The third encoding method:

data:

0ddddd0eeee0fff0

markers:

0111110111101110

data/markers interleaved:

00d1d1d1d1d100e1e1e1e100f1f1f100

Above I have presented 3 different encoding methods.

Each encoding method has certain properties.

ddddd is a 5 bit field eeee is a 4 bit field fff is a 3 bit field

These fields contain information/data/content etc.

The bits of these fields are interleaved with the markers.

As shown in the examples above.

This encoding will allow a very simply variable bit streaming cpu ;) :)

The first thing I have to work out is how to communicate with main memory etc.

the

Since the data and marker bits are interleaved the only thing a cpu has to do to detect the end of a field is (for encoding 1):

repeat read data_bit; read marker_bit; until marker_bit = 1;

It's that easy ! ;)

Ok, let's forget the story about multiple read and write heads.

Let's first focus on a simple turing machine with this encoding ;)

So only one read and write head... something like that ;)

But as I said above for my turing machine to work I need a way to communicate with main memory ;)

Bye, Skybuck.

Reply to
Skybuck Flying

=D

concepts/designs to

Ok, for some reason I couldn't download it with my zone alarm pro firewall on... (it would just loop in circles to the html)

But after turning the firewall off I could download it :)

It's a cool little chip, which reminds me of the some level of a game called katakis on the c64 :)

Anyway... looking at figure 2 it says 8 bit addressable latch etc.

So the fun part is it's still stuck to 8 bit addressess ;)

In principle my variable bit cpu transmits the bit addresss with the encoding as well... so that means variable bit address in serial.

I still have to figure out how to communicatie with main memory... via a few wires... and also what the logic of the main memory chip would be :)

Ofcourse my variable bit chip will be nothing like this little chippie ;)

My variable bit chip will be able to do variable bit integer math and booleans and compares/jumps.

So at least at those subjects it can do just as much as an intel pentium 4 or athlon x2 :):):):)

Maybe a bit slower, maybe a bit faster... that remains an open question :)

For example by using a clock it might be slower, by using no clock and async logic it might be as fast as transistors allow divide by the number of instructions necessary etc ;)

Bye, Skybuck.

Reply to
Skybuck Flying

No, it's not. They just use the "8-bit addressable latch" to provide

8 independent outputs - actually, each 8BAL has a 3-bit address. As far as the program counter and instruction memory, it can be any arbitrary width that you want.

This is another thing. The 14500 never strung bits together serially to do data manipulation with them - it was more like a state machine. You'll notice they call it an "Industrial control unit", and not a "1-bit microprocessor."

The first computer I ever played with was in high school - a Control Data/Bendix G-15. It had a one-bit ALU, but used 29-bit words, and did everything serially. The main memory was a drum, and it continuously read and re-wrote the data:

formatting link

Why are you trying to reinvent the wheel anyway? :-)

Thanks, Rich

Reply to
Rich Grise

So did NEC.

Ken

but

Reply to
Ken Taylor

little-endian.

--
	mac the naïf
Reply to
Alex Colvin

Does that mean the 0 is stored after the 1 ?

--
Reinhardt Behm, Nauheim, Germany, reinhardt.behm@t-online.de
Reply to
Reinardt Behm

Baudot

--
Link to my "Computers for disabled Veterans" project website deleted
after threats were telephoned to my church.

Michael A. Terrell
Central Florida
Reply to
Michael A. Terrell

"Skybuck Flying" schreef in bericht news:dcn0qi$l8q$ snipped-for-privacy@news3.zwoll.ov.home.nl...

=D

There is really no difference in a processor that handles 32 bits at once or only 1 bit at once. An athlon/pentium whatever can add a gazillion bits if you want to.

This 1 bit stuff is some ancient thing to preserve silicon in times it was still very expensive. And I have done a serial, 1 bit at a time processor in VHDL, working on a real FPGA. (To be exact, for fun, I re-implemented the logic of a Hewlett Packard HP-35 calculator, all with info from the patents).

Allowing infinite integers? That means the processor has to process an infinite number of bits, that takes inifitinily long. Again, it does not matter whether the CPU is processing 1 bit,32,128 or hell, even 3 gigabits at a time.

Reply to
Jeroen

COOL

I'm

come

you

athlon's

or

in

Could your 1 bit cpu do for example 1000 bits math calculations ?

It's about flexibility and easy of use. Sure I can do infinite math on a 32 bit cpu... But then I have to f*ck around with the registers... I don't want that :)

Bye, Skybuck.

Reply to
Skybuck Flying

"Skybuck Flying" schreef in bericht news:dcvhu8$u7a$ snipped-for-privacy@news1.zwoll.ov.home.nl...

a

and

can

rational

once

if

was

processor

the

It's not a 1 bit processor, actually 48 bits (12 digits BCD), but it processes 1 bit at time. But the adder inside the logic could keep on adding A and B together forever.

gigabits

32

want

And how many register does you 1 bit CPU have?

Reply to
Jeroen

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.