процессор с 4мя инструкциями

Новости и интересная информация из интернета по нашей теме

Moderator: Shaos

antsnark
Doomed
Posts: 434
Joined: 27 Jan 2010 03:45
Location: 83.149.9.42

процессор с 4мя инструкциями

Post by antsnark »

не вникал особо чего и как.
http://attowpu.solirax.org/doc/overview
The Weird Processing Unit, or WPU, isn’t designed like the Intel or ARM CPU in your laptop or phone. No, the WPU is a thought experiment in computer design that’s something between being weird for the sake of being weird and throwing stuff at the wall and seeing what sticks.

The WPU only has four instructions, or attoinstructions, to change the state of one of the 64 pins on the computer – set to logical 1, set to logical 0, invert current state, and halt. These instructions are coded with two bits, and the operand (i.e. the wire connected to the computer) is encoded in another six bits.

These 64 wires are divided up into several busses - eight bit address and control busses make up the lowest 16 bits, a 32-bit data bus has a function akin to a register, and a 16-bit ‘Quick aJump bus’ provides the program counter and attocode memory. The highest bit on the WPU is a ‘jump bit’, implemented for unconditional jumps in code.

We’re not even sure the WPU can even be considered a computer. We realize, though, that’s probably not the point; [Tomáš] simply created the WPU to do something out of the ordinary. It’s not meant to be a real, or even useful, CPU; it’s simply a thought experiment to see what is possible by twiddling bits around.
экспериментальный процессор.
Есть всего 4 инструкции, которые меняют состояние на 64-х ножках процессора. 64 провода разделены на несколько шин.

Короче, странно. лень вникать ;)
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: процессор с 4мя инструкциями

Post by Lavr »

antsnark wrote:не вникал особо чего и как.
...
Короче, странно. лень вникать ;)
Гы-гы-гыыыыы... :lol: А у тебя зафсихда так... :D Поэтому я читать не стал,
т.к. лень мне на пиндосячьем читать. :wink:

А Шаос и с 1 инструкцией как-то ссылку давал, так что 4 - это не рекорд! 8)
iLavr
antsnark
Doomed
Posts: 434
Joined: 27 Jan 2010 03:45
Location: 83.149.9.42

Post by antsnark »

та не до того.
:rotate:

сейчас вот "развлекаюсь", на крышу делаю турель под soft-air, ворон гонять.
Уже того, сервики собрал, сейчас вот надо купить MSP430 Launchpad (управлять турелью)
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Днём вскользь пробежался по первым страничкам сайта - хотел вечерком почитать поподробнее, открыл а тут нате вам:
The AttoWPU project is currently halted and the WPU website is being reconstructed into a single portal. AttoWPU architecture is the first, a starter of the series, but it's not that interesting nor original and it's not a very good representative of the WPU project, please look at the 2DWPU architecture instead: http://2dwpu.solirax.org
Вобщем хотел добавить, что там как бы не 4, а 3 инструкции, т.к. четвёртая - это необязательный HALT. Потом на самом деле у них код операции восьмибитный - после 2-битовой команды идут 6 бит адреса ноги, которую надо дёрнуть - т.е. по большому счёту у них 256 инструкций, а не 3 или 4 ;) (можно долго спорить являются ли MOV A,B и MOV B,C двумя разными командами либо одной командой с разным набором аргументов).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Shaos wrote:Потом на самом деле у них код операции восьмибитный - после 2-битовой команды идут 6 бит адреса ноги, которую надо дёрнуть - т.е. по большому счёту у них 256 инструкций, а не 3 или 4 ;) (можно долго спорить являются ли MOV A,B и MOV B,C двумя разными командами либо одной командой с разным набором аргументов).
А в твоем одноинструкцевом вообще JNZ A,B,C ;)
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

HardWareMan wrote:
Shaos wrote:Потом на самом деле у них код операции восьмибитный - после 2-битовой команды идут 6 бит адреса ноги, которую надо дёрнуть - т.е. по большому счёту у них 256 инструкций, а не 3 или 4 ;) (можно долго спорить являются ли MOV A,B и MOV B,C двумя разными командами либо одной командой с разным набором аргументов).
А в твоем одноинструкцевом вообще JNZ A,B,C ;)
Ну он как бы и не мой собственно :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:
HardWareMan wrote:А в твоем одноинструкцевом вообще JNZ A,B,C ;)
Ну он как бы и не мой собственно :roll:
А какая в нём действительно была единственная инструкция? Я что-то подзабыл уже... :-?
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

По теме - вот чего осталось в кеше моего телефона про этот самый AttoWPU:

Фомат инструкции:
bit 0: IH - старший бит инструкции
bit 1: IL - младший бит инструкции
bit 2: WN5 - пятый бит адреса ноги
bit 3: WN4 - четвёртый бит адреса ноги
bit 4: WN3 - третий бит адреса ноги
bit 5: WN2 - второй бит адреса ноги
bit 6: WN1 - первый бит адреса ноги
bit 7: WN0 - нулевой бит адреса ноги

Если IH=0 и IL=0, то нога с номером WN устанавливается в "1".
Если IH=0 и IL=1, то нога с номером WN устанавливается в "0".
Если IH=1 и IL=0, то нога с номером WN меняет своё состояние на противоположное.
Случай когда IH=1 и IL=1 самостоятельной инструкцией не является, а составляет часть инструкции HALT (0xFF) - это когда все 8 бит равны "1", причём специально указано, что HALT - это только для симулятора.

Кроме того как мне показалось (глубже почитать не успел) шины адреса и данных (а также шина управления и "quick ajump bus") являются отдельными шинами и адресация WN на них не распостраняется. А вообще судя по меню там даже плавающая точка как-то была прикручена...

Интересно почему выложенное более года назад (17 апреля 2011) вдруг было убрано...
Lavr wrote:
Shaos wrote:
HardWareMan wrote:А в твоем одноинструкцевом вообще JNZ A,B,C ;)
Ну он как бы и не мой собственно :roll:
А какая в нём действительно была единственная инструкция? Я что-то подзабыл уже... :-?
Subtract and jump if negative с тремя аргументами-адресами X Y Z

см. http://nedopc.org/nedopc/journal/NedoPC_4.pdf (стр.21)

P.S. Подробнее наблюдай педовикию, где написано, что более удачная OISC-архитектура с командой Subtract and branch if less than or equal to zero

P.P.S. Чего-то в нашем форуме не обнаружил ничего про OISC - видимо надо создать тему :)
Я тут за главного - если что шлите мыло на me собака shaos точка net