| Author |
Message |
Skybuck Flying
Guest
|
Posted:
Sat Jul 30, 2005 11:54 pm Post subject:
The variable bit cpu |
|
|
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 |
|
|
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 |
|
|
"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.
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 |
|
|
| 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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
"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 |
|
|
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 |
|
|
"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 |
|
|
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 |
|
|
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 |
|
|
"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 |
|
|
"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 |
|
 |
|
|
|
|