Archivio
giovedì 11 ottobre 2012 - Commenta
Il legacy di x86 & x64 – parte 7 (istruzioni non privilegiate)

Oltre alle istruzioni privilegiate, per la gestione dei selettori ne sono state introdotte poche altre da Intel che non lo sono, ma che possono essere utili in modalità utente per effettuare alcune operazioni che possono rivelarsi più o meno utili.
Fra quelle che lo sono di meno c’è sicuramente ARPL, il cui scopo è quello di “aggiustare”, se possibile, il livello di privilegio di un selettore (che può risiedere in un registro o in memoria) sulla base di un altro (che si trova in un registro) che viene utilizzato per il …

giovedì 4 ottobre 2012 - 12 Commenti
Il legacy di x86 & x64 – parte 6 (istruzioni privilegiate)

Per gestire segmenti e selettori a livello applicativo abbiamo visto che sono necessarie poche istruzioni (MOV, PUSH/POP, LDS/LES/LSS/LFS/LGS, CALL/RET, JMP, INT/INTO/IRET), peraltro inutilizzate in un modello di memoria “flat” (fatta eccezione per quelle usate per chiamare il sistema operativo).
Il s.o., invece, fa sempre uso di una parte di queste quanto meno per impostare i selettori (ormai i segmenti 8086 sono, di fatto, inutilizzati) in maniera che l’applicazione che gira nel processo/thread abbia l’ambiente configurato per poter girare, ma tutto ciò non basta per gestire l’intero sistema, per cui già a partire …

giovedì 27 settembre 2012 - 20 Commenti
Risorge Anubis-OS, il dio dei sistemi operativi morti

Qualche tempo fa era stato citato, nei commenti di un altro articolo, come esempio di esperimento fallito, ma improvvisamente, dopo circa 4 anni di inattività, il progetto ha mostrato segni di vita, come sembrerebbe da un messaggio del programmatore in un noto forum amighista.
Come si può leggere dalla home page, si propone di realizzare un sistema operativo moderno ispirato ad AmigaOS, ma con funzionalità come l’SMP, e che giri sulle ultime versioni dell’architettura ARM (v6 e v7).
In realtà il progetto  originariamente si trovava su un’altra pagina e aveva un nome in …

giovedì 20 settembre 2012 - Commenta
Il legacy di x86 & x64 – parte 5 (i selettori)

Nel precedente articolo è stato analizzato il funzionamento a runtime dei famigerati segmenti della famiglia di CPU x86, e posto in risalto la loro pervasività, essendo utilizzati sempre, persino nella versione a 64 bit, x64, che ne rappresenta il futuro.
I selettori sono la naturale (per x86, s’intende) evoluzione di questo meccanismo, che hanno visto la luce con l’80286, e di cui abbiamo analizzato già il funzionamento in quest’altro articolo (la cui lettura è consigliata prima di proseguire con questa).
Durante l’esecuzione valgono all’incirca le stesse considerazione fatte per i segmenti, a …

giovedì 13 settembre 2012 - 9 Commenti
Il legacy di x86 & x64 – parte 4 (i segmenti)

Torniamo a parlare del fattore “legacy” delle CPU x86, con l’ultimo aspetto che era rimasto in sospeso e che rimane da sviscerare: la segmentazione.
Per inquadrare bene il peso di questa caratteristica è fondamentale analizzare in che modo vengono utilizzati i segmenti nel codice x86 e x64, e l’impatto che possono avere mediamente durante l’esecuzione, sia a livello di specifiche istruzioni o parti di esse che li possono coinvolgere, sia a livello di implementazione nella pipeline d’esecuzione del processore.
Un’introduzione al concetto di segmento si trova in un articolo che è stato …

mercoledì 5 settembre 2012 - 89 Commenti
AmigaOS & co.: da PowerPC a x86 o ARM

Le vicissitudini dei sistemi Amiga “NG” sono state oggetto di attenzione già diverse volte in queste pagine. L’ultimo caso riguarda lo spropositato costo di acquisto della CPU dell’AmigaOne X1000, che è arrivato a toccare i 1000 dollari.
D’altra parte dovendo attingere a del materiale per realizzare macchine a uso “desktop” (sarebbe forse meglio dire “personale”), per la famiglia PowerPC non esistono più delle alternative valide, per cui bisogna ricorrere a costosissimi fondi di magazzino, come quelli citati, oppure al settore embedded, quindi riciclando roba pensata per router et similia.
Nei forum Amiga …

lunedì 20 agosto 2012 - 49 Commenti
CPU dell’X1000 a $1000: Amiga “NG” a un binario morto

La telenovela delle nuove macchine Amiga NG, che avrebbero dovuto rilanciare AmigaOS 4, non risparmia nemmeno la calura agostana, con colpi di scena che hanno dell’incredibile e dovrebbero, si spera, far riflettere una buona volta sulla convenienza a rimanere testardamente arroccati su posizioni asfittiche.
E’ di qualche giorno, infatti, la notizia fornita direttamente dal “patron” del progetto del grande rilancio, Trevor Dickison, che in un messaggio di poche righe ha spiattellato una dolorosa verità: il costo di alcuni componenti dell’AmigaOne X1000 è aumentato, e in particolare risulta all’incirca raddoppiato quello della CPU, …

lunedì 13 agosto 2012 - 7 Commenti
Il legacy di x86 & x64 – parte 3 (FPU x87)

L’FPU che Intel realizzò qualche anno dopo la commercializzazione dell’8086 condivide sostanzialmente lo stesso destino del processore, per il marchio d’infamia di essere il suo coprocessore matematico oppure per alcune scelte che furono fatte… 32 anni fa.
Contrariamente a quello che si potrebbe credere, e un mito da smentire subito, la decodifica delle sue istruzioni non risulta “complicata”, per quanto è stato analizzato nei precedenti articoli che hanno trattato questo tema per le istruzioni della CPU.
Infatti tutte le istruzioni x87 (con questo termine si indica l’FPU, che ha subito pochi cambiamenti …

giovedì 26 luglio 2012 - 30 Commenti
Il legacy di x86 & x64 – parte 2 (istruzioni 80186+)

L’8086 viene spesso assurto a sinonimo di peccato originale, che rappresenta quindi il massimo “danno” di cui tutte le future generazioni si dovranno fare carico, pagandone le conseguenze in termini di microarchitettura.
In realtà, e proseguendo nell’analisi delle istruzioni legacy della famiglia x86 (e x64) iniziata nel precedente articolo, i successori dell’8086 hanno introdotto parecchie istruzioni, anche molto più complesse di quelle esaminate e oggetto di lamentazioni.
Ciò non deve far pensare subito male. Aggiungere istruzioni è un processo naturale, perché il produttore del microprocessore non può evitare di analizzare la tendenza …

giovedì 19 luglio 2012 - 48 Commenti
Il legacy di x86 & x64 – parte 1 (istruzioni 8086)

Sentiamo spesso ripetere che l’architettura x86 sia un pastrocchio e che si porti dietro una pesante eredità dal primogenito, l’8086 di cui abbiamo già discusso in un vecchio articolo che ha evidenziato alcune bizzarrie.
Legacy è il termine che viene generalmente utilizzato per definire l’insieme di queste caratteristiche vecchie e “contorte”, che nell’immaginario collettivo rappresentano delle catene che bloccano o castrano i processori che implementano quest’architettura, e persino la sua più giovane evoluzione, l’x64 di AMD (nota anche come x86-64, AMD64, o l’EM64T coniato da Intel, infine divenuto Intel 64) a 64 …