The OPU processor aims to revolutionize the functioning of microprocessors:
The current design is based on concepts from the 1970s when transistor count was critical (the 6502 processor had only around 2500 transistors). Nowadays, processors with billions of transistors are abundant.
The OPU, an Object-Oriented Processor, incorporates several Object paradigms:
1. Object Isolation: - A program can only access its own data (private or shared) and cannot modify itself or its static data.
- A program can interact with the outside world solely through system calls, and even then, the called function can only see the portion of the stack containing its parameters.
- Essentially, this means that all programs start at address 0, with their data also located at address 0 and their stack always starting at address 0. Because all these are objects.
- All objects are 'restricted' in their memory access. The processor always check that no data is written outside of the object memory.
2. Instructions as System Calls: - An "instruction" in the OPU is, in some instances, similar to a system call (only a few instructions actually have to be implemented in hardware, such as branches and basic operations).
- Depending on the processor version, some instructions exist as transistors within the processor, while others are emulated.
- For instance, on a lower-end OPU, Floating Point multiplication might invoke a program, taking several tens of cycles to complete, whereas a high-end version would have it implemented in hardware, requiring only a few cycles to complete.
- This allows for a wide range of instructions, most of which are currently emulated but could potentially be integrated into hardware in the future.
- Consequently, regardless of the processor version, both old and new code will run. Older processors would simply require an update to the RING0 (similar to a processor's BIOS) to emulate the new instructions.
- Notably, instructions like the sine function can be fully emulated today, partially emulated on larger versions, and completely implemented in hardware on higher-end processors.
- The OPU will provide hundreds of high level operations, like sine, cosine..., arcsine... log, ln... A lot of matrix operations and support of complex numbers. Are also planed graphics primitives. Most of them being emulated in the first versions, but will be set in hardware later. Although maintaining binary level compatibility.
3. To control them all, the RINGS software components:
- RING0 assists the processor in managing:
- The emulated instructions
- The internal multitasking system
- The process management
- Some memory operations. For example, RING0 can "lock" a program temporarily to facilitate its relocation to another memory location.
- RING1 serves as a hypervisor, managing virtual machines. It enables :
- The concurrent execution of, for instance, a Windows session and a Linux session.
- The collaborates with the BIOS to virtualize hardware.
- The uses of drivers (e.g., graphics drivers) to abstract hardware details from the software.
- Windows and Linux to run in separate windows, utilizing software drivers to communicate with the RING1 software, which controls the hardware through it own drivers.
Both RING0 and RING1 reserve memory for their internal operations, enabling the processor to achieve more than what its own transistors can handle.
As evident, this processor represents much more than a traditional processor; it embodies a novel computing paradigm.
It offers a vast instruction set and is highly extensible. Over time, all processors will ensure complete binary code compatibility, resulting in investments in today's processors lasting much longer than outdated methods of rendering technology obsolete. From a software standpoint, computers could potentially last indefinitely. Software development will become more efficient and cost-effective, as software will always run on newer computers, harnessing their power and innovation.
Ask Us Your Questions !
Copyright Christian COMMARMOND 2019-2025
This website doesn't set any cookie nor collect any data without your consent.