One instruction set computer: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5 |
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5 |
||
(2 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1:
{{S|computer}}
Con '''One Instruction Set Computer''' ('''OISC''') si indica una [[macchina di Turing]] che usa una sola istruzione, e non necessita quindi di [[opcode]]. Gli OISC sono solitamente utilizzati nell'insegnamento.
Un modello commerciale di calcolatore che utilizza un OISC è il MAXQ della Maxim<ref>{{cita web|url=http://www.maxim-ic.com/appnotes.cfm/appnote_number/3222|titolo=Introduction to the MAXQ Architecture|accesso=
== Tipologie di OISC ==
Esistono varie possibilità di realizzare un OISC che sia [[Turing equivalenza|Turing-completo]].
=== Sottrai e salta se... ===
I più utilizzati a livello didattico sono gli OISC basati su [[SUBLEQ]] (sottrai e salta se ≤ 0 - SUB Less EQual) e SUBNEG o SBN (sottrai e salta se negativo - SUB NEG - ''Subtract and branch if negative''). Le implementazioni sono, in pseudo codice:
<syntaxhighlight lang=asm>
Line 21 ⟶ 22:
RSSB ''a'' ; Mem[''a''] = Mem[''a''] - Mem[''1'']
; Mem[''1''] = Mem[''a'']
; if (Mem[''1''] < 0) Mem[''1'']
</syntaxhighlight>
=== Move ===
Una "move machine", detta anche CPU a ''[[transport triggered architecture]]''<ref>[http://www.hawaga.org.uk/ben/tech/oisc1.html One Instruction Set Computers<!-- Titolo generato automaticamente -->]</ref> usa la sola istruzione Move, che opera direttamente sulla memoria.
<syntaxhighlight lang=asm>
move ''a'' to ''b'' ; Mem[''b''] := Mem[''a'']
</syntaxhighlight>
A volte viene scritto come
<syntaxhighlight lang=asm>
''a'' -> ''b'' ; Mem[''b''] := Mem[''a'']
</syntaxhighlight>
Line 36 ⟶ 37:
Anche il MAXQ della Maxim utilizza tale design.
== BitBitJump ==
Il BitBitJump è simile al sottrai e salta, solo che opera copiando singoli bit, invece che sottraendo [[indirizzi di memoria]]: ad esempio il codice
<syntaxhighlight lang=asm>
Line 59 ⟶ 60:
Viene eseguito il salto al 24 bit, ossia la seconda riga, che copia il bit 0 su se stesso e termina (il salto ad indirizzi negativi termina l'esecuzione).
== Note ==
<references/>
Line 69 ⟶ 70:
*Univ. of Iowa Ultimate RISC: http://www.cs.uiowa.edu/~jones/arch/risc/
== Voci correlate ==
* [[Linguaggio assembly]]
* [[
* [[Zero instruction set computer]]
▲*[[zero instruction set computer]]
== Collegamenti esterni ==
* {{cita web|https://eigenratios.blogspot.com/2006/09/mark-ii-oisc-self-interpreter.html|Mark II OISC Self-Interpreter}}
* {{cita web|https://impomatic.blogspot.com/2009/01/redcode-interpretter-for-rssb-single.html|Redcode interpreter per RSSB}}
Riga 86:
* {{cita web |1=http://www.caamp.info |2=Computer Architecture: A Minimalist Perspective (CAAMP) |accesso=5 novembre 2018 |urlarchivio=https://web.archive.org/web/20090613042342/http://www.caamp.info/ |dataarchivio=13 giugno 2009 |urlmorto=sì }}
* [https://www.esolangs.org/wiki/BitBitJump BitBitJump] OISC con istruzione che copia un solo nit.
* BitBitJump [http://mazonka.com/bbj/ implementazione] {{Webarchive|url=https://web.archive.org/web/20110820202004/http://mazonka.com/bbj/ |date=20 agosto 2011 }} - assembler ed emulatore.
{{Controllo di autorità}}
|