L'NS32000, de vegades conegut com a 32k, és una sèrie de microprocessadors produïts per National Semiconductor. El treball de disseny va començar al voltant de 1980 i es va anunciar a la Conferència Internacional de Circuits d'Estat Sòlid a l'abril de 1981.

El primer membre de la família va arribar al mercat el 1982, conegut breument com a 16032 abans de ser rebatejat com a 32016. Va ser el primer microprocessador d'ús general del mercat que utilitzava dades de 32 bits internament: el Motorola 68000 tenia registres i instruccions de 32 bits per realitzar aritmètica de 32 bits, però utilitzava una ALU de 16 bits per a operacions aritmètiques sobre dades i, per tant, trigava el doble que el 32016 a realitzar aquestes operacions aritmètiques. No obstant això, el 32016 contenia molts errors i sovint no es podia executar a la seva velocitat nominal. Aquests problemes, i la presència del 68000, que era similar i que havia estat disponible des del 1980, van provocar un escàs ús al mercat malgrat el considerable interès inicial.

Van seguir diverses versions millorades, inclosa la 32032 de 1985, que era essencialment una 32016 corregida d'errors amb un bus de dades extern de 32 bits. Tot i que oferia una velocitat un 50% superior a la del 32016, va ser superat pel Motorola 68020 de 32 bits, llançat un any abans. El 32532, llançat el 1987, va superar el Motorola 68030 contemporani per gairebé dues vegades, però en aquell moment la major part de l'interès pels microprocessadors s'havia dirigit cap a les plataformes RISC i aquest disseny, que per altra banda era excel·lent, gairebé no va tenir cap ús.

National estava treballant en millores addicionals al 32732, però finalment va abandonar l'intent de competir en l'espai de la unitat central de processament (CPU). En canvi, l'arquitectura bàsica 32000 es va combinar amb diversos sistemes de suport i es va rellançar com el microcontrolador Swordfish. Això va tenir cert èxit al mercat abans que fos substituït per l'arquitectura CompactRISC a mitjans dels anys noranta.

Concepte de disseny miniatura|Microprocessador NS32008 La sèrie NS32000 té els seus orígens en un esforç de National Semiconductor per produir una implementació d'un sol xip de l'arquitectura VAX-11. El VAX és conegut per la seva arquitectura de conjunt d'instruccions (ISA) altament "ortogonal", en la qual qualsevol instrucció es pot aplicar a qualsevol dada. Per exemple, una instrucció ADD pot sumar el contingut de dos registres del processador, o un registre contra un valor de la memòria, dos valors de la memòria o utilitzar el registre com a offset contra una adreça. Aquesta flexibilitat es considerava el model de disseny a l'era dels ordinadors amb conjunts d'instruccions complexos (CISC).

La sèrie NS32000 té els seus orígens en un esforç de National Semiconductor per produir una implementació d'un sol xip de l'arquitectura VAX-11. El VAX és conegut per la seva arquitectura de conjunt d'instruccions (ISA) altament "ortogonal", en la qual qualsevol instrucció es pot aplicar a qualsevol dada. Per exemple, una instrucció ADD pot sumar el contingut de dos registres del processador, o un registre contra un valor de la memòria, dos valors de la memòria o utilitzar el registre com a offset contra una adreça. Aquesta flexibilitat es considerava el model de disseny a l'era dels ordinadors amb conjunts d'instruccions complexos (CISC).

National va portar Digital Equipment Corporation (DEC) als tribunals de Califòrnia per garantir la legalitat del disseny, però quan DEC va traslladar la demanda a Massachusetts, l'estat natal de DEC, la demanda es va retirar i es va desenvolupar l'arquitectura de la Sèrie 32000. Tot i que la nova arquitectura del conjunt d'instruccions no era compatible amb el VAX-11, sí que conservava la seva filosofia de disseny altament "ortogonal". És a dir, cada instrucció es podria utilitzar amb qualsevol tipus de dades. Els articles de l'època també es referien a això com a "simètric".

La família de processadors original consistia en la CPU NS16032 i una variant de baix consum NS16C032, ambdues amb una ruta de dades de 16 bits i, per tant, requerien dos cicles de màquina per carregar una sola paraula de 32 bits. Ambdues es podien utilitzar amb la unitat de gestió de memòria (MMU) NS16082, que proporcionava suport de memòria virtual de 24 bits per a un màxim de 16 MB de memòria física. L'NS16008 era una versió reduïda amb una ruta de dades externa de 8 bits i sense suport de memòria virtual, que tenia un nombre de pins reduït i, per tant, era una mica més fàcil d'implementar. Tant l'NS16008 com l'NS16016 havien de tenir un mode d'emulació per a l'Intel 8080 que funcionava a quatre vegades la velocitat d'aquest processador.

Tots aquests també es podrien utilitzar amb la unitat de coma flotant (FPU) NS16081.

Arquitectura Registres NS 32000: 31...23...15...07...00(bit position)General registersR0Register 0R1Register 1R2Register 2R3Register 3R4Register 4R5Register 5R6Register 6R7Register 7Index registers0000 0000SP1Stack Pointer (user)0000 0000SP0Stack Pointer (int)0000 0000SBStatic Base0000 0000FPFrame Pointer0000 0000INTBASEInterrupt BaseProgram counter0000 0000PCProgram CounterMODModule descriptor Program Status Register15141312111009080706050403020100(bit position)––––IPSUNZF––LTCPSR Els processadors tenen 8 registres de 32 bits d'ús general, a més d'una sèrie de registres d'ús especial:

Punter de marc Punter de pila (un per a cada mode d'usuari i un per a cada mode de supervisor) Registre base estàtic, per fer referència a variables globals Registre base d'enllaç per a mòduls enllaçats dinàmicament (orientació a objectes) Comptador de programes Un registre d'estat de processador típic, amb un byte d'usuari d'ordre inferior i un byte de sistema d'ordre superior.

El conjunt d'instruccions s'assembla molt al model CISC, amb instruccions de 2 operands, operacions de memòria a memòria, modes d'adreçament flexibles i codificació d'instruccions alineades amb bytes de longitud variable. Els modes d'adreçament poden implicar fins a dos desplaçaments i dues indireccions de memòria per operand, així com indexació escalada, fent que la instrucció més llarga concebible sigui de 23 bytes. El nombre real d'instruccions és molt inferior al dels processadors RISC contemporanis.

El conjunt d'instruccions s'assembla molt al model CISC, amb instruccions de 2 operands, operacions de memòria a memòria, modes d'adreçament flexibles i codificació d'instruccions alineades amb bytes de longitud variable. Els modes d'adreçament poden implicar fins a dos desplaçaments i dues indireccions de memòria per operand, així com indexació escalada, fent que la instrucció més llarga concebible sigui de 23 bytes. El nombre real d'instruccions és molt inferior al dels processadors RISC contemporanis.

Els operands d'ús general s'especifiquen mitjançant un camp de 5 bits. A això es pot afegir un byte d'índex (que especifica el registre d'índex i l'adreça base de 5 bits) i fins a 2 desplaçaments de longitud variable per operand.

Referències

Categoria:Microprocessadors