S'ha proposat fusionar aquesta pàgina amb «Conjunt d'instruccions». (vegeu la discussió, pendent de concretar). |
En informàtica, una arquitectura del conjunt d'instruccions (ISA), també anomenada arquitectura d'ordinador, és un model abstracte d'ordinador. Un dispositiu que executa instruccions descrites per aquest ISA, com ara una unitat de processament central (CPU), s'anomena implementació.[1]
En general, un ISA defineix les instruccions suportades, els tipus de dades, els registres, el suport de maquinari per gestionar la memòria principal, les característiques fonamentals (com ara la consistència de la memòria, els modes d'adreçament, la memòria virtual) i el model d'entrada/sortida d'una família d'implementacions. de l'ISA.[2]
Un ISA especifica el comportament del codi màquina que s'executa a les implementacions d'aquest ISA d'una manera que no depèn de les característiques d'aquesta implementació, proporcionant compatibilitat binària entre implementacions. Això permet implementar múltiples implementacions d'una ISA que difereixen en característiques com ara el rendiment, la mida física i el cost monetari (entre altres coses), però que són capaços d'executar el mateix codi de màquina, de manera que una màquina de baix rendiment i menor cost pot ser substituït per una màquina de major cost i rendiment sense haver de substituir el programari. També permet l'evolució de les microarquitectures de les implementacions d'aquest ISA, de manera que una implementació més nova i de major rendiment d'una ISA pugui executar programari que s'executi amb generacions anteriors d'implementacions.
Si un sistema operatiu manté una interfície binària d'aplicació (ABI) estàndard i compatible per a un ISA concret, el codi màquina s'executarà en futures implementacions d'aquest ISA i sistema operatiu. Tanmateix, si un ISA admet l'execució de diversos sistemes operatius, no garanteix que el codi de màquina d'un sistema operatiu s'executi en un altre sistema operatiu, tret que el primer sistema operatiu admeti l'execució de codi de màquina creat per a l'altre sistema operatiu.
Un ISA es pot ampliar afegint instruccions o altres capacitats, o afegint suport per a adreces i valors de dades més grans; una implementació de l'ISA estès encara podrà executar codi màquina per a versions de l'ISA sense aquestes extensions. El codi màquina que utilitza aquestes extensions només s'executarà a les implementacions que admeten aquestes extensions.