The variable bit cpu
CASTalk.com Forum Index CASTalk.com
Discussion of DSP, FPGA, storage and embedded system.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web castalk.com
The variable bit cpu

 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Computer Architecture
Author Message
Skybuck Flying
Guest





Posted: Sat Jul 30, 2005 11:54 pm    Post subject: The variable bit cpu Reply with quote

Hi,

I think I might have just invented the variable bit cpu :)

It works simply like this:

Each "data bit" has a "meta data bit".

The meta data bit describes if the bit is the ending bit of a possibly large
structure/field.

The meta bits together form a sort of bit mask or bit pattern.

For example the idea is best seen when putting the data bits
and meta bits below each other.

data bits: 01110101110101101010101
meta bits: 00000000100010001100001

In reality the data bit and meta bit are grouped together as a single entity
which can be read into the cpu since otherwise the cpu would not know where
to start reading the data or meta bits. Now it simplies start with the first
data + meta bit pair.

Because a cpu might need to know the length of the bit field up front the
cpu/algorithm works simply as follows:

The cpu starts reading data and meta bits until it reaches a meta bit of 1.

All bits that form the variable bit field are now read and can be used etc.

The above example then looks like this:

data bits: 011101011#1010#1101#0#10101
meta bits: 000000001#0001#0001#1#00001

(The # sign is too indicate to you where the variable bit fields are.)

Notice how even single bit fields are possible.

The reason for the variable bit cpu with variable bit software is too save
costs and to make computers/software even more powerfull and usefull ;)

For example:

Currently fixed bitsoftware has to be re-written or modified, re-compiled,
re-documented, re-distributed, re-installed, re-configured when it's fixed
bit limit is reached and has to be increased for example from 32 bit to 64
bit etc.

Example are windows xp 32 to 64 bit, the internet IPv4 to IPv6.

Bye,
Skybuck.
Back to top
George Coulouris
Guest





Posted: Sun Jul 31, 2005 12:15 am    Post subject: Re: The variable bit cpu Reply with quote

On 2005-07-30, Skybuck Flying <nospam@hotmail.com> wrote:
Quote:
Hi,

I think I might have just invented

Infamous first words. Whenever I think that, I start reading, rather
than writing :)

Quote:
the variable bit cpu :)

http://groups.google.com/group/comp.arch/search?q=bit-addressable+architectures

--
George Coulouris
remove s to reply
not speaking for ncbi
Back to top
Skybuck Flying
Guest





Posted: Sun Jul 31, 2005 12:15 am    Post subject: Re: The variable bit cpu Reply with quote

"George Coulouris" <coulouris@ncbi.nlm.nih.gov> wrote in message
news:slrndens9e.v1j.coulouris@lacerta.nlm.nih.gov...
Quote:
On 2005-07-30, Skybuck Flying <nospam@hotmail.com> wrote:
Hi,

I think I might have just invented

Infamous first words. Whenever I think that, I start reading, rather
than writing :)

I would definetly not be surprised if other people had the same idea.

Though has anyone come up with a simple implementation of this idea ? ;)

I have provided my simply implementation theory of this idea: the variable
bit field format.

Quote:

the variable bit cpu :)


http://groups.google.com/group/comp.arch/search?q=bit-addressable+architectures


Via your link I searched for iAPX 432 and found this link:

http://en.wikipedia.org/wiki/Intel_iAPX_432

It mentions that the instructions where bit variable... however can data be
bit variable as well ? (probably?;))

The big question on my mind is: How did it encode the variable bit
instructions... and/or variable bit data ?

I think my idea is pretty simply though... I wonder about their idea ;)

Ofcourse I have just started investigating this matter ;)

Bye,
Skybuck.
Back to top
John R. Levine
Guest





Posted: Sun Jul 31, 2005 12:15 am    Post subject: Re: The variable bit cpu Reply with quote

Quote:
I would definitly not be surprised if other people had the same idea.

Though has anyone come up with a simple implementation of this idea ? ;)

I don't know whether you would count the Burroughs B1700 as simple,
but it was a bit-addressable computer that was commercially available
in the 1970s. It used reloadable microcode so it had one instruction
set for Fortran, one for Cobol, one for the operating system, and so
forth. Back in the good old days of decimal computing, there were
plenty of digit addressable variable length data computers, with the
IBM 1620 being the best known.

Bit addressable architectures make sense when memory is expensive and
slow, so you want to minimize the amount you use and you can do
several computation steps while waiting for the next memory cycle to
align and prepare your data, and your internal processor is narrow so
you have to do arithmetic serially anyway. All of those stopped being
true more than a decade ago so nobody has any interest in bit
addressability any more except perhaps for some specialized embedded
applications where the data is natually a bit at a time.

