473,624 Members | 2,453 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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: 011101011101011 01010101
meta bits: 000000001000100 01100001

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.
Nov 15 '05 #1
19 2132
Skybuck Flying wrote:
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: 011101011101011 01010101
meta bits: 000000001000100 01100001

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.


Why don't you just show us your C implementation and show us how this
improves or countermands a good, portable (whatever that may mean)
programming style.
Otherwise, I fear you are rather off-topic round here and may go on to
comp.programmin g or wherever appropriate.

-Michael
--
E-Mail: Mine is an /at/ gmx /dot/ de address.
Nov 15 '05 #2
Michael Mair wrote:
Skybuck Flying wrote:
<snip rubbish>
Why don't you just show us your C implementation and show us how this
improves or countermands a good, portable (whatever that may mean)
programming style.
Otherwise, I fear you are rather off-topic round here and may go on to
comp.programmin g or wherever appropriate.


I suggest you search the archives for other rubbish posted by skybuck.
This kill file it.
--
Flash Gordon
Living in interesting times.
Although my email address says spam, it is real and I read it.
Nov 15 '05 #3
Flash Gordon wrote:
Michael Mair wrote:
Skybuck Flying wrote:

<snip rubbish>
Why don't you just show us your C implementation and show us how this
improves or countermands a good, portable (whatever that may mean)
programming style.
Otherwise, I fear you are rather off-topic round here and may go on to
comp.programmin g or wherever appropriate.

I suggest you search the archives for other rubbish posted by skybuck.
This kill file it.


Thanks for the suggestion -- Skybuck already has spent some time
in my killfile but got out on probation. Guess this settles it.

Cheers
Michael
--
E-Mail: Mine is an /at/ gmx /dot/ de address.
Nov 15 '05 #4
Michael Mair wrote:
Flash Gordon wrote:
Michael Mair wrote:
Skybuck Flying wrote:


<snip rubbish>
Why don't you just show us your C implementation and show us
how this improves or countermands a good, portable (whatever
that may mean) programming style.
Otherwise, I fear you are rather off-topic round here and may
go on to comp.programmin g or wherever appropriate.


I suggest you search the archives for other rubbish posted by
skybuck. This kill file it.


Thanks for the suggestion -- Skybuck already has spent some time
in my killfile but got out on probation. Guess this settles it.


Makes almost as much sense as Reaganomics. He even multi-posted
it. He's gone.

--
"If you want to post a followup via groups.google.c om, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
Nov 15 '05 #5

"Michael Mair" <Mi**********@i nvalid.invalid> wrote in message
news:3l******** *****@individua l.net...
Skybuck Flying wrote:
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: 011101011101011 01010101
meta bits: 000000001000100 01100001

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.


Why don't you just show us your C implementation and show us how this
improves or countermands a good, portable (whatever that may mean)
programming style.
Otherwise, I fear you are rather off-topic round here and may go on to
comp.programmin g or wherever appropriate.


There is no implementation yet.

Though you are free to think about this concept/idea and maybe find a way
how to implement it in C ;)

Bye,
Skybuck.
Nov 15 '05 #6

"Skybuck Flying" <no****@hotmail .com> wrote

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

It works simply like this:
Each "data bit" has a "meta data bit".

This is on topic for an electronic engineering, CPU design type newsgroup,
but not on comp.lang.c.

It sounds like an idea that might be worth exploring further, but I'm not a
hardware person. You would double memory costs, but these days that is only
a slight penalty. You would certainly be able to catch a lot of illegal
operations at a very low level. What I couldn't tell you is what the effect
would be on the speed and costs of building such a chip, which is why this
ng isn't the best place to discuss this.

However you might want to look at Fibonnacci computers to see a related,
though different, idea.
Nov 15 '05 #7
Yeah after some feedback a more efficient encoding could be used for large
values/data.

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

For example
1 bit 1 bit 20 bits 20 bits +
data

The first 4 fields all use the original idea of gaining flexible fields.

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

(Instead of meta bits I now called them markers a term borried from the ibm
1401 reference manual ;))

The type field is to indicate the encoding type.

Bye,
Skybuck.

"Malcolm" <re*******@btin ternet.com> wrote in message
news:dc******** **@nwrdmz01.dmz .ncs.ea.ibs-infra.bt.com...

"Skybuck Flying" <no****@hotmail .com> wrote

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

It works simply like this:
Each "data bit" has a "meta data bit".
This is on topic for an electronic engineering, CPU design type newsgroup,
but not on comp.lang.c.

It sounds like an idea that might be worth exploring further, but I'm not

a hardware person. You would double memory costs, but these days that is only a slight penalty. You would certainly be able to catch a lot of illegal
operations at a very low level. What I couldn't tell you is what the effect would be on the speed and costs of building such a chip, which is why this
ng isn't the best place to discuss this.

However you might want to look at Fibonnacci computers to see a related,
though different, idea.

Nov 15 '05 #8
Skybuck Flying wrote:
Hi,

