giovedì 28 gennaio 2010

BUNKER PC - Chi siamo

BUNKER  PC   :    l'informatica per passione !
nasce dalla passione per l'informatica, la voglia di scoprire e di innovare in questo mondo in rapida trasformazione.







Perché la  BUNKER  PC
La BUNKER PC si propone di portare ai suoi clienti tutta l'esperienza maturata in diversi anni di presenza nel panorama dell'informatica. Questo offrendo con serietà e competenza i propri servizi di consulenza e assistenza e i migliori prodotti a prezzi competitivi.

CONTATTI E RIFERIMENTI .

BUNKER - PC   il punto di riferimento dell'Oltrepò Pavese e dintorni per l'assistenza tecnica computer.
Scrivi una e-mail a uno di questi indirizzi

sorrmaur@gmail.com 
sorrentino.maurizio@informaticaapplicata.com
laboratorio@informaticaapplicata.com
ufficio@informaticaapplicata.com


Per essere contattato da un nostro commerciale o telefona al numero
333-4765463 per richiedere subito in intervento di assistenza tecnica professionale presso la tua abitazione, ufficio o azienda.



Clicca quì per consultare i nostri prezzi di listino.
Sono stati creati volutamente per la sola consultazione on-line. Non e' possibile quindi stampare, ne tanto meno modificare gli stessi. Verranno forniti alla nostra clientela in formato originale qualora ne occorresse l'eventualità.




ASSISTENZA RETI LAN / WIRELESS PROFESSIONALE

Assistenza e consulenza sulle reti

Soluzioni per la connettività Internet

Soluzioni per la sicurezza delle reti aziendali

Installazione di reti via cavo e wireless

Assistenza e manutenzione di reti informatiche

Contratti di assistenza ordinaria e straordinaria

Consulenza sulle soluzioni di rete più adatte al cliente




Assistenza informatica professionale e manutenzione della Vostra rete lan aziendale, on-site presso la Vostra azienda entro 8 ore lavorative dalla richiesta ( per i clienti che avranno sottoscritto il nostro "contratto monte ore a scalare"). Oppure nei modi e nei tempi che Voi ritenete più opportuni secondo le nostre normali vantaggiose "tariffe" di assistenza on-site.



Tecnici specializzati per mantenere in piena efficienza la rete lan cablata, wireless, i modem, gli switch e i router che permettono la comunicazione client/server/internet nella Vostra azienda. Firewall certificati realizzati anche con infrastuttura linux. Condivisione sicura con policy di accesso definite dall'amministratore di harddisk, stampanti, risorse di back-up in rete, nas, firewall.

Leggi quì i 10 principali punti di forza della nostra azienda per la quale siamo diventati leader nell'Oltrepò Pavese per quanto riguarda l'assistenza reti lan cablate e wireless on-site.

Contattaci per fissare un appuntamento con il nostro personale commerciale, troverai un nuovo patner serio ed affidabile al quale affidare la gestione della rete informatica della tua azienda.




Skebby free SMS

ASSISTENZA COMPUTER PROFESSIONALE

Assistenza informatica professionale al Vostro computer aziendale, on-site presso la Vostra azienda entro 8 ore lavorative dalla richiesta ( per i clienti che avranno sottoscritto il nostro "contratto monte ore a scalare"). Oppure nei modi e nei tempi che Voi ritenete più opportuni secondo le nostre normali vantaggiose "tariffe" di assistenza on-site. Tecnici specializzati per mantenere in piena efficienza i computer client,postazioni di lavoro in rete o "stand-alone".




Risoluzione in tempi brevi delle più comuni problematiche informatiche dal lato "client".
Rimozione virus, formattazioni, recupero dati, reinstallazione applicativi,sistema operativi, linux e applicazioni free,configurazione stampanti, back-up, upgrade hardware,formazione del personale. Cliccando quì puoi consultare i 10 principali punti di forza della nostra azienda per la quale siamo diventati leader nella zona dell'Oltrepò Pavese per quanto riguarda l'assistenza computer on-site.




Contattaci per fissare un appuntamento con il nostro personale commerciale, troverai un nuovo patner serio ed affidabile al quale affidare la gestione informatica della tua azienda.



10 MOTIVI PER SCEGLIERE I SERVIZI BUNKER PC

Competenza tecnica di personale addestrato e laureato


Ricambi originali notebook in tempi brevi

Comunicazione preventivo dettagliato prima di intervenire

Facilità di contatto e comunicazione "azienda/cliente"

Spese fisse di diagnosi di soli 25.00 euro

Salvataggio dati nel caso di mancata riparazione




Tempi di comunicazione preventivi ridottissimi

Solidità aziendale certificabile

Tempi di riparazione generale ridottissimi

Consulenza personalizzata con il cliente sulla fattibilità e la convenienza della riparazione.

LISTINO TARIFFE DI ASSISTENZA:

Area riservata al nostro listino per i clienti .
Scopri i vantaggiosi prezzi di Bunker Pc !


----------------------------------------------------------------------------------------------------------

Ore               Diritto di chiamata          Manodopera           Totale


0,5                 € 25.00                             € 25.00                     € 50.00

1                    € 25.00                             € 50.00                     € 75.00

1,5                 € 25.00                             € 75.00                     € 100.00

2                    € 25.00                             € 100.00                   € 125.00

2,5                 € 25.00                             € 125.00                   € 150.00

3                    € 25.00                             € 150.00                   € 175.00

3,5                 € 25.00                             € 175.00                   € 200.00

4                    € 25.00                             € 200.00                   € 225.00

4,5                 € 25.00                             € 225.00                   € 250.00

5                    € 25.00                             € 250.00                   € 275.00
 
----------------------------------------------------------------------------------------------------

RICAMBI DESKTOP-NOTEBOOK "SOHO"

Hp,Compaq,Fujitsu Siemens,Ibm, Acer,Lenovo, Sony, Asus, Packardbell.




RICAMBI SERVER-NOTEBOOK-WORKSTATION "BUSINESS":

Hp,Compaq,Fujitsu Siemens,Ibm, Acer,Lenovo, Sony, Asus.




Skebby free SMS

RICAMBI NOTEBOOK-COMPUTER PORTATILI, STAMPANTI:

Tutti i ricambi originali per notebook e le stampanti delle marche sotto riportate, dalle batterie per notebook fino ai singoli ingranaggi delle stampanti tutto al massimo in 10 gg lavorativi. I ricambi non possono essere forniti mai direttamente all'utente finale, ma montati, testati e garantiti solo ed esclusivamente presso i nostri laboratori.





Skebby free SMS

CONSULENZA INFORMATICA PROFESSIONALE PER CLIENTI PRIVATI

Tecnici informatici laureati on-site, riparazione computer a Stradella (PV) e presso clientela in tutto l'Oltrepò Pavese :
(provincia di Pavia, Voghera, Casteggio, Broni ,Redavalle, Santa Giulietta,Castel S. Giovanni, Corteolona,Santa Maria della Versa, Borgonovo V. Tidone e zone limitrofe).

Personale tecnico presso il Vostro domicilio per risolvere in tempi brevi e con una spesa contenuta tutte quelle problematiche legate al buon funzionamento delle vostre apparecchiature informatiche. Riparazione pc desktop e notebook.Installazione e configurazioni di reti lan wireless e terrestri direttamente presso il tuo domicilio per poter facilmente condividere una connessione internet veloce con più pc.
E' inoltre possibile condividere hard disk (per scambiarsi dati personali,foto, musica, film),stampanti e masterizzatori.





Con la nuova tecnologia "powerline" si puo' utilizzare la preesistente linea alettrica di casa per creare una rete lan vera e propria, senza fare un buco o spostare un mobile.
Riparazione stampanti laser e ink-jet multifunzione.
Manutenzione stampanti di rete e locali.
Installazione e configurazione di connessioni internet veloci fibra-adsl.
Con una spesa di 30.00€ verremo direttamente presso il tuo domicilio a ritirare l'apparecchiatura/e da riparare e a riparazione avvenuta la riporteremo nei tempi e nei modi che riterrai più opportuni.
Riparazione computer Desktop,Workstation e Notebook di marca e assemblati.
Cliccando quì troverete le nostre tariffe di assistenza tecnica.
Consulenza tecnica e messa in opera di reti cablate-wireless - Rimozione virus, spyware .



Scrivici o telefona subito al numero visualizzato per garantirti in 8 ore lavorative a casa tua o nella tua azienda tecnici specializzati e laureati per risolvere tutte quelle problematiche legate all'Information Tecnology con tempi di intervento certi e tariffe chiare.




Skebby free SMS


COMPUTER ASSISTENZA Help Desk informatico

                                 BUNKER  PC

Consulenza informatica, riparazione computer per l'Oltrepò Pavese.
Rivolto ad un'utenza aziendale e di liberi professionisti, questo tipo di servizio di "computer technical advising" si prefigge come unico scopo quello di mantenere in ottima efficienza la rete Lan, i pc Server i Desktop e le stampanti, strumenti indispensabili per far funzionare il Vostro Business.
Messa in opera di reti lan terrestri, wireless, powerline, Server realizzati con sistemi LINUX DEBIAN e Microsoft Windows 2003/2008.
Pacchetti sicurezza lan-Intranet.
Creazione database personalizzati con la tecnologia "my-sql"/"php".






Creazione vpn e strutture tcp/ip.
Consolidamento con strumenti professionali della sicurezza dei dati aziendali .Integrazione e consolidamento della produttività aziendale con strumenti open-source per la vendita via web dei propri prodotti,pacchetti software quali Joomla e VirtueMart per "attaccare" mercati fino ad oggi sconosciuti, il futuro della vendita sarà solo ed esclusivamente il "web-marketplace".
Fornitura di workstation-office prezzi contenuti per macchine con ottime prestazioni per l'ufficio.
Cad-pc con la migliore componentistica professionale.
Upgrade hardware delle macchine datate del tuo ufficio per rendere la produzione snella e veloce.




Fornitura di soluzioni Client-Server "chiavi in mano" con assistenza e formazione al tuo personale direttamente nella tua azienda.Professionisti nel "Information Tecnology Custumer Care" l'Oltrepò Pavese.

CLICCANDO QUì  puoi consultare le nostre tariffe di assistenza tecnica con le clausole e gli impegni di un nostro "contratto monte ore a scalare".


Skebby free SMS

lunedì 25 gennaio 2010

CORSI GRATUITI DI BUNKER PC ! ARCHITETTURA X86

Modello Cyrix 6x86