Regards,
John Levine, johnl@iecc.com, Primary Perpetrator of "The Internet for Dummies",
Information Superhighwayman wanna-be, http://www.johnlevine.com, Mayor
"More Wiener schnitzel, please", said Tom, revealingly.
Back to top
John Savard
Guest





Posted: Sun Jul 31, 2005 8:15 am    Post subject: Re: The variable bit cpu Reply with quote

On Sat, 30 Jul 2005 20:54:02 +0200, "Skybuck Flying"
<nospam@hotmail.com> wrote, in part:

Quote:
It works simply like this:

Each "data bit" has a "meta data bit".

The meta data bit describes if the bit is the ending bit of a possibly large
structure/field.

Nobody did that before.

But IBM came close when it invented the IBM 1401. It added one bit to
show where fields begin to each 6-bit character.

On my web pages, at

http://www.quadibloc.com/arch/ar0504.htm

I discuss a completely different approach to a CPU with variable bit
length... designed to be efficient with 8-bit/32-bit based memory.

John Savard
http://www.quadibloc.com/index.html
_________________________________________
Usenet Zone Free Binaries Usenet Server
More than 120,000 groups
Unlimited download
http://www.usenetzone.com to open account
Back to top
Skybuck Flying
Guest





Posted: Sun Jul 31, 2005 8:15 am    Post subject: Re: The variable bit cpu Reply with quote

How about this new encoding scheme:

type field + type marker + length field + length marker + data

Example:
1 bit + 1 bit + 20 bits + 20 bits + 1 milion bits

The first 4 fields use the original encoding for flexibility.

Since now the length of the data is known the data itself does not need any
markers.

( Instead of meta bits I now call them markers a term borried from the IBM's
1401 reference manual ;) )

The type field is to indicate the encoding method.

Bye,
Skybuck.

"John Savard" <jsavard@excxn.aNOSPAMb.cdn.invalid> wrote in message
news:42ec5d8d.490145@news.usenetzone.com...
Quote:
On Sat, 30 Jul 2005 20:54:02 +0200, "Skybuck Flying"
nospam@hotmail.com> wrote, in part:

It works simply like this:

Each "data bit" has a "meta data bit".

The meta data bit describes if the bit is the ending bit of a possibly
large
structure/field.

Nobody did that before.

But IBM came close when it invented the IBM 1401. It added one bit to
show where fields begin to each 6-bit character.

On my web pages, at

http://www.quadibloc.com/arch/ar0504.htm

I discuss a completely different approach to a CPU with variable bit
length... designed to be efficient with 8-bit/32-bit based memory.

John Savard
http://www.quadibloc.com/index.html
_________________________________________
Usenet Zone Free Binaries Usenet Server
More than 120,000 groups
Unlimited download
http://www.usenetzone.com to open account
Back to top
Zak
Guest





Posted: Sun Jul 31, 2005 1:17 pm    Post subject: Re: The variable bit cpu Reply with quote

John R. Levine wrote:

Quote:
Bit addressable architectures make sense when memory is expensive and
slow, so you want to minimize the amount you use and you can do
several computation steps while waiting for the next memory cycle to
align and prepare your data, and your internal processor is narrow so
you have to do arithmetic serially anyway. All of those stopped being
true more than a decade ago so nobody has any interest in bit
addressability any more except perhaps for some specialized embedded
applications where the data is natually a bit at a time.

The MC14500B might be a funny thing to look at. Really simple, one bit
at a time, not even a program counter include d(or a branch for that
matter... or an ALU).


Thomas
Back to top
Edward A. Feustel
Guest





Posted: Sun Jul 31, 2005 7:20 pm    Post subject: Re: The variable bit cpu Reply with quote

"Skybuck Flying" <nospam@hotmail.com> wrote in message
news:dcgi9e$kv1$1@news5.zwoll1.ov.home.nl...
Quote:
Hi,

I think I might have just invented the variable bit cpu :)

It works simply like this:

Each "data bit" has a "meta data bit".

The meta data bit describes if the bit is the ending bit of a possibly
large
structure/field.

The meta bits together form a sort of bit mask or bit pattern.

For example the idea is best seen when putting the data bits
and meta bits below each other.

data bits: 01110101110101101010101
meta bits: 00000000100010001100001

In reality the data bit and meta bit are grouped together as a single
entity
which can be read into the cpu since otherwise the cpu would not know
where
to start reading the data or meta bits. Now it simplies start with the
first
data + meta bit pair.

