Jump to content

Are there OISC based CPUs and SoC?

whm1974
3 minutes ago, BillyGoat1776 said:

The wiki says 'abstract machine'.....as in theoretical concept....it sounds like an instruction set for optimizing VM's in a datacenter environment

Conceptually, think of it as a 'Host' of 'Hosts'....if that makes sense.

~Billy G.

Well this sounds like of very limited use for Most Use Cases that people will have.

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, BillyGoat1776 said:

For most people....you are correct...for datacenter operations, on the other hand, limitless possibilities....probably why it even exists in the first place.  Definitely not for your average end-user as far as I know.

Wouldn't the Memory Requirements of using this increase in comparison to CISC and RISC?  Or does that depends on something?

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, BillyGoat1776 said:

To be honest, I don't know.

A scenario I can see this being used in would be the following:

Within a data center colocation, there will be racks and racks of blade servers....some newer...some older....this instruction set could 'abstract' the hardware and allow them to be aggregated into a single pool of compute and storage.

Creating one pool of resources out of many.

Almost certainly, there would be some overhead...so...yes it could increase resource requirements....how much it would increase them depends on the quality of implementation.

RISC and CISC are flipsides of the same coin and have been traditionally used in end-point systems (i.e. a PC or laptop)......this seems more focused on server-side applications.

 

 

The abstract of hardware and aggregated into a single pool of compute and storage is how thing are done now with OS deal with all of that and program make threads. 

 

One Instruction Set Computer (OISC)  is a cool idea, but it really only theoretical concept with no real world use other than research and aids in teaching computer architecture.

 

You could build a superfast and small CPU / Core with (OISC), but there is some colossal downside. 

 

1. I not sure how thing like multitasking, threading and cores would work as there is no Instructions to change task or thread. It is maybe possible not at all. 

 

2. Here is the main problem is that the amount of Instructions that each program would need to do a simple task would be colossal, I would think of a 4mb program on x86 or ARM needed to be over 1gb or more. (just a guess on the amount), when you need 10 Instructions just to do one simple Instruction in (x86,ARM) like "NOT a" you can see the problem.  

 

This could work be used to make you own CPU at home or in Minecraft as it simple but not useful in real world like PC, Laptop, Server, Robots or anything else. 

Link to comment
Share on other sites

Link to post
Share on other sites

36 minutes ago, A51UK said:

 

 

The abstract of hardware and aggregated into a single pool of compute and storage is how thing are done now with OS deal with all of that and program make threads. 

 

One Instruction Set Computer (OISC)  is a cool idea, but it really only theoretical concept with no real world use other than research and aids in teaching computer architecture.

 

You could build a superfast and small CPU / Core with (OISC), but there is some colossal downside. 

 

1. I not sure how thing like multitasking, threading and cores would work as there is no Instructions to change task or thread. It is maybe possible not at all. 

 

2. Here is the main problem is that the amount of Instructions that each program would need to do a simple task would be colossal, I would think of a 4mb program on x86 or ARM needed to be over 1gb or more. (just a guess on the amount), when you need 10 Instructions just to do one simple Instruction in (x86,ARM) like "NOT a" you can see the problem.  

 

This could work be used to make you own CPU at home or in Minecraft as it simple but not useful in real world like PC, Laptop, Server, Robots or anything else. 

So in other words, Developing an actual OISC CPU/SoC wouldn't be worthwhile to do. Or for perhaps for a few Applications it would be, but will need a Host CPU/SoC to do everything else.

Link to comment
Share on other sites

Link to post
Share on other sites

37 minutes ago, BillyGoat1776 said:

I wouldn't say that.  So far, the applications have been somewhat flawed.  Either flawed in design, or, (more so) flawed in purpose.  One of the largest applications of this technology has been pattern recognition.  Pattern recognition is fundamental to neural networks (including the human brain).

There are some major limitations when it comes to hardware implementation of this technology.  Primarily, it would require nearly infinite resources.  Or, more specifically, the technology would benefit, infinitely, from additional resources.  Going back to the human brain analogy, one could conceive that the 'size' of memory in the human brain is 'infinite'.

 

For a hardware implementation, this represents a major challenge due to the fact that, by their very nature, hardware implementations are finite.  Combined with quantum computing technology, it may have practical applications.  However, to categorize it as practical at the time of this posting would be a stretch.

 