L' architettura x86 è un termine generico per indicare un'architettura di microprocessori inizialmente sviluppata e prodotta dall'Intel. È al momento l'architettura più diffusa nel mercato dei PC desktop, portatili, e nei server economici. Nel corso degli anni, più di una ditta ha introdotto processori compatibili con l'architettura x86, ponendosi in concorrenza con Intel. Attualmente (2007) l'unico concorrente di un certo peso nel settore dei personal computer è AMD che produce processori x86-compatibili fin dai primi anni dell'architettura. È da segnalare comunque che esistono altri produttori che utilizzano questa architettura per realizzare processori per applicazioni di nicchia come lo sviluppo di sistemi embedded, thin client, set top box e altre.



L'x86 ha un set di istruzioni CISC a lunghezza variabile. Questa caratteristica era utile negli anni '70 e '80, perché permetteva di risparmiare (costosa) memoria. In tempi più recenti, la lunghezza variabile è diventata un tallone d'achille che complica notevolmente il progetto dei nuovi processori, i quali dedicano una parte consistente delle loro risorse a "tradurre" il set di istruzioni x86 in uno più razionale.



Indice



* 1 Storia

o 1.1 8086

o 1.2 8088

o 1.3 80186

o 1.4 80286

o 1.5 80386

o 1.6 80486







Storia



8086



Primo processore a 16 bit di Intel. Per l'epoca era abbastanza valido sebbene la concorrenza di Motorola si facesse sentire.



8088



Modello "ridotto" del 8086 con bus a 8 bit. Minori prestazioni, minori costi. Probabilmente fu il primo processore della "presa in giro" che, si dice, Intel abbia sempre architettato nei confronti dei suoi clienti. Si tratta di produrre un solo processore, limitarne le capacità su una parte della produzione e vendere questo prodotto "monco" a prezzo minore. Solo per poter tenere alto il prezzo del prodotto di punta. Il caso clamoroso scoppiò con l'80486.



80186



Modello poco venduto e poco diffuso. Per alcuni aspetti era rivoluzionario poiché comprendeva nuove istruzioni ed un differente modo di gestione della memoria. Non ebbe successo, forse per il costo elevato rispetto alle prestazioni reali.



80286



Processore molto importante nella storia di Intel. Innanzitutto fu il primo ad essere "copiato" con profitto da AMD. Questa casa produttrice acquistò i diritti di produzione di processori con codice x86 da Intel e creò un 286 competitivo per prestazioni, conveniente per prezzi. Le capacità di calcolo del 286 erano molto superiori ai suoi predecessori, anche grazie alla velocità di clock superiore. Inoltre il 286 introdusse il concetto di "modalità protetta". La limitazione che tarpò le ali a questo prodotto consisteva nel fatto che poteva "entrare" in modalità protetta, ma non poteva "uscirne" se non veniva resettato. Nell'ultimo periodo di produzione AMD riuscì a spingere il 286 fino a 25Mhz con ottimi risultati in termini di prestazioni e un validissimo rapporto qualità/prezzo.

80386



32 bit, modalità protetta finalmente funzionante, possibile coprocessore matematico in affiancamento alla CPU principale (il coprocessore si chiamava 387) due linee differenti: il 386 dx, completo, veloce e molto interessante ed il 386 sx, versione con bus a 16 bit, più lento nella gestione di periferiche e RAM. Le innovazioni davvero rivoluzionarie del 386 furono l'introduzione, come detto, della modalità protetta davvero utilizzabile, il supporto ad una quantità di ram di ben 8 megabytes ed il multitasking. AMD, che produsse la sua versione di questo processore e raggiunse i 40Mhz contro i 33 massimi di Intel, fu partecipe delle prime vere "guerre" legali per l'utilizzo del codice x86.



80486



Più veloce del predecessore, senza introdurre grandi novità in termini di "caratteristiche", eccetto probabilmente il coprocessore integrato e la memoria cache, molto importante per aumentare la capacità di calcolo. Inizia ad essere necessario un dissipatore di calore per l'alto assorbimento energetico della CPU. Cambia la differenziazione "DX/SX". Ora i DX sono processori 486 con coprocessore matematico integrato (più efficiente del 387 e con maggior supporto ai calcoli complessi) mentre gli "SX" sono privi di coprocessore. Molti utenti credendo che il coprocessore servisse in ogni applicazione e garantisse migliori prestazioni sempre e comunque ed hanno speso soldi inutilmente. Nell'esecuzione di Windows, del DOS, degli applicativi in genere non c'era alcun incremento prestazionale. Il coprocessore serviva solo per CAD e applicazioni matematiche. Si narra che Intel disabilitasse volontariamente il coprocessore di alcuni DX per venderli come SX, dato che sarebbe stato antieconomico mantenere differenti linee di produzione per un "core" pressoché identico. Per coloro che avevano acquistato un "SX" era disponibile il coprocessore "487" che in realtà era un 486DX completo. Quando il 487 veniva inserito nel sistema disabilitava completamente l'SX, ma l'utente non se ne accorgeva. Il 486 nelle sue versioni più performanti raggiunse i 100Mhz grazie al moltiplicatore di frequenza che permetteva la produzione di schede madri "standard" a 33Mhz dotate di processori che moltiplicavano x3 la frequenza. AMD ha raggiunto i 133Mhz con questa CPU. Con i 486 inizia anche l'era delle versioni a basso consumo energetico (principalmente per portatili) denominare SL. Si affaccia un nuovo produttore: la Cyrix, che però non utilizza un codice completamente uguale al 486 intel/amd. Il suo prodotto si chiama 486SLC e DLC. Nella realtà è abbastanza lontano dal 486 vero, anche in termini di prestazioni. Il costo comunque è molto ridotto.





Fine articolo

Architettura Mips

pipeline MIPS a 5 stadi




MIPS è l'acronimo di Microprocessor without Interlocked Pipeline Stages, è un processore di architettura RISC sviluppato da MIPS Computer Systems Inc. (in seguito nota come MIPS Technologies, Inc).



Il MIPS è utilizzato nel campo dei computer SGI, e hanno trovato grossa diffusione nell'ambito dei sistemi embedded, dei devices di Windows CE e nei router di Cisco . Le console Nintendo 64, Sony PlayStation, Sony PlayStation 2 e Sony PlayStation Portable utilizzano processori MIPS.



Le prime architetture MIPS erano realizzate a 32-bit (generalmente 32-bit per registri e data paths), mentre le ultime versioni sono a 64-bit. Esistono cinque revisioni del MIPS instruction set, chiamate MIPS I, MIPS II, MIPS III, MIPS IV, e MIPS 32/64. L'ultima di queste, MIPS 32/64 Release 2, definisce un insieme di registri di controllo come l'instruction set. Molte estensioni "add-on" sono anche disponibili, incluso MIPS-3D che è un semplice insieme di istruzioni dedicate SIMD in floating-point per applicazioni 3D , MDMX che è un'istruzione SIMD molto costosa su interi che usa registri floating-point a 64-bit, MIPS16 che aggiunge compressione alle istruzioni che creano un programma riducendo lo spazio occupato (una tecnologia simile alla tecnologia Thumb implementata dall'architettura ARM), e il più recente MIPS MT, una nuova aggiunta multithreading per i sistemi simili all'HyperThreading implementato da Intel nei processori Pentium 4.



Il disegno dell'architettura e del set di istruzioni è semplice e lineare e viene spesso utilizzato come caso di studio nei corsi universitari indirizzati allo studio delle architetture dei processori. L'architettura dei processori MIPS ha influenzato le architetture di molti altri processori RISC tra i quali si segnala la famiglia DEC Alpha.

Indice



* 1 Storia

* 2 Famiglie MIPS

* 3 Applicazioni

* 4 Altri modelli e sviluppi futuri

* 5 Core

* 6 Programmazione e emulatori

* 7 Curiosità





Storia



Nel 1981 il professore John L. Hennessy della Stanford University avviò un gruppo di ricerca sulle architetture RISC. Le ricerche del team di sviluppo portarono allo sviluppo della prima generazione di processori MIPS. Allora era noto che per incrementare le prestazioni dei processori si sarebbe potuto utilizzare la tecnica delle pipeline. Questa tecnica sebbene fosse semplice da ideare non era semplice da implementare. Le pipeline per funzionare correttamente richiede che le varie unità siano sincronizzate e che i dati delle varie istruzioni non si sovrappongano, quindi all'interno delle pipeline vengono posti dei blocchi (Interlock) che sorvegliano il completamento delle varie istruzioni e fanno procedere la pipeline solamente quando tutti gli stadi sono pronti. Questo meccanismo garantisce la corretta esecuzione del programma ma introduce spesso stalli nella CPU che deprime le prestazioni.



La caratteristica distintiva del progetto MIPS e che tutte le istruzioni dovevano essere completate dagli stadi della pipeline in un solo ciclo di clock in modo da non introdurre ritardi e stalli nella pipeline. Questo permetteva di rimuovere anche molta dell'elettronica legata alla sincronizzazione degli stadi, semplificando il progetto.



Questa scelta porto a semplificare e velocizzare il progetto ma portò anche degli svantaggi molto evidenti come l'eliminazione di istruzioni utili come le moltiplicazione e le divisione. Alcuni osservatori segnalarono che il progetto MIPS (e più in generale la filosofia RISC) imponevano al programmatore di sostituire le moltiplicazioni e le divisioni con una serie di operazioni più semplici e che quindi il miglioramento di prestazioni veniva eliminato o notevolmente ridimensionato. Questi osservatori non comprendevano che il miglioramento derivato dalla struttura a pipeline senza stalli compensava ampiamente le moltiplicazioni e le divisioni lente.



Nel 1984 Hennessy si convinse delle potenzialità commerciali del progetto e abbandono temporaneamente l'università per fondare la MIPS Computer Systems. La società presento l'R2000 nel 1985 e il successore R3000 nel 1988. Questi processori erano basati su un'architettura a 32 bit furono la base di molti sistemi commerciali, tra i maggiori utilizzatori delle CPU si distinse la Silicon Graphics che utilizzo le CPU nelle sue workstation. Il progetto commerciale delle CPU MIPS si differenziavano dal progetto accademico per la presenza delle istruzioni di moltiplicazione e di divisione e di conseguenza per la presenza di unità di Interlock tra gli stadi che contraddiceva il nome stesso della microarchitettura.



Nel 1991 MIPS presento il suo primo processore a 64 bit l'R4000. Purtroppo la MIPS in quel periodo affrontava una serie crisi finanziaria e quindi SGI decise di acquisire la società per assicurarsi la commercializzazione del processore a 64 bit dato che era fondamentale per le sue workstation. Come sussidiaria della SGI la società cambiò nome in MIPS Technologies.



