And you ?
« There can be no Free Software without Free Hardware »
In 2012, can you buy any new computer, install F/LOSS on it and/or keep it safe and under total control ?
MIPS : 82 "essential" patents
(plus 498 sold to Allied Security Trust, "non practicing entity")
Intel, IBM, SUN/Oracle...
ARM : http://whitequark.org/blog/2012/09/25/why-raspberry-pi-is-unsuitable-for-education/
Smartphone : "There are over 250,000 patents and 5 million claims at play inside your pocket."
Can a microprocessor be successful and not encumbered by patents ? SPARC : LEON & OpenSPARC
As of 2012/12 :
What's expected :
And a working tasks tracker...
Microkernel based on BSD?
The YASEP's programming model :
(The destination register is always written last.)
ADD R2,R115 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
src/Imm4 | src/dest | opcode | Reg | court | |||||||||||
R2 | R1 | ADD | 0 | 0 |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
src/Imm4 | src/dest | opcode | Imm4 | court | |||||||||||
2 | R1 | ADD | 1 | 0 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Imm16 | src/Imm4 | src/dest | opcode | Imm16 | long | ||||||||||||||||||||||||||
12345 | R2 | R1 | ADD | 0 | 1 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
dest3 | Reg | src/Imm4 | src/dest | opcode | Ext | long | |||||||||||||||||||||||||
R3 | 0 | R2 | R1 | ADD | 1 | 1 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
dest3 | Reg | src/Imm4 | src/dest | opcode | Ext | long | |||||||||||||||||||||||||
R3 | 1 | 5 | R1 | ADD | 1 | 1 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
src cond | dest3 | cond | Reg | src/Imm4 | src/dest | opcode | Ext | long | |||||||||||||||||||||||
R4 | R3 | LSB0 | 0 | R2 | R1 | ADD | 1 | 1 |
NZ (register is Not Zero) | Z (register is Zero) |
Bit set R1 | bit clear R1 |
LSB1 (odd) | LSB0 (even) |
MSB1 (negative) | MSB0 (positive) |
Always | Never |
Carry | NoCarry |
Zero | Not zero |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
dest3 | update | Reg | u | src/Imm4 | src/dest | opcode | Ext | long | |||||||||||||||||||||||
R3 | 0 | R2 | R1 | ADD | 1 | 1 |
00 | no update |
01 | post-increment |
10 | pre-decrement |
11 | post-increment |
The memory is accessed in 2 phases through 5 register pairs: A1-D1, A2-D2, A3-D3, A4-D4, A5-D5 (« Point and shoot »)
Better performance, scalability and security than Load/store CPUs
Read :mov 1234h A1 ; point to address 1234h mov D1 R1 ; copy the memory contents into R1
Write :
mov 1234h A1 ; point to address 1234h mov R1 D1 ; write R1 to mémoire
The microYASEP :
http://www.acmesystems.it/COLIBRI250
#0: | PC | 1 PC |
#1: | R1 | 5 normal registers |
#2: | R2 | |
#3: | R3 | |
#4: | R4 | |
#5: | R5 | |
#6: | D5 |
5 data registers: directlty access the buffers
5 address registers: |
#7: | A5 | |
#8: | D4 | |
#9: | A4 | |
#10: | D3 | |
#11: | A3 | |
#12: | D2 | |
#13: | A2 | |
#14: | D1 | |
#15: | A1 |