Research and development are ongoing in this field and we have yet to see what the impacts will be (positive or negative) on human society as a whole.  So far, as I stated earlier, attempts to implement this type of computing have been flawed (either in design or purpose....or, in some cases, both).

If future applications of this tech are more successful and beneficial to human society (largely subjective of course), then at some point I would expect this tech to pervasive and ubiquitous.

 

Personally, I hope we're nowhere near that at this time.  I don't want to live in a world in which systems are essentially the same as people.  As with people, the result could be infinitely 'good' and 'infinitely 'bad' at the same time.

 

If you have not already done so, perhaps read up on Zero Instruction Set Computing (No Instruction Set Computing).  I think it may offer some perspective in addition to some real world examples of what I mean by 'flawed' with regard to design or purpose.  The potential for this tech to be utilized for nefarious purposes is infinite, and, of course, vice versa.

 

In my opinion, for the average person to have access to this type of technology would be akin to giving a toddler a loaded firearm with no safety and no supervision.  It would be, in a word, 'dangerous'. 🙂

 

Back to your original question, now that we have context, an SoC that utilizes this tech would be very much like the human brain (it's the closest thing I can think of anyway).  So far, only quantum comes close...and...quantum is not what I would call 'practical'.  Not yet anyway 😄

 

I'm assuming you are Comp. Sci.....you should be able to figure the rest out on your own.  It is a deep rabbit-hole though and not one many people will have the capacity to fully appreciate or, more importantly, fear.

 

Good luck with your research.....don't work too hard 😜

 

~Billy G.

Well I'm not into Computer Science as in Courses or Field of Study. But just trying to understand some concepts. Namely, how is it possible do something Useful with a Single Instruction? 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, BillyGoat1776 said:

Gotcha.....think of it this way.....the human brain does many useful things....and it is 'Zero Instruction' or 'No Instruction'....maybe that will provide some perspective 🙂

 

Stay curious.....life is more interesting this way 😄

 

~Billy G.

Well Brains are not ICs or Semiconductors.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, BillyGoat1776 said:

Not in a traditional sense...no. 

 

However, the human brain is a carbon-based bio-electrical quantum computer. 

 

The human body breaks the food we eat down into raw energy using a chemical process and everything we think or do is essentially a series of electrical impulses (synapses) between neurons within the brain, or, between the brain and other systems in our bodies that are all networked together via the nervous system.

There are more similarities than differences.

The brain use Neurotransmitters with Electrical impulses between Neurons. I forgotten most of the Terms and Details.

Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, BillyGoat1776 said:

I wouldn't say that.  So far, the applications have been somewhat flawed.  Either flawed in design, or, (more so) flawed in purpose.  One of the largest applications of this technology has been pattern recognition.  Pattern recognition is fundamental to neural networks (including the human brain).

There are some major limitations when it comes to hardware implementation of this technology.  Primarily, it would require nearly infinite resources.  Or, more specifically, the technology would benefit, infinitely, from additional resources.  Going back to the human brain analogy, one could conceive that the 'size' of memory in the human brain is 'infinite'.

 

For a hardware implementation, this represents a major challenge due to the fact that, by their very nature, hardware implementations are finite.  Combined with quantum computing technology, it may have practical applications.  However, to categorize it as practical at the time of this posting would be a stretch.

 

Research and development are ongoing in this field and we have yet to see what the impacts will be (positive or negative) on human society as a whole.  So far, as I stated earlier, attempts to implement this type of computing have been flawed (either in design or purpose....or, in some cases, both).

If future applications of this tech are more successful and beneficial to human society (largely subjective of course), then at some point I would expect this tech to pervasive and ubiquitous.

 

Personally, I hope we're nowhere near that at this time.  I don't want to live in a world in which systems are essentially the same as people.  As with people, the result could be infinitely 'good' and 'infinitely 'bad' at the same time.

 

If you have not already done so, perhaps read up on Zero Instruction Set Computing (No Instruction Set Computing).  I think it may offer some perspective in addition to some real world examples of what I mean by 'flawed' with regard to design or purpose.  The potential for this tech to be utilized for nefarious purposes is infinite, and, of course, vice versa.

 

In my opinion, for the average person to have access to this type of technology would be akin to giving a toddler a loaded firearm with no safety and no supervision.  It would be, in a word, 'dangerous'. 🙂

 

Back to your original question, now that we have context, an SoC that utilizes this tech would be very much like the human brain (it's the closest thing I can think of anyway).  So far, only quantum comes close...and...quantum is not what I would call 'practical'.  Not yet anyway 😄

 

I'm assuming you are Comp. Sci.....you should be able to figure the rest out on your own.  It is a deep rabbit-hole though and not one many people will have the capacity to fully appreciate or, more importantly, fear.

 

Good luck with your research.....don't work too hard 😜

 

~Billy G.

 

OISC CPU/SoC is total different from Pattern recognition or Neural Networks.   You're thinking of Zero instruction set computer (ZISC) that may use Neural Networks or some other form of Pattern recognition. 

 

Where OISC is total pointless other them make a computer at home for fun. The ZISC that use Neural Networks could have many use from Robots to Artificial intelligence and Artificial Life  (life form). There all was going to be flawed in design or hardware, with ZISC the output of software would be unprecedented, so if you want a software like a game or control software to work the same way all the time then ZISC would not work. 

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, whm1974 said:

So in other words, Developing an actual OISC CPU/SoC wouldn't be worthwhile to do. Or for perhaps for a few Applications it would be, but will need a Host CPU/SoC to do everything else.

You are right it total pointless in making any OISC CPU/SoC, I cannot think of any applications where it be useful, just simple thing like added two number would be a pain. 

 

Here some other computing architecture that you should look up: No instruction set computing (NISC), Zero instruction set computer (ZISC), Very long instruction word (VLIW) (Intel Itanium), RISC (ARM), CISC (x84-64), Turing machine, Stack machine, Finite-state machine, Cellular automaton, Neural Networks 

 

The Cellular automaton is really cool. The computer we use mostly are Register machine (Very long instruction word (VLIW) (Intel Itanium), RISC (ARM), CISC (x84-64))   but Stack machine are use a lot in software. 

 

Have fun reading up on them, some are really different and cool. 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, A51UK said:

You are right it total pointless in making any OISC CPU/SoC, I cannot think of any applications where it be useful, just simple thing like added two number would be a pain. 

 

Here some other computing architecture that you should look up: No instruction set computing (NISC), Zero instruction set computer (ZISC), Very long instruction word (VLIW) (Intel Itanium), RISC (ARM), CISC (x84-64), Turing machine, Stack machine, Finite-state machine, Cellular automaton, Neural Networks 

 

The Cellular automaton is really cool. The computer we use mostly are Register machine (Very long instruction word (VLIW) (Intel Itanium), RISC (ARM), CISC (x84-64))   but Stack machine are use a lot in software. 

 

Have fun reading up on them, some are really different and cool.

I know what Registers are, but have a vague understanding exactly what a Stack is. 

Link to comment
Share on other sites

Link to post
Share on other sites

16 hours ago, whm1974 said:

I know what Registers are, but have a vague understanding exactly what a Stack is. 

 

There are two things that be good to know, one is the Stack and other is the Heap. 

 

In memory there are two area that get allocates a stack and a heap area to a program: a Heap is an area where you drop object, random things. Where the stack is organization area that use a for programming instructions and pointed to things in the heap (this is a Call Stack). 

 

The stack work like this, you put items on top of this other items using the command call "push" and you can take thing off the top using the command call "pop". It is a first-in-last-out system. 

 

There are many compilers that use the stack machine (some time with Registers), there are some virtual machines like (Java virtual machine, WebAssembly), Also some really computer that are stack machine like the (ZPU,  English Electric KDF9).

 

Here is an example of instructions for stack machine (not a real one) to add two numbers:

 

  • push 2   //  Put 2 on the stack
  • push 2   // Put 2 on the stack
  • Add       // Pop the last two things that was on the stack them add both of them and put the answer on to the stack
  • pop       // Pop (e.g. output) remove the last thing been added to the stack (e.g. 4) 

 

As you can see it very easy to make stack machine and less complex system than a Register machine or a Cellular automaton. 

 

Read more here https://en.wikipedia.org/wiki/Stack_machine

 

Hope this helps. I would read up more on threads, call stacks and for fun Cellular automaton. 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×