Agli inizi degli anni 90 la MIPS iniziò a licenziare i puoi processori a fornitori terzi. Questa scelta era ragionevole considerando la semplicità e la potenza del progetto. I processori MIPS iniziarono a sostituire i processori CISC in molte applicazioni embedded, va ricordato che il prezzo di un processore è legato al numero di transistor e al numero di piedini del processore, quindi i processori MIPS risultavano avvantaggiati per il loro basso uso di transistor. Sun Microsystems cercò di replicare il successo dei processori MIPS fornendo in licenza i suoi processori SPARC. Il progetto di Sun non ebbe successo e i processori SPARC non si diffusero nel settore embedded. I processori MIPS durante dli anni novanta acquisirono elevate quote di mercato nel segmento embedded e nel 1997 la società festeggiò il quarantottesimo milione di processore venduto rendendo i MIPS il primo processore RISC superare la famosa famiglia Motorola 68000. Nel 1998 la SGI si separò dalla MIPS Technologies e attualmente più della metà dei guadagni della società dipendono dalle licenze vendute mentre i rimanenti guadagni derivano dallo sviluppo di processori per compratori esterni che verranno prodotti da fonderie esterne.



Nel 1999 MIPS annunciò la possibilità di acquistare la licenza per due processori base. Il processore MIPS32 a 32 bit e il processore MIPS64 a 64 bit. NEC, Toshiba e SiByte (in seguito acquisita da Broadcom) ottennero la licenza del MIPS64 appena questa fu annunciata. Philips, LSI Logic e IDT acquisirono al licenza in seguito. Successo dopo successo attualmente i processori MIPS sono tra i processori più utilizzati per applicazioni ad alta potenza di calcolo ma che richiedono dissipazioni contenute tipo PDA, Set-top box etc. Un chiaro indicatore della bontà del progetto la si ha dalla scelta di Freescale (società spin-off di Motorola) di utilizzare il core MIPS per i suoi processori invece del core PowerPC di sua proprietà.



La possibilità di utilizzare sotto licenza il core MIPS ha spinto molte persone a fondare delle società che producessero versioni personalizzare del processore. Una delle prime società fu la Quantum Effect Devices. Alcuni progettisti MIPS che progettarono il processore R4300 abbandonarono la MIPS per fondare la società SandCraft e sviluppare l'R5432 per la NEC e in seguito ha sviluppato l'R7100, uno dei primi processori per applicazioni embedded in grado di eseguire istruzioni fuori ordine. I progettisti del primo StrongARM si divisero in due gruppi e fondarono due società che svilupparono processori basati su core MIPS. Il primo gruppo fondò la SiByte e sviluppo l'SB-1250 uno dei primi processori systems-on-a-chip (SOC) ad alte prestazioni su architettura MIPS. Il secondo gruppo fondò la Alchemy Semiconductor (in seguitò acquisita da AMD) che produsse l'Au-1000, un processore SOC) per applicazioni a basso consumo. Lexra utilizzò un core tipo MIPS e vi aggiunse estensioni DPS per il trattamento di dati audio e estensioni multithreading per la gestione delle reti locali. MIPS intento contro Lexra due cause legali per violazioni delle sue proprietà intellettuali. La prima si risolse rapidamente quando Lexra promise di non pubblicizzare i suoi processori come MIPS compatibili. La seconda causa fu molto più lunga e danneggiò gli affari di entrambi le società; si concluse con MIPS Technologies che forniva a Lextra una licenza gratuita e un ingente risarcimento economico.



Famiglie MIPS



