Instruction set: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m piped link superflui
Niculinux (discussione | contributi)
Wikificazione
Riga 1:
Un '''instruction set''' ("insieme d'istruzioni"), o '''Instruction Set Architecture''' ('''ISA'''), (in [[lingua italiana]] '''insieme d'istruzioni''') descrive quegli aspetti dell'architettura di un [[calcolatore]] che sono visibili al [[programmatore]], tra cui i tipi di dati nativi, le [[istruzione (informatica)|istruzioni]], i [[registro (informatica)|registri]], le [[metodi di indirizzamento|modalità di indirizzamento]], l'architettura della memoria, la gestione degli [[interrupt]] e delle [[eccezione|eccezioni]], e l'eventuale [[I/O]] esterno.
 
A volte, il termine "instruction set architecture" è usato anche per distinguere l'insieme suddetto di caratteristiche dalla [[microarchitettura]], che è l'insieme di tecniche di progettazione utilizzate per implementare l'instruction set (tra cui [[microcodice]], [[Pipeline dati|pipeline]], sistemi di [[CPU cache|cache]] e così via).
Riga 5:
== Caratteristiche ==
Computers con microarchitetture differenti possono condividere tale l'instruction set. Ad esempio, l'[[Intel]] [[Pentium]] e l'[[Advanced Micro Devices|AMD]] [[Athlon]] implementano versioni quasi identiche dell'instruction set [[x86]], pur essendo al loro interno totalmente diversi.
Tra i dati nativamente disponibili ci sono le [[istruzione (informatica)|istruzioni]], i [[registro (informatica)|registri]], le [[metodi di indirizzamento|modalità di indirizzamento]], l'architettura della memoria, la gestione degli [[interrupt]] e delle [[eccezione|eccezioni]], e l'eventuale [[I/O]] esterno.
 
Un'ISA è una specificazione dell'insieme di tutti quei codici binari ([[opcode]]) che rappresentano i comandi implementati nativamente da un particolare design di [[CPU]]. L'insieme degli opcode di una specifica ISA è detto anche [[linguaggio macchina]] della ISA.
Una ISA può anche essere [[emulazione|emulata]] da un [[interprete (informatica)|interprete]] software. Poiché l'emulatore deve effettuare una traduzione da una ISA ad una ISA differente, questa soluzione è in generale più lenta rispetto ad una ISA implementata in hardware. Presso i produttori di nuove ISA o microarchitetture, è pratica comune al giorno d'oggi quella di rendere disponibili emulatori agli sviluppatori di software prima che sia pronta l'implementazione hardware.
 
==Elenco diTipologie ISA==
QuestaSono listadisponibili èdiversi tutt'altrotipi chedi completaISA, datoma cheesse lesono architetturesoggette nasconosempre ea muoiononuovi continuamente.mutamenti di pari passo con il progresso delle tecnologie informatiche; Inoltretuttavia esiste un'enorme quantità di [[microprocessore|microprocessori]] e [[microcontrollore|microcontrollori]] che implementano ISA di ogni genere.

Sono persino comuni per alcune applicazioni delle ISA personalizzate, ad esempio quelle di [[ARC International]], gli [[Application specific integrated circuit|ASIC]], le [[Field programmable gate array|FPGA]] e le tecniche di [[reconfigurable computing]].
 
===ISA comunemente implementate in hardware===
Line 35 ⟶ 38:
 
===ISA mai implementate in hardware===
 
* [[SECD machine]]
* [[ALGOL Object Code]]