I think I might have just invented the variable bit cpu :)
Apart from the off-topic, you haven't invented it yet... You simply
proposed a scheme that cannot necessarily be implemented - well, it
might be, but I am not very sure that it would be helpful at all.
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: 011101011101011 01010101
meta bits: 000000001000100 01100001
You have already doubled the memory you are using.
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.
The CPU does not read bits... If it has some kind of a cache, it moves
memory blocks of many bytes from memory to the cache and several bytes
from the cache to the registers (4bytes if 32bit, 8bytes if 64bit).

How big would the registers be in this hypothetical machine of variable
bits? And it would be better if called "variable word".

And if you would suggest to get rid of cache, it would severely harm
perfomance.
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 ;)


You wouldn't accomplish all that, but you'd just removed the fuss from
the programmer to choose whether to use int, char, long, long long etc.

However, you could more easily write a profiler that would scan the
program, estimate the range of values of every variable and assign the
proper type to the variable. It would be nice that one...
--
one's freedom stops where other's begin

Giannis Papadopoulos
http://dop.users.uth.gr/
University of Thessaly
Computer & Communications Engineering dept.
Nov 15 '05 #9
Skybuck Flying wrote:

Skybuck Flying wrote:

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


There is no implementation yet.


Such machines existed in the 1960's; I personally used
one in 1966 and 1967. If you can show that your invention
predated that era, you may be able to sue IBM for patent
infringement and make yourself a very rich man. (Or woman.
Or mollusc, or slime mold; whatever.)

However tenuous the legal argument may be, the potential
rewards are surely enormous. Were I in your enviable position,
I would strain every sinew to wresting my pot of gold from
plutocratic corporate Amerika, even if the effort left me no
time to pollute Usenet with nonsense.

--
Eric Sosman
es*****@acm-dot-org.invalid
Nov 15 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
4549
by: Scott | last post by:
I have an XML Document in a format like: <Variable name="Bob">ABCDEFG</Variable> <Variable name="Steve">QWERTYUI</Variable> <Variable name="John">POIUYTR</Variable> <Variable name="Tim">ZXCVBNM</Variable> <Function id="1"> <Parameter type="String">Bob</Parameter> <Parameter type="String">Steve</Parameter>
4
3241
by: Frederik Sørensen | last post by:
I include a xslt stylesheet with variables for all the error messages in my system. <xsl:variable name="Banner_error_1"> errormessage 1 for banner </xsl:variable> <xsl:variable name="Banner_error_2"> errormessage 2 for banner </xsl:variable>
134
7854
by: James A. Donald | last post by:
I am contemplating getting into Python, which is used by engineers I admire - google and Bram Cohen, but was horrified to read "no variable or argument declarations are necessary." Surely that means that if I misspell a variable name, my program will mysteriously fail to work with no error message. If you don't declare variables, you can inadvertently re-use an variable used in an enclosing context when you don't intend to, or
10
2246
by: Blaxer | last post by:
There is probably a really easy way to do this, so please forgive me but I would like to set the value of a variable from a variable, an example would be... function Calculate_Something(ByVal multiplyer as integer, ByVal variable as ___?) variable = 5 * multiplyer end function What I would like this function to do is take the name of the incoming variable and assign a calculated value to it. Any help would be greatly appreciated, TIA!!
23
19165
by: Russ Chinoy | last post by:
Hi, This may be a totally newbie question, but I'm stumped. If I have a function such as: function DoSomething(strVarName) { ..... }
3
3955
by: rls03 | last post by:
I have the following which creates a variable containing a relative path where <xsl:value-of select="."/returns a portion of the filename: <xsl:variable name="fileName">../../data/models/<xsl:value-of select="."/>.xml</xsl:variable> I want to use this variable as an argument of the document function: <xsl:apply-templates mode="coordinates" select="document( REFERENCE
1
25658
pbmods
by: pbmods | last post by:
VARIABLE SCOPE IN JAVASCRIPT LEVEL: BEGINNER/INTERMEDIATE (INTERMEDIATE STUFF IN ) PREREQS: VARIABLES First off, what the heck is 'scope' (the kind that doesn't help kill the germs that cause bad breath)? Scope describes the context in which a variable can be used. For example, if a variable's scope is a certain function, then that variable can only be used in that function. If you were to try to access that variable anywhere else in...
2
3672
by: Florian Loitsch | last post by:
hi, What should be the output of the following code-snippet? === var x = "global"; function f() { var x = 0; eval("function x() { return false; }"); delete x; alert(x); }
37
5460
by: minkoo.seo | last post by:
Hi. I've got a question on the differences and how to define static and class variables. AFAIK, class methods are the ones which receives the class itself as an argument, while static methods are the one which runs statically with the defining class. Hence, my understanding is that static variables must be bound to the class defining the variables and shared by children of parent class where the variable is defined. But, please have a...
112
5417
by: istillshine | last post by:
When I control if I print messages, I usually use a global variable "int silent". When I set "-silent" flag in my command line parameters, I set silent = 1 in my main.c. I have many functions that may print some messages. foo(...) { if (!silent)
0
8680
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
8336
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
7168
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6111
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5565
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4177
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2610
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1791
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1487
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.