Il primo MIPS commerciale di l'R2000 che venne presentato nel 1985. Questo processore rispetto alla versione sviluppata all'università aggiungeva istruzioni per la moltiplicazione e la divisione che venivano trattate in modo indipendente dal processore. Nuove istruzioni furono aggiunte per recuperare i risultati prodotti dalle moltiplicazioni e dalle divisioni. Ironicamente queste istruzioni erano bloccanti (utilizzavano l'interlock) e quindi contraddicevano il nome stesso del processore pur migliorando la densità del codice.



L'R2000 poteva utilizzare la codifica big-endian o little-endian. Era dotato di 32 registri a 32 bit di uso generale ma non utilizzava la tecnica della register window dato che era considerata un potenziale collo di bottiglia. La register window invece era utilizzata da processori come l'AMD 29000 e il DEC Alpha. Inoltre il program counter non era direttamente accessibile.



L'R2000 poteva gestire fino a quattro coprocessori, uno era integrato all'interno del processore e veniva utilizzato per gestire le eccezioni e le trap mentre gli altri tre erano disponibili per altri usi. Uno poteva essere il processore opzionale R2010 un coprocessore che implementava una FPU con trentadue registri a 32bit che potevano essere utilizzati come 16 registri a 64 bit per la doppia precisione.



L'R3000 successore dell'R2000 venne presentato nel 1988, aggiunse una cache da 32 KB per istruzioni e dati (in seguito venne espansa a 64 KB) che supportava la coerenza delle cache per facilitare lo sviluppo di sistemi multiprocessore. Sebbene il supporto del multiprocesso fosse parzialmente fallato l'R3000 venne utilizzato da molti sistemi multiprocessore. L'R3000 includeva una MMU, una caratteristica comune per i processori di quell'epoca. L'R3000 fu il primo processore MIPS a vendere più di un milione di processori. Il processore R3000A venne utilizzato nella console Playstation della Sony una versione a 40 Megahertz. Come l'R2000 anche l'R3000 poteva essere affiancato da un coprocessore matematico, l'R3010. Pacemips produsse l'R3400 e IDT produsse l'R3500, che non era altro che un R3000 e R3010 in un solo chip. Il Toshiba R3900 è virtualmente il primo SoC per i primi palmari basati su Windows CE.



L'R4000 venne presentato nel 1991 ed estese il set di istruzioni MIPS portandolo a 64 bit. La FPU venne integrata nel processore per creare un singolo chip molto veloce (venne presentato con una frequenza di 100 Mhz). Tuttavia per ottenere una frequenza elevata i progettisti ridussero la cache a 8 KB e ogni accesso richiedeva comunque 3 cicli. L'elevata frequenza venne ottenuta creando una pipeline profonda (chiamata super pipeline dalla società). Dopo la presentazione dell'R4000 molte altre versioni vennero presentate. Tra le varie versioni è da segnalare l'R4400 presentato nel 1993. il processore era dotato di 16 KB di cache un'architettura a 64 bit e un controller per una cache esterna di secondo livello da 1 megabyte.



Dopo essere diventata divisione della SGI, la MIPS sviluppo il processore a basso costo R4200 e in seguito l'R4300, un R4200 con bus esterno a 32 bit. Il Nintendo 64 utilizzò il processore VR4300 prodotto dalla NEC che era una versione a basso costo del MIPS R4300i[1]



Quantum Effect Devices (QED), era una compagnia nata dall'abbandono della MIPS di alcuni progettisti, la compagnia sviluppo i processori R4600, R4700, R4650 e R5000. I progettisti della QED erano rimasti contrariati dalla scelta della famiglia R4000 di sacrificare la cache per ottenere delle frequenze di funzionamento elevate. I progettisti invece enfatizzarono la presenza di una ampia cache ad accesso rapido (due cicli di clock per accedervi) e fecero un uso efficiente del silicio. L'R4600 e l'R4700 vennero utilizzati da SGI per le sue macchine a basso costo SGI Indy. Furono i primi processori di tipo MIPS ad essere utilizzati da Cisco per i suoi router. L'R4650 venne utilizzato per il set-top box WebTV. La FPU dell'R5000 era più efficiente della FPU dell'R4000 difatti gli SGI Indy basati su R5000 fornivano prestazioni notevolmente migliori nel settore grafico rispetto alle macchine SGI Indy basate su R4000. In seguito la QED presentò i processori RM7000 e RM9000 per applicazioni embedded come dispositivi di rete e stampanti laser. QED venne acquisita da PMC-Sierra nell'agosto del 2000.







Nel 1994 venne presentato l'R8000 il primo MIPS superscalare. Il processore era dotato di due ALU ed era in grado di eseguire due operazioni per ciclo di clock. Il progetto del processore venne diviso su sei integrati. Un integrato conteneva le unità di esecuzione per gli interi (con una cache da 16 KB per i dati e da 16KB per le istruzioni). Un secondo integrato conteneva l'unita FPU, due integrati contenevano una cache di secondo livello e un integrato arbitrava il bus della cache. L'ultimo integrato era un controller della cache ASIC. Il progetto era basato su due pipeline complete con unità di moltiplicazione e di somma a doppia precisione. le pipeline venivano alimentate dalla cache di secondo livello da 4 Mbyte. L'R8000 venne utilizzato dai server SGI Power Challenge inizialmente e dai server Power Indigo2 in seguito. Le ridotte prestazioni nel calcolo sugli interi e il suo elevato costo scoraggio molti acquirenti sebbene le prestazioni nel calcolo in virgola mobile furono apprezzate dagli enti scientifici. L'R8000 rimase sul mercato per solo un anno e quindi è un processore MIPS abbastanza raro.



Nel 1995 venne presentato l'R10000. Il processore era basato su un disegno a singolo integrato e era progettato per essere molto più veloce dell'R8000. Era dotato di una cache primaria da 32 KB per i dati e le istruzioni. Il processore era superscalare e gestiva l'esecuzione fuori ordine delle istruzioni. Sebbene fosse dotato di una sola FPU e di una solo bus verso la memoria, le prestazioni elevate nel calcolo sugli interi, il basso costo e la alta densità resero l'R10000 la scelta preferita dalla maggior parte dei clienti.



Progetti successivi vennero basati sull'architettura dell'R10000. L'R12000 era una versione miniaturizzata dell'R10000 per poter innalzare la frequenza operativa. Il processore R14000 era una versione a frequenza maggiore con in aggiunta il supporto per le memorie DDR SDRAM per la cache di secondo livello. Inoltre il processore era dotato di un bus esterno a 200 Mhz per aumentare le prestazioni. La versione successiva chiamata R16000 e R16000A era dotata di una frequenza di funzionamento maggiore, una cache di primo livello maggiore e una dimensione minore grazie alla nuova tecnologia di produzione.



Nota: Le specifiche indicate sono le più comuni ma esistono delle varianti soprattutto per la cache di secondo livello.



Applicazioni



Molti produttori di workstation hanno utilizzato processori MIPS. Tra i vari segnaliamo la SGI, MIPS Computer Systems Inc., Olivetti, Siemens-Nixdorf, Acer, Digital Equipment Corporation, NEC, e DeskStation. Molti sistemi operativi sono stati portati per le architetture basate su processori MIPS. I più famosi sono l'IRIX prodotto da SGI Microsoft Windows NT (sebben il supporto per processori MIPS sia terminato con Windows NT 4.0), Windows CE, Linux, BSD, UNIX System V, SINIX, MIPS Computer Systems RISC/os e altri.



Tuttavia l'utilizzo dei processori MIPS all'interno di computer e workstation è in declino costante. SGI ha annunciato la dismissione delle macchine basate su architettura MIPS preferendosi concentrare su macchine basate su processori Intel IA-64.



Comunque l'uso dei processori MIPS nelle macchine embedded è ancora comune. i processori sono a basso consumo, e offrono buone prestazioni quindi sono spesso scelti per macchine portatili. Inoltre l'architettura MIPS è diffusa quindi esistono molti tool di sviluppo e programmatori esperti della piattaforma.



Altri modelli e sviluppi futuri



La famiglia MIPS include anche l'R6000, una implementazione ECL dell'architettura MIPS prodotto da Bipolar Integrated Technology. L'R6000 introdusse il set di istruzioni MIPS II. Il TLB e l'architettura della cache era diversa da quella degli altri membri della famiglia MIPS. R6000 non aveva le prestazioni che i progettisti speravano e dopo un breve utilizzo da parte di Control Data Corporation venne abbandonato. L'RM7000 era una versione dell'R5000 con 256 KB di cache di secondo livello e un controller per una cache di terzo livello opzionale. Il suo mercato primario erano i dispositivi embedded e i dispositivi di rete, difatti venne utilizzato estesamente da Cisco System. Il nome R9000 non è stato mai utilizzato.



In quel periodo SGI decise di abbandonare la piattaforma MIPS a favore dei processori Intel Itanium e quindi fermò lo sviluppo dei processori successivi all'R10000. I tempi di passaggio alla piattaforma Itanium furono più lunghi del previsto e intanto le macchine basate su MIPS venivano migliorate. Nel 1999 comunque era chiaro che lo sviluppo dei processori di fascia alta era stato abbandonato troppo rapidamente e quindi vennero presentati i processori R14000 e R16000 che nonostante il nome non erano molto dissimili dall'R10000. SGI cercò di portare la potente FPU della serie R8000 in altri processori MIPS e di sviluppare una versione dual core ma problemi finanziari bloccarono il progetto. Inoltre SGI decise di utilizzare la tecnologia QuickTransit per permettere alle macchine basate su Itanium di utilizzare i programmi compilati per MIPS e quindi pose la parola fine allo sviluppo dei processori MIPS per piattaforma IRIX.



Core



Negli ultimi anni molti core MIPS sono stati rilasciati in tecnologia IP core per permettere una progettazione di sistemi embedded su misura. Core a 32 e 64 bit sono stati immessi sul mercato con i nomi 4K e 5K e sono stati venduti tramite licenza, come anni prima fu fatto per i progetti MIPS32 e MIPS64. I core possono essere collegati ad altre unità come unità FPU, sistemi SIMD e altri dispositivi di input/output, etc.



I core MIPS sono stati un successo commerciale e sono utilizzati da molte industrie per realizzare i loro prodotti. Per esempio Cisco e Linksys utilizzano i core per i propri router e modem. I core sono all'interno di molte stampanti laser, lettori di smartcard, set top box, robot, computer portatili, console come la Sony PlayStation 2 e la PlayStation Portable. In dispositivi come i telefoni e i PDA tendenzialmente vengono utilizzati processori ARM che sono principali concorrenti dei processori MIPS nel settore embedded.



Programmazione e emulatori



Esiste un emulatore gratuito del processori R2000/R3000 chiamato SPIM che funziona su molti sistemi operativi (Unix, Linux, Mac OS X, MS Windows 95/98/NT/2000/XP e MS DOS) che fornisce un buon ambiente per imparare l'assemby MIPS e per impratichirsi con la programmazione di macchine RISC .



GXemul invece è un emulatore molto potente (conosciuto precedentemente come mips64emul project) che non emula solamente i processori (dall'R4000 all'R10000) ma può emulare le macchine complete. Per esempio si può utilizzare GXemul per simulare il funzionamento di una macchina DECstation con MIPS R4400 o una macchina SGI O2 con MIPS R10000 e un discreto numero di periferiche come controller SCSI, schede grafiche, etc.



Qemu e' un ben noto emulatore opensource e multipiattaforma. Sebbene sia usato principalmente per emulare un processore x86, permette anche di emulare una piattaforma virtuale MIPS based, simulando un processore MIPS32 4Kc.



Curiosità



Nel videogioco Super Mario 64, il coniglio si chiama Mips, in omaggio al processore MIPS del Nintendo 64.



Fine articolo

Architettura ARM

Arm, il PXA168


L'architettura ARM (precedentemente Advanced RISC Machine, prima ancora Acorn RISC Machine) indica una famiglia di microprocessori RISC a 32-bit utilizzata in una moltitudine di sistemi embedded. Grazie alle sue caratteristiche di basso consumo (rapportato alle prestazioni) l'architettura ARM domina il settore dei dispositivi mobili dove il risparmio energetico delle batterie è fondamentale.



Attualmente la famiglia ARM copre il 75% del mercato mondiale dei processori a 32 bit per applicazioni embedded,ed è una delle più diffuse architetture a 32 bit del mondo. I processori ARM vengono utilizzati in PDA, cellulari, lettori multimediali, videogiochi portatili e periferiche per computer (come router hard disk di rete etc.). Importanti rami della famiglia ARm sono i processori XScale e i processori OMAP prodotti da Texas Instruments.



Indice



* 1 Storia

* 2 I core

* 3 Note di progetto

o 3.1 Thumb

o 3.2 Jazelle

o 3.3 Thumb-2

o 3.4 Thumb-2EE

o 3.5 NEON

o 3.6 VFP

* 4 Licenze ARM



Storia



Il progetto ARM è iniziato nel 1983 nella sezione ricerca e sviluppo della Acorn Computers Ltd.



Il team guidato da Roger Wilson e Steve Furber iniziò lo sviluppo puntando a realizzare una versione migliore del MOS Technology 6502. Acorn in quel periodo utilizzava il MOS 6502 per i suoi computer e i manager pensarono che poter utilizzare dei processori prodotti internamente dalla società avrebbe fornito un notevole vantaggio competitivo all'azienda.



Il team completo lo sviluppo del prototipo chiamato semplicemente ARM1 nel 1985 e il primo processore realmente prodotto l'ARM2 venne realizzato l'anno successivo. L'ARM2 era un processore con un bus dati a 32 bit, un bus di indirizzi a 26 bit (in modo da poter indirizzare fino a 64 Megabyte e dei registri a 16/32 bit. Uno dei registri serviva per definire l'allineamento del program counter dato che i primi 6 bit e gli ultimi 2 erano utilizzati come flag dal processore per specificare il suo stato. L'ARM2 era probabilmente il più semplice processore a 32 bit con i suoi 30.000 transistor era significativamente più semplice del Motorola 68000 che pur avendo 68.000 transistor forniva prestazioni paragonabili. Il processore doveva la sua semplicità alla mancanza di microcodice (nel 68000 il microcodice occupa un quarto dei transistor) e come la maggior parte delle CPU dell'epoca non era dotata di cache. Il successore ARM3 invece venne dotato di 4KB di cache per migliorare le prestazioni.





Alla fine degli anni 80 Apple computer iniziò a lavorare con Acorn per sviluppare una nuova versione del core ARM. Il progetto era talmente importante da spingere Acorn a spostare il team di sviluppo in una nuova compagnia chiamata Advanced RISC Machines Ltd.. Per questo motivo spesso ARM viene espanso come Advanced RISC Machine invece che Acorn RISC Machine. Advanced RISC Machines divenne ARM Ltd quando la società madre ARM Holdings plc decise di quotarsi alla London Stock Exchange e al NASDAQ nel 1998.[1]



I lavori del team di sviluppo portarono alla realizzazione dell'ARM6. Il primo modello venne prodotto nel 1991 e Apple utilizzo il processore ARM 610 basato su core ARM6 per l'Apple Newton. Nel 1994 Acorn utilizzò ARm610 come processore centrale del suo computer RiscPC.



Il core era quasi immutato rispetto all'originale ARM2, difatti mentre l'ARM2 aveva 30.000 transistor l'ARM6 aveva 35.000 transistor solo 5000 in più. L'idea della società infatti era di permettere agli OEM di prendere il core ARM e combinarlo con vari componenti opzionali per ottenere una cpu completa economica ed a basso consumo dato che ottimizzata per i singoli compiti. Gli OEM poi avrebbero fatto produrre il processore a una delle varie fonderie di semiconduttori che lavorano su commissione.



L'implementazione di maggior successo è sicuramente l'ARM7TDMI che viene utilizzato in console portatili, telefoni cellulari, e periferiche varie. Il processore è stato prodotto in centinaia di milioni di esemplari.



La DEC licenziò l'architettura ARM, (questo produsse molta confusione nel mercato dato che la stessa DEC dispone di una propria linea di processori i DEC Alpha) e produsse lo StrongARM. A 233 Megaherz il processore consuma solo 1 Watt (le versioni recenti anche di meno), Intel nel corso di una transazione con DEC per una causa legale acquisì la linea StrongARm e la utilizzò in congiunzione con il suo processore i960 per realizzare la linea XScale. Linea che in seguito decise di vendere durante una ristrutturazione aziendale.



L'architettura comunemente supportata da Windows Mobile (sistema operativo installato su PDA, smartphone e altri dispositivi portatili) è l'ARM4. I processori XScale e l'ARM926 sono basati su ARMv5TE mentre gli StrongARM, gli ARM925T e gli ARM7TDMI sono basati su ARM4.







Note di progetto



Per mantenere il progetto pulito, semplice e veloce il processore non ha microcodice, come il processore MOS 6502, il processore utilizzato nei primi computer Acorn.



L'architettura ARM è un'architettura RISC che include:



* Architettura load/store

* Mancato supporto ad accessi alla memoria non allineati (supportati dal core v6)

* Set di istruzioni ortogonale

* Ampi registri a 16/32 bit

* Opcode a lunghezza fissa per semplificare la decodifica e l'esecuzione a costo di diminuire la densità del codice

* Esecuzione in un ciclo di clock per la maggior parte delle istruzioni



Per compensare il progetto semplice rispetto a processori della stessa epoca come l'Intel 80286 e il Motorola 68020 il processore comprendeva alcune caratteristiche uniche come:



* Esecuzione condizionata di molte istruzioni per ridurre i salti e compensare gli stalli della pipeline

* Le operazioni aritmetiche sono le uniche che possono alterare i registri delle esecuzioni condizionate

* Shifter a 32 bit che può essere utilizzato in contemporanea con la maggior parte delle istruzioni senza penalizzazioni di tempo

* Metodo di indirizzamento a indice molto potente.

* Interrupt a 2 livelli molto veloce e semplice con un sottosistema di registi collegati che commutano



Una delle caratteristiche più interessante dei processori ARM sono 4 bit addizionali utilizzati per realizzare dei codici condizionali per ogni istruzione.



Questi codici hanno ridotto le possibilità di indirizzo dato che il processore non ha molti pit per poterli specificare ma il grande vantaggio è che questi codici permettono di evitare i salti nei caso di semplici if . Un esempio classico si ha nell'esecuzione dell'algoritmo di Euclide per la ricerca del maggior comune divisore.



In linguaggio C il codice è:



int gcd (int i, int j)

{

while (i != j)

if (i > j)

i -= j;

else

j -= i;

return i;

}



In assembly ARM il ciclo diventa:



loop CMP Ri, Rj ; set condition "NE" if (i != j)

; "GT" if (i > j),

; or "LT" if (i < j) SUBGT Ri, Ri, Rj ; if "GT", i = i-j; SUBLT Rj, Rj, Ri ; if "LT", j = j-i; BNE loop ; if "NE", then loop Questo evita i rami del then e dell' else. Un'altra caratteristica unica del set di istruzioni è la capacità di shiftare i dati durante le normali operazioni sui dati (operazioni aritmetiche, logiche e di copia di registri). Per esempio il codice C seguente a += (j << 2); viene tradotto in questa unica istruzione assembly eseguita in un solo ciclo ADD Ra, Ra, Rj, LSL #2 Queste caratteristiche rendono i programmi ARM normalmente più densi degli equivalenti programmi per altri processori RISC. Inoltre il processore fa meno accessi alla memoria e riesce a riempire meglio le pipeline. Quindi le CPU ARM possono utilizzare frequenze inferiori a quelle di altri processori consumando meno potenza per svolgere gli stessi compiti.



Un processore ARM inoltre a altre caratteristiche viste raramente nei processore RISC come l'indirizzamento relativo al PC (il PC negli ARm è un registro a 16 bit) , indirizzamento con il pre e post incremento.



Una caratteristica curiosa dei processori ARM è che con il tempo il set di istruzioni incrementa. I primi processori ARM (prima dell'ARM7TDMI) per esempio non avevano istruzioni per caricare quantità a due byte. E quindi non era in grado di gestire direttamente i tipi short in C.



I primi processori tipo gli ARM7 erano basati su un disegno con pipeline a 3 stadi, fetch, decode e execute. I processori più moderni come l'ARM9 per incrementare le prestazioni sono passati a pipeline a 5 stadi. Altri cambiamenti per incrementare le prestazioni includono un sommatore veloce e un sistema di predizione dei salti.



Thumb



Gli ultimi processori ARM sono dotati di un set di istruzioni a 16 bit chiamato Thumb che utilizza quattro bit per ogni istruzione. Il codice Thumb è più leggero ma è dotato di meno funzionalità, per esempio solo i salti possono essere condizionati e alcuni opcode non possono essere utilizzati da tutte le istruzioni. Nonostante queste limitazioni Thumb nel caso di sistemi dotati di limitata larghezza di banda verso la memoria fornisce prestazioni migliori del set di istruzioni completo. Molti sistemi embedded sono dotati di un bus verso la memoria limitato, e sebbene il processore possa indirizzare a 32 bit spesso si utilizza indirizzamenti a 16 bit o simili, un esempio molto diffuso è il Game Boy Advance. In queste situazioni conviene creare codice Thumb per la maggior parte del programma e ottimizzare le parti di codice che richiedono molta potenza di calcolo utilizzando il set id istruzioni completo.



Il primo processore dotato di Thumb è stato l'ARM7TDMI. Tutti gli ARM9 e le famiglie successive (incluso gli XScale) sono dotati di Thumb.



Jazelle



ARM ha implementato in alcuni processori la tecnologia[2] per permettere al processore di eseguire nativamente il Java bytecode. Questa tecnologia è interoperabile con il codice ARM standard e Thumbt.







Il primo processore dotato di Jazella è stato l'ARM926J-S, la tecnologia Jazella è stata sottolineata dalla J nella sigla. Il processore viene utilizzato sui telefoni cellulari per velocizzare l'esecuzione dei giochi Java ME e delle applicazioni. L'idea di facilitare l'esecuzione di codice Java per queste applicazioni ha probabilmente spinto ARM a sviluppare questa tecnologia.



Thumb-2



La tecnologia Thumb-2 ha fatto il suo debutto nell'ARM1156 core, presentato nel 2003. Thumb-2 estende le limitate istruzioni a 16 bit con delle addizionali istruzioni a 32 bit per fornire maggior potenza al processore. La tecnologia Thumb 2 fornisce codice con densità (e quindi occupazione di banda) simile a quello del codice Thumb ma con prestazioni più vicine a quello ARM a 32 bit.



Thumb-2 inoltre estende le istruzioni ARM e Thumb con delle nuove istruzioni che permettono la manipolazione dei singoli bit, l'esecuzione condizionata e la gestione di tabelle con salti.



Thumb-2EE



Thumb-2EE, venduta come JazelleRCT[3], è una tecnologia annunciata nel 2005 e che è stata implementata per la prima volta nel processore Cortex-A8. Thumb-2EE è una estensione delle istruzioni Thumb-2, specificatamente progettato per gestire codice generato in tempo reale (per esempio durante la esecuzione di codice Just in time). La tecnologia Thumb 2EE è stata progetta per linguaggi come Java, C#, Perl e Phyton in modo da generare codice compilato di dimensioni ridotte ma senza impattare sulle prestazioni.



Le nuove istruzione fornite permettono di controllare automaticamente i puntatori nulli prima di ogni load o store, permettono di gestire l'eventuale sfondamento degli array, la gestione delle diramazioni e molte altre caratteristiche fornite da linguaggi ad alto livello come l'istanziamento di memoria per i nuovi oggetti.



NEON



La tecnologia NEON è una combinazioni di istruzioni a 64 e 128 bit SIMD (Single Instruction Multiple Data) per accelerare e standardizzare il trattamento e l'elaborazione di segnali multimediali. NEON permette di eseguire la decodifica MP3 con una CPU a 10 Megahertz e permette di eseguire il codec GSM AMR (Adaptive Multi-Rate) con una CPU a 13 Megahertz. La tecnologia poggia su un set di istruzioni separato, registri indipendenti e esecuzione del codice separata. NEON gestisce dati a 8/16/32/64 bit di tipo intero, a singola precisione e in virgola mobile. La tecnologia SIMD è cruciale per l'esecuzione di operazioni vettoriali, operazioni che trattano molti dati con lo stesso programma. NEON permette di gestire fino a 16 operazioni contemporaneamente.







VFP



La tecnologia VFP è un'estensione dell'architettura ARM che fornisce un coprocessore matematico. La tecnologia è nata per fornire operazioni in grado di trattare dati in virgola mobile a singola e doppia precisione in modo economico ma pienamente compatibile con la standard ANSI/IEEE Std 754-1985 Standard for Binary Floating-Point Arithmetic. VFP fornisce istruzioni per applicazioni tipo compressioni, decompressioni, grafica tridimensionale, analisi audio e altro. Questa estensione risulta utile per dispositivi tipo PDA, smartphone, set-top box e applicazioni di automazione e controllo. La tecnologia VFP gestisce anche brevi vettori di dati con tecnologia SIMD.



Licenze ARM



ARM Ltd non produce realmente la proprie CPU e non vende dispositivi basati sulle sue CPU, ARM Ltd licenzia ad altre aziende la possibilità di realizzare CPU basate su core ARM. ARM offre una serie di licenze che variano a seconda del processore, delle personalizzazioni e del numero di pezzi prodotti. Tutte le licenze ARM prevedono una descrizione hardware dei core e il set completo di strumenti di sviluppo per la realizzazione del software per i processori. Le aziende dopo aver acquistato la licenza da ARM si rivolgono a una fonderia di silicio che provvede a realizza fisicamente il processore basandosi sulla descrizione fornita da ARM. Se l'acquirente lo richiede ARM fornisce anche i simulatori dell'hardware delle CPU in modo da permettere all'acquirente ddi modificare la CPU aggiungendovi funzionalità e poi di testarne l'effettiva funzionalità senza dover realizzare fisicamente il chip. Alcuni acquirenti acquistano direttamente la descrizione verilog dei processori in modo da poter ottimizzare anche il singolo copre migliorandone le prestazioni o riducendone i consumi per utilizzi particolari. Caso a parte sono le fonderie di silicio, queste possono effettuano delle modifiche per un cliente e le stesse modifiche possono essere venduta ad altri clienti.



Come le altre aziende ARM vende le licenze in base al loro valore percepito. Core lenti vengono venduti ad un prezzo inferiore a quello di core più moderni e veloci. Inoltre versioni ottimizzate hanno costi maggiori di versioni realizzate assemblando blocchi precostituiti. La situazione viene ulteriormente complicata dalla presenza di fonderie che rivendono versioni ridotte delle licenze ARM (Samsung e Fujitsu per esempio) avendo preso dei core base e avendoli customizzati innalzandone le prestazioni. Rispetto a fonderie che lavorano su progetti dedicati e quindi realizzati espressamente queste fonderie offrono prezzi inferiori (2 o 3 volte inferiori) con prestazioni spesso accettabili. Nel caso di bassi volumi di acquisto usualmente conviene rivolgersi alle fonderie per le licenze mentre in caso di alti volumi di vendita conviene contattare direttamente ARM per una licenza specifica e poi rivolgersi a fonderie dedicate, che lavorano solo per il committente e non come Samsung o Fujitsu che lavorando per più committenti contemporaneamente non possono seguire il prodotto allo stesso modo.



I maggiori gruppi di semiconduttori hanno licenza con ARM. Tra questi gruppi si segnalano: Atmel, Broadcom, Cirrus Logic, Freescale (società spin-off di Motorola dal 2003), Fujitsu, Intel (tramite un accordo con DEC), IBM, Infineon Technologies, Nintendo, OKI, Philips, Samsung, Sharp, STMicroelectronics, Texas Instruments e VLSI. I contratti di licenza sono regolati da clausole di non divulgazione quindi non si hanno cifre certe sul costo dei core ARM anche se si sa che sono tra i core più costosi del mercato a parità di prestazioni. Una singola licenza ARM per un prodotto con un processore ARM può costare fino a 200.000 dollari. Per quantità elevate e per modifiche significative all'architettura la licenza può superare i 10 milioni di dollari di costo.





Fine articolo

Le Architetture

Esempi di Schemi di architetture


Le principali Architetture dei Processori sono:

> ARM

> MIPS

> x86

> Risc e Cisc

Nella Pagina Il Microprocessore parte prima trovate la descrizione delle Architetture Risc e Cisc(interessante come completamento di quest’articolo).



—————————————————————————————————————————

* l’Arithmetic Logic Unit (ALU);

* la Control Unit (CU);

* la memoria;

* l’Internal Bus, il Data Bus e l’Address Bus;

* i registri del processore (o interni):

o il Program Counter (PC);

o il Memory Address Register (MAR);

o il Memory Data Register (MDR);

o l’Instruction Register (IR);

o lo Status Register (SR);

o i cosiddetti registri generali R1..Rn.



I registri sono organi di memoria atti a memorizzare una serie di bit. Valori tipici del numero di bit che essi memorizzano sono: 8, 16, 32 o 64. Nel seguito si descrivono più nel dettaglio i componenti raffigurati.



L’Internal Bus. È un canale di comunicazione condiviso dai vari componenti ed attraverso cui essi possono dialogare. In questo contesto, il dialogo consiste nello scambio di dati binari tra registri secondo una modalità parallela. Ciò significa che un certo numero di bit viene contemporaneamente trasferito attraverso il bus da un registro mittente ad un registro destinatario. Durante un’operazione di trasferimento, i due registri implicati nella comunicazione si trovano in uno stato di lettura (destinatario) e scrittura (mittente) in modo tale da poter acquisire il dato presente sul bus e da potercelo scrivere, rispettivamente. Tutti gli altri registri sono in uno stato di “riposo” nel quale non possono né leggere i dati che circolano sul bus né influenzare lo stato del bus con i dati che contengono. Il numero di bit contemporaneamente trasferiti indica il parallelismo del bus ed è pari al numero di bit contenuti in un singolo registro. Esso caratterizza anche il parallelismo interno del processore.



Il Data Bus e il registro MDR. Il Data Bus è un bus che collega la memoria con il registro MDR. Serve a trasferire dati in entrambi i sensi, sempre secondo una modalità parallela. Tutti i dati e le istruzioni che dalla memoria devono essere elaborati nel processore, transitano per il registro MDR e successivamente, da questo, raggiungono gli opportuni registri per l’elaborazione vera e propria. Analogamente, tutti i risultati di un’elaborazione che devono essere immagazzinati in memoria transitano prima per il registro MDR e da esso raggiungono poi la esatta locazione di memoria.



L’Address Bus e il registro MAR. Durante un accesso alla memoria, sia in fase di lettura che in fase di scrittura, il registro MAR contiene l’indirizzo della locazione di memoria che viene acceduta. Questo indirizzo, trasferito all’organo memoria attraverso l’Address Bus, abilita alla comunicazione una sola tra tutte le locazioni disponibili (tipicamente in numero molto elevato).



Il registro PC. Il valore memorizzato nel registro PC rappresenta per definizione l’indirizzo della locazione di memoria contenente la successiva istruzione da eseguire. Esso viene interrogato tipicamente all’inizio di ogni fase di fetch ed immediatamente dopo viene aggiornato alla locazione di memoria “seguente”; in questo modo lo si prepara per il prelievo della successiva istruzione. Può accadere comunque che l’istruzione prelevata rientri nella categoria delle istruzioni di salto: in questo caso si procede ad un ulteriore aggiornamento del PC durante la fase di execute dell’istruzione. Da questo deriva che lo scopo di un’istruzione di salto (condizionato) è esclusivamente quello di alterare (eventualmente) il valore del PC. Spesso il registro PC è chiamato anche IP (Instruction Pointer).



Il registro IR. Questo registro ha il compito di accogliere dalla memoria (attraverso il MDR), durante una fase di fetch, l’istruzione da eseguire, quella cioè puntata dal PC. Una volta in questo registro, l’istruzione deve essere interpretata dall’unità di controllo per procedere alla eventuale fase di preparazione degli operandi ed alla fase di esecuzione.



La ALU. L’unità logico-aritmetica è l’organo deputato allo svolgimento di operazioni aritmetiche e di confronti logici. Essa preleva gli operandi tipicamente dai registri generali, così come nei registri generali depone i risultati dei calcoli. In seguito ad un calcolo ha anche il compito di impostare alcuni dei flags del SR in modo da tenere traccia di determinati eventi.



Il registro SR. Lo Status Register è un registro che memorizza una serie di bit indicativi dello stato corrente del processore. Può indicare, ad esempio, se il risultato dell’ultima operazione aritmetica effettuata dall’ALU ha dato risultato nullo, o se ha generato un riporto.



I registri generali. I registri generali non hanno un preciso ruolo come gli altri, e da ciò scaturisce il loro nome. Sono utilizzati per contenere i dati in transito per un’elaborazione: gli addendi di un’addizione che l’ALU sta per effettuare, il risultato di un calcolo che l’ALU ha effettuato, un indirizzo di memoria in cui si trova un dato che dovrà essere acceduto in seguito, ecc. Un numero elevato di tali registri conferisce maggiore flessibilità nella programmazione, ma complica la struttura del processore dal punto di vista architetturale.



L’unità di controllo. è l’organo che presiede a tutte le operazioni attraverso il pilotaggio dei componenti presenti nel processore1. Ad esso spetta, ad esempio, l’interpretazione dell’istruzione che si trova di volta in volta nel registro IR; ad esso spetta abilitare alla lettura ed alla scrittura due registri tra i quali deve avvenire uno scambio di informazione. Tutte le fasi del ciclo del processore avvengono attraverso l’invio ai vari componenti di un insieme di impulsi di controllo, in una sequenza temporale ben precisa. Più precisamente, ad ogni colpo di clock le linee di controllo assumono un particolare stato; il susseguirsi dei diversi stati contribuisce all’esecuzione completa di un’istruzione. Per questo motivo si può dire che una singola istruzione in linguaggio macchina viene eseguita attraverso la opportuna composizione di più micro-operazioni.



La memoria. Contiene un numero in genere molto elevato di registri nei quali vengono memorizzati i dati e le istruzioni di un programma. Il tempo impiegato per accedere ad un [[memoria centrale|registro di memoria] è generalmente molto superiore a quello impiegato per l’accesso ad uno dei registri del processore. È per questo motivo che, per quanto possibile, si tenta di utilizzare i registri interni per effettuare le operazioni, limitando gli accessi in memoria allo stretto necessario. Pur contenendo la memoria un numero molto elevato di registri, in ciascun istante temporale solo uno di questi è abilitato a partecipare ad operazioni di lettura o scrittura: quello il cui indirizzo è contenuto nel registro MAR.



Un esempio: esecuzione dell'istruzione MOVE





Analizziamo (Fig.2)come avviene lo scambio di informazioni, nell’ambito dell’architettura esposta, in un caso reale. Supponiamo che, durante la sua elaborazione, il processore si trovi ad un certo istante a dover eseguire un’istruzione che abbia lo scopo di spostare il contenuto corrente del registro generale R1 nella locazione di memoria avente indirizzo D. Rappresentiamo simbolicamente una tale operazione con il seguente comando:



mov R1,D



Una tale istruzione, per essere eseguita, deve fare parte del bagaglio assembly del processore in questione e, come tale, essere opportunamente rappresentabile in linguaggio macchina. Si immagini, dunque, che l’istruzione sia rappresentata in memoria così come riportato in Fig. 3.





Essa parte dalla n-esima locazione di memoria ma, non potendo essere contenuta completamente in una singola locazione, occupa anche la locazione successiva. In particolare, la locazione n-esima contiene una stringa di bit che verrà interpretata dall’unità di controllo nel seguente modo:



"istruzione move la cui sorgente è il registro R1

e la cui destinazione è la locazione di memoria

il cui indirizzo è contenuto immediatamente di seguito".



I passi necessari ad eseguire questa operazione sono:



1. PC --> MAR



2. Inc(PC)



3. Memory Read



4. MDR --> IR



5. PC --> MAR



6. Inc(PC)



7. Memory Read



8. MDR --> MAR



9. R1 --> MDR



10. Memory Write



Analizziamone nel dettaglio il significato. Trovandoci all’inizio della fase di fetch, bisogna prelevare l’istruzione dalla memoria: essa, per definizione, è contenuta all’indirizzo puntato dal registro PC. Il passo 1 copia il contenuto del PC nel MAR in modo da preparare la memoria ad un accesso alla giusta locazione. Il passo 2, in maniera del tutto generale, incrementa il PC in modo che esso punti alla locazione di memoria successiva, essendo questa la locazione da leggere nel seguito con la maggiore probabilità. Il passo 3 ordina alla memoria di scrivere sul Data Bus e, contemporaneamente, al MDR di leggere dal Data Bus. In seguito a questa operazione il MDR conterrà la prima parte dell’istruzione da eseguire. Essa, per essere interpretata, deve comunque essere trasferita nel IR. Questo avviene al passo 4. Una volta che l’istruzione è stata interpretata, l’unità di controllo “capisce” che l’istruzione è stata prelevata solo parzialmente e bisogna prelevarne un altro frammento. Qui la fase di fetch termina ed inizia la fase di preparazione degli operandi. Nel passo 5, di nuovo il PC viene copiato nel MAR per permettere un nuovo accesso alla memoria; immediatamente dopo, nel passo 6, viene nuovamente incremementato così da farlo puntare alla successiva istruzione, quella che verrà prelevata ed eseguita durante il ciclo successivo. Nel passo 7 la memoria viene letta e l’indirizzo D viene copiato nel MDR. Qui termina anche la fase di preparazione degli operandi ed inizia la fase di esecuzione vera e propria dell’istruzione. Dal momento che la scrittura deve avvenire proprio all’indirizzo ora contenuto nel MDR, questo viene copiato nel passo 8 sul MAR. Nel passo 9 il contenuto del registro R1 viene copiato nel MDR e infine da qui, nel passo 10, viene copiato in memoria alla giusta locazione attraverso un’operazione di scrittura. Termina così anche la fase di esecuzione. A questo punto il PC punta alla successiva istruzione da eseguire, ed una nuova fase di fetch può avere inizio.





Fine articolo

FEDERICO FAGGIN

Fotografia dell’Ingegner Faggin , è l'inventore del primo microprocessore della storia (il 4004 Intel). Onore e orgoglio Italiano .




Federico Faggin , classe 1941, ha cominciato a lavorare a 19 anni per l'Olivetti, nel 1961, per la progettazione e costruzione di un "piccolo" (si fa per dire: piccolo quanto un frigorifero da cucina) computer digitale. Passò poi alla SGS/Fairchild italiana (oggi ST-Microelectronics), sempre nel campo della progettazione, dove creerà un metodo per lo sviluppo e la produzione di componenti in tecnologia MOS (metal oxide semiconductor), la tecnologia silicon gate ed il primo circuito integrato (il 3708). Troverà tempo per studiare matematica e fisica, laureandosi in fisica summa cum laude nel 1965 a Padova. Nel febbraio 1968 venne mandato per uno stage di sei mesi in California: da lì non è più tornato.

Ha ricevuto una discreta quantità di premi, medaglie e riconoscimenti a livello internazionale, fra cui la laurea honoris causa dall'Università di Roma Tor Vergata nel 2002.

Passato alla Intel, tra il 1969 e il 1970 progetta la serie "4000" (4001: ROM di 2048 o 4096 bit; 4002: RAM di 320 bit con un paio di porte di I/O; 4003: registro shift a 10 bit con input seriale e output parallelo; 4004: microprocessore a 4 bit in un package a 16 pin, con la bellezza di 2250 transistor compressi in una piastrina di 4mm×3mm) per un cliente giapponese che però andrà in bancarotta qualche anno più tardi.

Il 4004 poteva indirizzare fino a 4 kbytes di memoria e il prezzo commerciale al lancio era di 400$.

L'Intel 4004 è il primo vero microprocessore in circolazione; fino a quel momento un "processore" occupava non meno di un'intera scheda poiché nessuno si era ancora preoccupato di integrare i suoi componenti in un singolo chip - e questo fu invece ciò su cui si era appassionato Faggin (che aveva già dimostrato personalmente dimostrato che la tecnologia silicon gate era affidabile).

la società giapponese Busicom nel 1969 propose a Intel di realizzare i chip necessari a costruire una macchina calcolatrice programmabile, il progetto fu accettato e affidato all’ingegnere Ted Hoff e al programmatore Stanley Mazor, ma poi rimase a languire a lungo senza sviluppi. Tanto che la Busicom, a un certo punto, fu a un passo dal rescindere il contratto.

Qui entra in gioco il neoassunto Faggin, a cui viene affidato il compito di portare avanti il progetto Busicom, considerato dai manager dell’azienda del tutto secondario rispetto al settore di punta delle memorie. Allora il giovane fisico vicentino avvia subito la progettazione del chip set, grazie al know how specifico di cui dispone a riguardo della tecnologia MOS (per giunta la Intel fu alquanto avara, concedendo solo 150mila dollari di finanziamenti totali).La stessa Intel col tempo si dovette ricredere. Entrato in produzione nel giugno del '71, il 4004 fu venduto a partire dal novembre 1971 col nome più generico "MCS-4" (che significava nientemeno che "Micro Computer System - 4 bit"), e poteva reggere un clock di 0,74 MHz.


La velocità di 0,74 MHz va interpretata così:

· il periodo minimo di clock 1,35 microsecondi;

· durata minima di un'istruzione (fetch/execute): 8 cicli di clock;

· dunque la durata minima di un'istruzione è 10,8 microsecondi.




Faggin nel periodo delle progettazioni alla Intel...



Fra parentesi, il 4004 è "ancora in circolazione" perché usato a bordo della Pioneer 10, la sonda lanciata nel 1972 che è da qualche anno uscita dal sistema solare ed è attualmente a 1474 minuti-luce dalla Terra (l'ultimo segnale telemetrico è arrivato ad aprile del 2002, e dopo gennaio 2003 se ne sono perse le tracce: beh, a furia di allontanarsi dal Sole a 12 km/sec...).

Il processore PPS-4 della Rockwell arrivò nove mesi più tardi, perché alla Rockwell avevano seguito la via canonica, senza i geniali trucchetti di Faggin come il "bootstrap load" per risparmiare sui transistor ed il "buried contact" (contatti "bruciati") per aumentare la densità dei circuiti, "trucchetti" all'italiana che permisero di realizzare molto più velocemente e con molte meno spese rispetto alla Rockwell.

Su pressione di Faggin, il modello successivo (sviluppato tra il 1971 e il 1972), originariamente chiamato Intel 1201 e poi rinominato 8008, fu ad 8 bit e poteva accettare un clock discretamente veloce (da 0,75 MHz fino a 1,2 MHz), in un package a 40 pin.

Nel tentativo di piazzare commercialmente l'8008, Faggin fa tesoro delle obiezioni dei possibili grossi clienti (IBM, Nixdorf e altri) e decide di creare una nuova versione da ben 4500 transistor, l'8080, capace di accettare 2MHz di clock, e che faticherà non poco a farsi accettare dalla stessa Intel (durante i nove mesi di combattimenti con i capi, per poco la Intel non perse la leadership a favore del concorrente nascente della Motorola, il microprocessore 6800, dal quale poi nascerà il 6502 della Commodore).

L'8080 aveva la possibilità di accettare "interrupts", il che gli apriva un mercato enorme (la logica degli interrupts prevede che le periferiche esterne segnalino al processore quando sono pronte a trasmettere/ricevere/stampare/etc il prossimo pacchetto di dati; mancando la logica ad interrupts, il processore deve continuamente controllare ogni periferica per vedere quale è "pronta" per l'uso - metodo detto "polling" -, sprecando così un sacco di tempo che avrebbe altrimenti potuto dedicare al calcolo).

Alla Intel, viste le massicce prenotazioni, finalmente si convinsero della bontà dell'8080, tanto da cambiare il proprio numero di telefono in modo che terminasse per "8080". L'8080 fu richiestissimo dal mercato, e in breve cominciarono anche a copiarlo (per lo più legalmente) ovunque, perfino in Russia.





Nello stesso periodo nascevano i club di appassionati dell'8080, i circoli universitari, i primi computer molto venduti e perfino... il primo Basic di Bill Gates, scritto proprio per l'8080.

Dopo anni di duro lavoro alla Intel, quando ormai aveva ottanta persone che dipendevano da lui (e assorbiva più della metà dei fondi del settore di Ricerca e Sviluppo), a causa delle pressioni del management della Intel (come ad esempio col controllo degli orari di ingresso al lavoro e la stupida politica di non promuovere seriamente la ricerca sui microprocessori), Faggin, appena trentaduenne, decise di lasciare la Intel e di fondare una sua azienda - la mitica Zilog - a Cupertino (nella Silicon Valley), verso l'ottobre del 1974.
La Intel, che pure ormai campava di rendita con l'8080 (che ancora nell'estate del 1975 si vendeva a 179 dollari al chip) non glielo perdonerà mai.

"Zilog" stava per Z(latest)-i(ntegrated)-log(ic) devices, ossia "ultimissimi ritrovati nei circuiti integrati".

Neanche il tempo di accordarsi con un collega per fondare l'azienda, che una rivista (Electronics News) pubblica un articolo, e qualcuno dalla Exxon telefona per chiedere come potervi investire. Davvero una manna, vista la recessione di quell'anno (che si protrarrà per tutto l'anno successivo, portando al fallimento molte aziende famose del decennio precedente). La Exxon è conosciuta in Italia per il marchio "Esso" dei distributori di benzina.

Il primo progetto della Zilog fu il microcontroller Z8, dopodiché con il ricco investimento della Exxon (circa mezzo milione di dollari) si allargò allo Z80. Lo Z80, compatibile con l'8080 della Intel, contenente oltre 6000 transistor, più veloce (2.5 MHz), più semplice, molto meno elaborato quanto a circuiteria, col doppio dei registri e con integrato un sistema di refresh della memoria, ebbe ragione dei concorrenti e dello stesso 8080 come descritto da una vignetta apparsa su una rivista tedesca di elettronica nel 1976: uno Z80 che assale e sottomette l'8080, con sullo sfondo i pozzi di petrolio della Exxon.

Lo Z80 fu immesso sul mercato in quel magico maggio del 1976. Restò in produzione sostanzialmente immutato (tranne le migliorie sulla velocità del clock e sui consumi) per vent'anni, fino al 1995, quando nella stessa Zilog si passò all'era degli Z80-compatibili con un sacco di roba a bordo, per esempio l'eZ80 da 50MHz con architettura pipeline, ossia una istruzione per ogni ciclo di clock in condizioni ottimali.

Faggin aveva disegnato a mano lo schema dello Z80, come del resto per tutti i suoi progetti precedenti, perché si era ancora molto lontani dai tempi del CAD (computer aided design). La risposta della Intel fu l'8085, un miglioramento dell'8080 capace di andare a 3MHz, che però pur vivendo di rendita del nome della Intel, non sfondò nel mercato perché non era... "compatibile Z80"! (la Intel non gliela perdonerà mai).

Il successo dello Z80 è stato continuo e sempre crescente, per moltissimi anni, praticamente fino ad oggi. Fino al boom definitivo dell'MS/DOS dopo la metà degli anni ottanta, il primo e unico standard serio per le applicazioni per l'ufficio era il computer basato su Z80, con sistema operativo CP/M, e tipicamente 64k di memoria RAM; i cloni dell'Apple II intaccheranno questo primato ma per poco tempo e solo grazie al nome Apple (e all'architettura "a slot", non certo per il loro processore 6502).

Quando a causa della politica commerciale della IBM si cominciò ad usare ovunque i processori della famiglia Intel 8086 (il primo 8086 aveva 29000 transistor), lo Z80 passò a popolare un gran numero di "home computer" e di videogiochi da bar. E quando si smise di produrre computer con processore a 8 bit, lo Z80 ancora campeggerà nei sistemi embedded e nei videogiochi come il Gameboy. A tutt'oggi lo Z80 è ancora utilizzato (per lo più sotto forma di "microcontroller", non più in versione "pura"). Non so se Faggin prevedesse un successo pluridecennale per la sua creatura; probabilmente due o tre anni sulla cresta dell'onda gli sarebbero sembrati il massimo che potesse desiderare...

Paradossalmente, lo Z80 fu terminato solo dopo lo Z80 (fra parentesi: non è da confondere con un prodotto della Zilog di questi ultimissimi anni che si chiama Z8 proprio come quello all'epoca). Dopo quel progetto si passò subito alla produzione dello Z8000, un processore a 16/32 bit. La Motorola nel frattempo stava per lanciare il suo primo processore a 16/32 bit, il 68000, un mostro chiamato così dal numero dei transistor che lo componevano (sessantottomila) sul quale aveva investito senza fare economia, mentre l'Intel stava lanciando l'8086 (a 16 bit). Lo Z8000 era più piccolo, più potente e più economico dell'8086 e del 68000, ma "il mercato" guardò altrove.

La IBM era infatti in guerra con la Exxon e quindi optò clamorosamente per la famiglia Intel 8086 (dopo aver scartato il Motorola 68000 per il costo eccessivo), emanando addirittura una circolare interna in cui si diceva di boicottare la Zilog perché "affiliata" con la Exxon. Questa scelta "politica" dell'IBM, che nel 1981 sfornò il suo primo IBM PC deliberatamente equipaggiato con un vergognoso processore Intel 8088 a 4.77 MHz e 16, 32 o 64k RAM, fu il caposcuola per tutti gli imitatori e avviò il terribile mercato degli "IBM compatibili" che dura a tutt'oggi. Lo Z8000 avrà dunque vita assai breve; solo la Olivetti lo utilizzò nella sua linea "L1" (i mitici M20, M30, M40, M60), capendo però che per restare sul mercato ci si doveva adeguare alla compatibilità IBM (e dunque i fatidici M19 basato su Intel 8088, M24 basato su 8086, etc).

Stufo della pretesa della Exxon di dettare legge in casa sua, Faggin alla fine del 1980 fu addirittura costretto ad abbandonare la Zilog che lui stesso aveva creato. Del resto altri famosissimi marchi venivano nel frattempo assorbiti e - di fatto - distrutti: la Shlumberger acquisì e fece sparire la Fairchild, la Honeywell metabolizzò la Synertek, etc. La Zilog esiste ancora, certo, ma è l'unica superstite di almeno una dozzina di aziende di quello che Faggin chiamava "l'impero Exxon".

Alla Zilog cominciarono la progettazione dello Z800, un 16/32 bit con MMU ("memory management unit") dall'architettura -ahimé- assai complicata, oltre che incompatibile con lo Z8000; quando fu pronto per essere immesso sul mercato, era già superato. La Zilog resterà in piedi solo a causa della colossale eredità dello Z80 (alcuni maligni insinuano che ciò è vero ancora oggi).

Faggin passò al campo delle telecomunicazioni e fondò la Cygnet Technologies e il suo primo studio fu un telefono intelligente da connettere al personal computer, di cui nel 1984 era riuscito a vendere circa 5000 pezzi. Negli stessi anni lo Z80 era al suo massimo splendore (a tutt'oggi pare che siano stati venduti oltre un miliardo di pezzi), mentre lo sviluppo dello Z8001 (successore dello Z8000) proseguiva con lo Z80000, un 32-bit full-pipeline a sei passi con bus da 24 bit (16Mb) e 256 bytes di memoria cache "freezabile" da software sulle routine che il programma decideva dover essere più veloci. Ma in quello stesso 1986 era già l'80386 della Intel a farla da padrone (anche se il pipelining verrà raggiunto dagli altri solo cinque anni dopo, dall'Intel con l'80486 e dalla Motorola con il 68040).

Nel 1986 Faggin dovette lasciare anche la Cygnet, e fondò la Synaptics, che per i primi anni farà solo ricerca sul "pattern recognition", ma che poi presenterà nel 1994 il "touch pad" che da allora sta popolando praticamente tutti i notebook in circolazione fino ad oggi. La IBM ha negli anni studiato e provato una montagna di soluzioni alternative al mouse per i propri notebook computer, ed è difficile pensare che la sua ritrosia ad utilizzare il semplicissimo ed economicissimo touchpad non sia in qualche modo una conseguenza remota di quella guerra commerciale con la Exxon (e di conseguenza con Faggin).

La stessa Intel, per ovvi (e bassi) motivi commerciali, ha fatto di tutto per cancellare la presenza di Faggin dalla sua storia, fino al punto di "assegnare" la paternità dell'invenzione del primo microcomputer, il 4004, ad un altro progettista suo "fedelissimo"... in realtà, guardando i "wafer" del 4004, si notano le iniziali "F.F." stampate nel microcircuito, ed i primi due brevetti riguardanti il 4004 furono proprio a nome di Faggin.

La Intel brevetterà inoltre diverse idee di Faggin senza farglielo sapere - questa storiaccia dei brevetti si protrarrà per moltissimi anni a venire.

La storia non è finita! A luglio 2002 Faggin riprese i contatti con la Zilog; attualmente (2006) è CEO (Chief Official Executive) della Foveon, l'azienda che ha prodotto gli avveniristici sensori per la fotografia digitale che surclassano ampiamente i CCD e i CMOS, rispetto ai quali non hanno bisogno di "grigliare" il colore.

Federico Faggin è dunque da riconoscere almeno come:

· l'inventore del primo microcomputer a 4 bit, il 4004 prodotto dalla Intel, tra il 1969 e il 1971;

· l'inventore del più famoso e diffuso e longevo microprocessore della storia dell'informatica, lo Z80, tra il 1974 e il 1976;

· l'inventore del più semplice dispositivo di puntamento dai tempi del mouse: il touchpad, tra il 1992 e il 1994;

· tutto questo per non parlare della tecnologia MOS, del silicon gate, etc.




--------------------------------------------------------------------------------

NOTA: Ted Hoff , uno degli ingegneri dello staff di Faggin cercò invano di auto-attribuirsi l’invenzione dell’Intel 4004 ... tutt’ora alcuni ricercatori americani ci provano per puro istinto patriottico...ma è inutile ,il prodotto è stato partorito dal genio italiano!


Marcian "Ted" Hoff


Il cuore dello Z80 parla italiano.

Il microprocessore più famoso del mondo è senza dubbio lo Z80: dal suo lancio commerciale nel maggio del 1976, tra Z80 e "compatibili Z80" ne sono stati venduti oltre un miliardo di pezzi, e gode di un successo ininterrotto che sta per toccare i trent'anni. Pochi però sanno che la mente che lo ha partorito è quella di un italiano, Federico Faggin. E c'è anche di più... Trapiantato in California dal 1968, l'appena ventiseienne Faggin viene assunto dalla Intel per la quale progetta e realizza il primo microprocessore su singolo chip, il 4004, che fu lanciato sul mercato alla fine del 1971. Si trattava di un processore a 4 bit capace di ben 92 operazioni al secondo. Nonostante i vertici della Intel fossero poco entusiasti - poiché all'epoca la Intel produceva solo memorie per computer - Faggin andò avanti e creò un anno dopo il successore a 8 bit del 4004, che fu chiamato 8008. Questo microprocessore era assai più veloce - poteva reggere un clock da 0,75 MHz - e Faggin stesso fu incaricato di contattare i possibili grossi clienti per piazzarlo commercialmente. Fece tesoro delle obiezioni di IBM, Nixdorf e altri, e lavorò su una nuova versione del processore, che verrà chiamato 8080. A causa del supporto degli interrupts, per l'8080 si prospettava un mercato enorme, ma Faggin ebbe da lottare per nove mesi per convincere i vertici. Ed infatti una volta lanciato sul mercato ebbe un grande successo, al punto che la Intel cambiò il suo numero di telefono perché terminasse con "8080". Per la politica della Intel di non promuovere adeguatamente la ricerca sui microprocessori, nel 1974 Faggin fu costretto a lasciarla per fondare una sua azienda, la Zilog, sulla quale investì subito un colosso come la Exxon. Il primo grande progetto della Zilog fu lo Z80, un processore a 8 bit compatibile con l'8080 (le tipiche battaglie legali sulle compatibilità cominceranno diversi anni più tardi), più economico, più potente, più veloce, e meno esoso quanto a circuiterie. Fu lanciato sul mercato nel maggio del 1976, oscurando il successo dell'8080. Alla fine degli anni settanta si cominciò a lavorare su processori a 16 e 32 bit. Mentre alla Zilog si creava lo Z8000 e alla Intel nasceva l'8086 (che all'8080 somigliava però solo nel nome), il mercato veniva inondato da computer basati su processore Z80 e sistema operativo CP/M (oppure Basic residente); anche sir Clive Sinclair adottava lo Z80 per la sue prime creature, lo ZX80 e lo ZX81. Ma nel dicembre del 1980, stufo della pretesa della Exxon di dettar legge in casa sua, Faggin fu costretto a lasciare la Zilog che lui stesso aveva fondato, smettendo definitivamente di lavorare sui microprocessori. Nel frattempo la IBM, nel far guerra alla Exxon, scelse per i suoi PC i processori della famiglia Intel 8086 preferendoli agli Z8000, nonostante questi ultimi fossero più convenienti, ed emanò addirittura una circolare interna in cui si diceva di boicottare la Zilog perché "affiliata" con la Exxon. Il successivo boom degli "IBM compatibili" fu tale che anche l'Olivetti, che aveva da poco lanciato il suo M20 con processore Z8000, si convertì agli Intel. Nell'aprile del 1982 Sinclair aveva lanciato lo Zx Spectrum, basato sul processore Z80A (versione migliorata e più veloce dello Z80) ma per qualche motivo che a noi comuni mortali è dato solo di congetturare, il QL fu costruito attorno al processore Motorola 68008 anziché sullo Z8000. Negli anni ottanta lo Z80, via via meno appetibile per le macchine per l'ufficio, fu utilizzato nei videogiochi da bar e negli home computer (Sinclair, MSX e moltissimi altri), e successivamente venne adottato nei piccoli videogiochi (un nome per tutti, il Gameboy Nintendo) e nei sistemi industriali, schede elettroniche, impianti telefonici, etc. Qualche anno dopo Faggin fondò la Synaptics, che nel 1994 lanciava il touch pad, il tappetino elettrostatico di grandissimo successo che ha sostituito il mouse in quasi tutti i computer notebook che oggi vediamo in circolazione. Sono state assai spesso le guerre commerciali a determinare il successo o l'insuccesso di un progetto: un caso che meriterebbe attenzione è la ritrosia della IBM ad utilizzare il touch pad nei suoi notebook fino a tempi quasi recenti. La stessa Intel, nella sua storia ufficiale, ha assegnato la paternità dell'invenzione del primo microcomputer del mondo, il 4004, ad un altro suo progettista, nonostante tra i microcircuiti del 4004 siano chiaramente leggibili le iniziali "F.F." di Federico Faggin.



Fine articolo