Because a cpu might need to know the length of the bit field up front the
cpu/algorithm works simply as follows:

The cpu starts reading data and meta bits until it reaches a meta bit of
1.

All bits that form the variable bit field are now read and can be used
etc.

The above example then looks like this:

data bits: 011101011#1010#1101#0#10101
meta bits: 000000001#0001#0001#1#00001

(The # sign is too indicate to you where the variable bit fields are.)

Notice how even single bit fields are possible.

The reason for the variable bit cpu with variable bit software is too save
costs and to make computers/software even more powerfull and usefull ;)

For example:

Currently fixed bitsoftware has to be re-written or modified, re-compiled,
re-documented, re-distributed, re-installed, re-configured when it's fixed
bit limit is reached and has to be increased for example from 32 bit to 64
bit etc.

Example are windows xp 32 to 64 bit, the internet IPv4 to IPv6.

Bye,
Skybuck.


Bob Barton, a researcher at Burroughs Corporation was talking about doing

this in late
1972. He had the notion that computers and communications were merging and
that
all transmission should be done serially with special bit combinations used
to mark
specific kinds of data. I don't know whether anything was ever built. Chuck
Seitz who used to be at
Cal Tech might know.

Ed
Back to top
JJ
Guest





Posted: Mon Aug 01, 2005 8:15 am    Post subject: Re: The variable bit cpu Reply with quote

The reason why most folks don't want to deal with variable bit length
arithmetic in HW is combinatorial explosion. Even dealing with a tiny
few choice like 8,16,32,64 gives a few too many combinations that have
to be tested for operators that grow the results in different ways.
Logic operations don't usually change the result width, addition adds
another msb, multiplication adds the input widths and must consider
whether the inputs are signed. Nobody wants that crap for more than a
few cases.

If anybody wants to program with variable length data, you either find
a library that deals with it or use the Hardware description languages
like Verilog/VHDL that can define ints and others to be any width at
all (1 to 16M or so) but those are for HW guys designing hardware with
any width signals, ofcourse its all interpretive and dog slow. Also APL
comes to mind.

As for variable length bit wise instructions, thats even worse, iapx432
did that and was hugely embarrassing to Intel, and that was a couple of
Phd guys that came up with that. In fact ISTR that that was the
architecture we were supposed to be using, 8086 was just a stop gap
hack job the EEs did while the Phd guys figured out the right way to do
32bit architecture. Its death though killed quite a few more birds than
just variable bitwise length instructions.


this isn't even a homework question is it?
Back to top
Skybuck Flying
Guest





Posted: Tue Aug 02, 2005 12:15 am    Post subject: Re: The variable bit cpu Reply with quote

"JJ" <johnjakson@usa.com> wrote in message
news:1122882637.836967.66700@g47g2000cwa.googlegroups.com...
Quote:
The reason why most folks don't want to deal with variable bit length
arithmetic in HW is combinatorial explosion. Even dealing with a tiny
few choice like 8,16,32,64 gives a few too many combinations that have
to be tested for operators that grow the results in different ways.
Logic operations don't usually change the result width, addition adds
another msb, multiplication adds the input widths and must consider
whether the inputs are signed. Nobody wants that crap for more than a
few cases.

The concept is so easy it can be implemented with a 1 bit cpu.

Since the cpu can be so simple it can be very small which might even give it
speed boost.

And since it's so small there could be a many of these cpu's in your
computer ;)

Quote:

If anybody wants to program with variable length data, you either find
a library that deals with it or use the Hardware description languages
like Verilog/VHDL that can define ints and others to be any width at
all (1 to 16M or so) but those are for HW guys designing hardware with
any width signals, ofcourse its all interpretive and dog slow. Also APL
comes to mind.

Can these libraries grow to infinity ?

Quote:

As for variable length bit wise instructions, thats even worse, iapx432
did that and was hugely embarrassing to Intel, and that was a couple of
Phd guys that came up with that. In fact ISTR that that was the
architecture we were supposed to be using, 8086 was just a stop gap
hack job the EEs did while the Phd guys figured out the right way to do
32bit architecture. Its death though killed quite a few more birds than
just variable bitwise length instructions.

Enough old stories already ;)

Bye,
Skybuck.
Back to top
Thomas Womack
Guest





Posted: Tue Aug 02, 2005 8:06 am    Post subject: Re: The variable bit cpu Reply with quote

In article <XIBHe.529503$cg1.107058@bgtnsc04-news.ops.worldnet.att.net>,
Stephen Fuld <s.fuld@PleaseRemove.att.net> wrote:
Quote:

"Skybuck Flying" <nospam@hotmail.com> wrote in message
news:dcm3ln$j04$1@news3.zwoll1.ov.home.nl...

The concept is so easy it can be implemented with a 1 bit cpu.

Since the cpu can be so simple it can be very small which might even give
it
speed boost.

And since it's so small there could be a many of these cpu's in your
computer ;)

You might look up the Connection Machine, from the former Thinking Machines
Company. It had 64 K of them.

Connection Machine was a five-foot cube in 1987; scaling arguments
suggest that it would nowadays be a deskside system, though I'm not
quite sure whether it would require more than one large 90nm ASIC.

[I suppose, to some extent, a hundred thousand very very small logic
elements with a *configurable* interconnect between them form an
off-the-shelf device from our friends at Altera and at Xilinx; but
there's enough of a difference in programming models that I don't
think the argument gets very far]

Tom
Back to top
glen herrmannsfeldt
Guest





Posted: Tue Aug 02, 2005 8:16 am    Post subject: Re: The variable bit cpu Reply with quote

JJ wrote:

Quote:
The reason why most folks don't want to deal with variable bit length
arithmetic in HW is combinatorial explosion. Even dealing with a tiny
few choice like 8,16,32,64 gives a few too many combinations that have
to be tested for operators that grow the results in different ways.
Logic operations don't usually change the result width, addition adds
another msb, multiplication adds the input widths and must consider
whether the inputs are signed. Nobody wants that crap for more than a
few cases.

Then there is the CM-2 which is a parallel (SIMD) processor of
one bit CPUs. They can be combined to do any width, as well
as I remember it.

-- glen
Back to top
Stephen Fuld
Guest





Posted: Tue Aug 02, 2005 8:16 am    Post subject: Re: The variable bit cpu Reply with quote

"Skybuck Flying" <nospam@hotmail.com> wrote in message
news:dcm3ln$j04$1@news3.zwoll1.ov.home.nl...
Quote:

"JJ" <johnjakson@usa.com> wrote in message
news:1122882637.836967.66700@g47g2000cwa.googlegroups.com...
The reason why most folks don't want to deal with variable bit length
arithmetic in HW is combinatorial explosion. Even dealing with a tiny
few choice like 8,16,32,64 gives a few too many combinations that have
to be tested for operators that grow the results in different ways.
Logic operations don't usually change the result width, addition adds
another msb, multiplication adds the input widths and must consider
whether the inputs are signed. Nobody wants that crap for more than a
few cases.

The concept is so easy it can be implemented with a 1 bit cpu.

Since the cpu can be so simple it can be very small which might even give
it
speed boost.

And since it's so small there could be a many of these cpu's in your
computer ;)

You might look up the Connection Machine, from the former Thinking Machines
Company. It had 64 K of them.

--
- Stephen Fuld
e-mail address disguised to prevent spam
Back to top
Edward A. Feustel
Guest





Posted: Tue Aug 02, 2005 3:46 pm    Post subject: Re: The variable bit cpu Reply with quote

"Stephen Fuld" <s.fuld@PleaseRemove.att.net> wrote in message
news:XIBHe.529503$cg1.107058@bgtnsc04-news.ops.worldnet.att.net...
Quote:

"Skybuck Flying" <nospam@hotmail.com> wrote in message
news:dcm3ln$j04$1@news3.zwoll1.ov.home.nl...

"JJ" <johnjakson@usa.com> wrote in message
news:1122882637.836967.66700@g47g2000cwa.googlegroups.com...
The reason why most folks don't want to deal with variable bit length
arithmetic in HW is combinatorial explosion. Even dealing with a tiny
few choice like 8,16,32,64 gives a few too many combinations that have
to be tested for operators that grow the results in different ways.
Logic operations don't usually change the result width, addition adds
another msb, multiplication adds the input widths and must consider
whether the inputs are signed. Nobody wants that crap for more than a
few cases.

The concept is so easy it can be implemented with a 1 bit cpu.

Since the cpu can be so simple it can be very small which might even give
it
speed boost.

And since it's so small there could be a many of these cpu's in your
computer ;)

You might look up the Connection Machine, from the former Thinking
Machines Company. It had 64 K of them.

--
- Stephen Fuld
e-mail address disguised to prevent spam

You might also look at the machine built by Goodyear and the ICL Distributed

Array Processor (DAP).
Both used multiple processors of a single bit width. The DAP had its
processor on the memory chip!
Ed
Back to top
 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Computer Architecture All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




VoIP Electronics Powered by phpBB