Geri's platform
Posted: Mon Jul 15, 2013 4:13 pm
hi
i designing a urisc platform. this is a freetime project, i dont want to spend a lot of time on it, and i dont want to create huge expectations about it, i just want to share this conception and idea,
and also, i will use this place to blog here where actually i am in the developing, so it will be very easy to laugh after i fail
conception:
*************************************************************************************
scalable 64-bit urisc platform to reach multiprocess operating system with minimal possible transistor count per core
*************************************************************************************
1. subleq derivation will be okay. i will use a 4 component subleq ,,instruction'' . i meditated it, and the original 3 component version will not be okay for a multithreaded - smp operating system. i will use the last parameter to point on eip (yeah, i meditated it for a day, and it turned out that this way a tasking multithread/smp kernel can be implemented) - in a very twisted way, but yeah, it will work.
2. no relative addressing. it turned out that static addressing will be okay. also, NO delta for the software running.
3. no registers at all.
4. io will be implemented over negative memory addresses.
5. smp
(the concept is designed: 100%)
**********
c99 compiler:
**********
becouse nobody wants to write braindead assembly code. i investigated if there is alreday an usable compiler for subleq. it turned out that there isnt (no, oleg's compiler arent one (no true memory handling (no real data types), integer only, overcomplicated compiler) ).
so i started to write a new c99 compiler from scracth. i am around 5% of the process in this. it will support 64, 32, 16, and 8 bit integers (truely using this datas when loading-storing into ram). and 64-bit fixed point (runtime will have float_to_fixedpoint conversion and vice versa. float and double will both be defined as fixed64.) long and int is 64 bit.
*****
kernel:
*****
a small hybrid kernel with smp and multithread compatibility, with compatibility of writing to an own, or a very simply file system that can be handled from very few clock cycles (if somebody knows one, tell me)
**************
operating system:
**************
very simply gui with some simple programs, like calculator, paint
and hopefully self-hosting due to the c compiler
apis:
-fopen & friends
-tcp (networking)
-opengl
-interaction with the os to display windows, etc
******
the cpu:
******
easy to emulate, easy to design (i have a cpu designed friend who wants to implement it on an fpga)
(we previously wanted a risc, but that was still too overcomplicated and slow. actually, subleq is almost fast as a risc architecture!)
******************************
benefits from the architecture:
******************************
-easy sacling from home-made self-soldered transistor-cpu (subleq can implemented from transistors easily by a human at his home with his hands)
-easy to implement it on an fpga or vhdl and/or in other circuit designer automathical tools
-easy to add 8-16 cores even with minimal designing
-minimal power consumption
-implementations even can run *IN THEORY* on n*100 ghz due to the extreme low number of transistors (assuming that its not manufactured with cmos manufacturing processes). OR implementations can contain tens of thousands monolithic cpu cores (sadly after a few 1000 transistors, its necessary to make it with cmos where is a drawback for a few ghz)
-easy to emulate
-no tlb, no virtualmemory, no legacy things
-easy io, disk polling, no hardware acceleration needed for interrupts, syscalls, etc. io will work on the same way everywhere, this means that the same os can be used everywhere, unlike one the ultimately crap arm where every system needs different loader and operating system
******************************
plans with this architecture:
******************************
-i am sick from the idiot x86, that wastes the 99,995% of its power consumption, and the retard gpu-s, which cannot be programmed normally, becouse the ,,worlds largest semiconductor companies'' cant even realize that assymethric systems are impasse. so this can scale from the most simplyest architectures from the supercomputers with easy C programming without requiring any special programming dialects.
-if it will be succesfull and popular (chance: 0.01%), maybe the hardware and the software can be sold, and i will be rich like bill gates (0.000001%)
-subleq is like a giant hardware obfuscator: programs written on this are still hard to crack
checkpoints:
-design the architecture in brain: done
-make the c compiler to compile very simpy test programs: under work
-implement the io to at least display debug strings
-make the c compiler more mature
-implement disk, timer, the fixedfunct interrupt
-make a boot loader that is able to load the kernel from the disk
-make the c compiler even more mature
-implement file system in kernel
-implement keyboard
-implement fixed point
-implement graphics and text output
-implement loadable shared object support
-implement threading
-implement smp in the virtual machine
-implement opengl/opengles
-finalize the c compiler and be sure that its finally self-hosting
-implement networking
-implement some tools, like file browser, minimal web browser, ftp, paint, notepad
-get everyone to use this, and become millionarie
i designing a urisc platform. this is a freetime project, i dont want to spend a lot of time on it, and i dont want to create huge expectations about it, i just want to share this conception and idea,
and also, i will use this place to blog here where actually i am in the developing, so it will be very easy to laugh after i fail
conception:
*************************************************************************************
scalable 64-bit urisc platform to reach multiprocess operating system with minimal possible transistor count per core
*************************************************************************************
1. subleq derivation will be okay. i will use a 4 component subleq ,,instruction'' . i meditated it, and the original 3 component version will not be okay for a multithreaded - smp operating system. i will use the last parameter to point on eip (yeah, i meditated it for a day, and it turned out that this way a tasking multithread/smp kernel can be implemented) - in a very twisted way, but yeah, it will work.
2. no relative addressing. it turned out that static addressing will be okay. also, NO delta for the software running.
3. no registers at all.
4. io will be implemented over negative memory addresses.
5. smp
(the concept is designed: 100%)
**********
c99 compiler:
**********
becouse nobody wants to write braindead assembly code. i investigated if there is alreday an usable compiler for subleq. it turned out that there isnt (no, oleg's compiler arent one (no true memory handling (no real data types), integer only, overcomplicated compiler) ).
so i started to write a new c99 compiler from scracth. i am around 5% of the process in this. it will support 64, 32, 16, and 8 bit integers (truely using this datas when loading-storing into ram). and 64-bit fixed point (runtime will have float_to_fixedpoint conversion and vice versa. float and double will both be defined as fixed64.) long and int is 64 bit.
*****
kernel:
*****
a small hybrid kernel with smp and multithread compatibility, with compatibility of writing to an own, or a very simply file system that can be handled from very few clock cycles (if somebody knows one, tell me)
**************
operating system:
**************
very simply gui with some simple programs, like calculator, paint
and hopefully self-hosting due to the c compiler
apis:
-fopen & friends
-tcp (networking)
-opengl
-interaction with the os to display windows, etc
******
the cpu:
******
easy to emulate, easy to design (i have a cpu designed friend who wants to implement it on an fpga)
(we previously wanted a risc, but that was still too overcomplicated and slow. actually, subleq is almost fast as a risc architecture!)
******************************
benefits from the architecture:
******************************
-easy sacling from home-made self-soldered transistor-cpu (subleq can implemented from transistors easily by a human at his home with his hands)
-easy to implement it on an fpga or vhdl and/or in other circuit designer automathical tools
-easy to add 8-16 cores even with minimal designing
-minimal power consumption
-implementations even can run *IN THEORY* on n*100 ghz due to the extreme low number of transistors (assuming that its not manufactured with cmos manufacturing processes). OR implementations can contain tens of thousands monolithic cpu cores (sadly after a few 1000 transistors, its necessary to make it with cmos where is a drawback for a few ghz)
-easy to emulate
-no tlb, no virtualmemory, no legacy things
-easy io, disk polling, no hardware acceleration needed for interrupts, syscalls, etc. io will work on the same way everywhere, this means that the same os can be used everywhere, unlike one the ultimately crap arm where every system needs different loader and operating system
******************************
plans with this architecture:
******************************
-i am sick from the idiot x86, that wastes the 99,995% of its power consumption, and the retard gpu-s, which cannot be programmed normally, becouse the ,,worlds largest semiconductor companies'' cant even realize that assymethric systems are impasse. so this can scale from the most simplyest architectures from the supercomputers with easy C programming without requiring any special programming dialects.
-if it will be succesfull and popular (chance: 0.01%), maybe the hardware and the software can be sold, and i will be rich like bill gates (0.000001%)
-subleq is like a giant hardware obfuscator: programs written on this are still hard to crack
checkpoints:
-design the architecture in brain: done
-make the c compiler to compile very simpy test programs: under work
-implement the io to at least display debug strings
-make the c compiler more mature
-implement disk, timer, the fixedfunct interrupt
-make a boot loader that is able to load the kernel from the disk
-make the c compiler even more mature
-implement file system in kernel
-implement keyboard
-implement fixed point
-implement graphics and text output
-implement loadable shared object support
-implement threading
-implement smp in the virtual machine
-implement opengl/opengles
-finalize the c compiler and be sure that its finally self-hosting
-implement networking
-implement some tools, like file browser, minimal web browser, ftp, paint, notepad
-get everyone to use this, and become millionarie