Кіріспе
32 бит микропроцессор NS32000, кейде 32k деп аталады, National Semiconductor компаниясы шығарған микропроцессорлар сериясы. Отбасының алғашқы мүшесі 1982 жылы нарыққа шықты, алғашқыда 16032 деп белгіленді, кейін 32016 аталды. Бұл 32 бит деректерді толығымен пайдаланатын нарықтағы алғашқы мақсатты микропроцессор болды: Motorola 68000 да 32 бит деректерді қолданды, бірақ 16 биттік АЛУ болғандықтан көптеген операцияларды орындау екі есе ұзаққа созылды. VAX өзінің жоғары "ортогональды" нұсқаулар жиынтығы архитектурасымен (ISA) белгілі, онда кез келген нұсқау кез келген дерекке қолданылуы мүмкін. Мысалы, ADD нұсқаулығы екі процессор тіркелімінің мазмұнын қосуы мүмкін, немесе бір тіркелімінің жадтағы мәнмен, екі жадтағы мәнмен қосуы немесе тіркелімінің адреске қатысты смещения ретінде қолдануы мүмкін. Бұл икемділік күрделі нұсқаулар жиынтығының (CISC) компьютерлер дәуірінде дизайнның үлгісі саналды. Сонымен қатар, National Semiconductor компаниясы NS32032 және NS32132 болашақ нұсқаларын жариялады. Біріншісі, NS16032-нің 32 биттік сыртқы деректер шинасы бар нұсқасы болды, бұл деректерді екі есе жылдам оқуға мүмкіндік берді. Бұл 1984 жылы шығарылатын жоба еді. NS32132 29 биттік ішкі және 32 биттік сыртқы адрестермен нұсқа болды, бұл оған толық 4 ГБ жадты қарауға мүмкіндік берді. Ол 1985 жылы шығарылуы тиіс еді. 1982 жылы 68k енгізілгені 68k нарықта кеңінен қолданылғаннан кейін шамамен екі жыл өткенімен, 32016 қызығушылық тудырды. Алайда, алғашқы нұсқаларында көптеген қателер болды және олар көбінесе номиналды жылдамдықпен жұмыс істемеді. 1984 жылға қарай, екі жылдан кейін, қателер тізімінде процессордың тоқтауына және қайта іске қосылуға себеп болатын бақылаусыз жағдайларды анықтайтын элементтер сақталды. Бастапқы өнімнің жол картасында 1983 жылы 6 МГц және 10 МГц, ал 1984 жылы 12 МГц және 14 МГц процессорлар көзделген. Алайда, 1984 жылғы баспасөз хабарларында бұл жол картасын сақтауда қиындықтар туындады, өйткені бөліктердің жиілігін 6 МГц-тен 8 МГц-ке дейін арттыруға бес ай кетті, ал өкілдер жиілікті 10 МГц-ке дейін арттыруға тағы "екі, үш немесе бес ай" қажет екенін бағалады. Чипсеттегі бес чиптің екеуі осы мәселелерге себеп болды. 1985 жылдың басында 32016 негізіндегі Whitechapel MG 1 жұмыс станциясы туралы мақалада 32081 жад басқару блогы "қателерге ұшырап тұрғаны" және аппараттық түзетулерді қамтамасыз ету үшін жеке тақтада орналасқаны айтылды. 1986 жылы Texas Instruments компаниясы "толық білікті 10 МГц TI32000 32 биттік микропроцессорлық чип-жинағын" жариялады, ол TI32016 CPU және TI32082 жад басқару блогынан (48 контактілі құрылғылар), TI32201 уақыт басқару блогынан және TI32081 қалқыма нүктелік блогынан (24 контактілі құрылғылар) және TI32202 үзіліс басқару блогынан (40 контактілі құрылғы) тұрды, бес құрылғыдан тұратын чип-жинағының бағасы "100 данаға 289 доллар" болды. National компаниясы бөлшекті өндіріске енгізу үшін жобалау әдістемесін өзгертті және "Z" тіліне негізделген жобалау жүйесін Тель-Авив университетімен бірлесіп әзірледі, ол Израильдің Герцлия қаласындағы "NSC" жобалау орталығына жақын орналасқан. "Z" тілі бүгінгі Verilog және VHDL тілдеріне ұқсас, бірақ Pascal сияқты синтаксиске ие және екі фазалы сағаттық дизайн үшін оңтайландырылған. Алайда, осы күш-жігердің нәтижесі сезілген кезде, Apple Macintosh сияқты көптеген 68k машиналары нарықта болды, ал 32016 кеңінен қолданылмады. 32016 16 биттік сыртқы деректер шинасы, 24 биттік сыртқы адрестік шинасы және толық 32 биттік нұсқаулар жиынтығына ие. Ол сондай-ақ копроцессор интерфейсін қамтиды, бұл FPU және MMU сияқты копроцессорларды негізгі процессорға теңдес ретінде қосуға мүмкіндік береді. MMU сұраныс бойынша беттік жадты виртуалды жадқа негізделген, бұл бәсекелестер қолданатын сегменттелген жадтан ерекшеленеді және бүгінгі микропроцессорлардың дизайны үшін стандартқа айналды. Архитектура беттік қатеде нұсқауды қайта іске қосу механизмін қолдайды, бұл Motorola әдісінен гөрі таза, ол беттік қатеде ішкі күйді төгіп тастауды талап етеді, оны нұсқау жалғастырылатын бұрын қайта оқу керек. 68k нұсқаулар жиынтығымен жиі салыстырылса да, NSC қызметкерлері бұл пікірге келіспеді; сол кездегі басты маркетингтік фраза "Талапкерлік - бәрі", өте ортогональды 32000 сериясын "kludge"мен салыстырды. Бір маңызды айырмашылық - Motorola-ның адрестік және дерек тіркелімдерін пайдалануы, нұсқаулар тек адрестік немесе дерек тіркелімдерінде жұмыс істейді. 32000 сериясында техникалық құжаттамада "адрес-дерек" тіркелімдері деп сипатталған жалпы мақсаттағы тіркелімдер бар.
The NS32000, sometimes known as the 32k, is a series of microprocessors produced by National Semiconductor. The first member of the family came to market in 1982, briefly known as the 16032 before becoming the 32016. It was the first general purpose microprocessor on the market that used 32 bit data throughout: the Motorola 68000 used 32 bit data but had a 16 bit ALU and thus took twice as long perform many operations. The VAX is well known for its highly "orthogonal" instruction set architecture (ISA), in which any instruction can be applied to any data. For instance, an ADD instruction might add the contents of two processor registers, or one register against a value in memory, two values in memory, or use the register as an offset against an address. This flexibility was considered the paragon of design in the era of complex instruction set computers (CISC). At the same time, National Semiconductor also announced two future versions, the NS32032 and NS32132. The former was essentially a version of the NS16032 with a 32 bit external data bus, allowing it to read data at twice the rate. This was project to be released in 1984. The NS32132 was a version with a 29 bit internal addresses and 32 bit external, allowing it to address a complete 4 GB of memory. It was to be released in 1985. Although a 1982 introduction post dates the 68k by about two years, the 68k was not yet being widely used in the market and the 32016 generated significant interest. Unfortunately, the early versions were filled with bugs and could rarely be run at their rated speed. By 1984, after two years, the errata list still contained items specifying uncontrollable conditions that would result in the processor coming to a halt, forcing a reset. The original product roadmap envisaged 6 MHz and 10 MHz parts during 1983 and 12 MHz and 14 MHz parts during 1984. However, press reports in 1984 indicated difficulties in keeping to this roadmap, with it reportedly having taken five months to increase the frequency of the parts from 6 MHz to 8 MHz, and with representatives estimating a further "two, three or five months" to increase the frequency to 10 MHz. Two unspecified chips of the five in the chipset were reported to be the cause of these problems. An early 1985 article about the 32016 based Whitechapel MG 1 workstation noted that the 32081 memory management unit was "suffering from bugs" and had been situated on its own board providing hardware fixes. In 1986, Texas Instruments announced a "fully qualified 10 MHz TI32000 32 bit microprocessor chip set" consisting of the TI32016 CPU and TI32082 memory management unit as 48 pin devices, the TI32201 timing control unit and TI32081 floating point unit as 24 pin devices, and the TI32202 interrupt control unit as a 40 pin device, with the five device chipset "priced at $289 in 100 unit quantities". National changed its design methodology to make it possible to get the part into production and a design system based on the language "Z" was co developed with the University of Tel Aviv, close to the "NSC" design centre in Herzliya, Israel. The "Z" language is similar to today's Verilog and VHDL, but has a Pascal like syntax and is optimized for two phase clock designs. However, by the times the fruit of these efforts were being felt in the design, numerous 68k machines were already on the market, notably the Apple Macintosh, and the 32016 never saw widespread use. The 32016 has a 16 bit external data bus, a 24 bit external address bus, and a full 32 bit instruction set. It also includes a coprocessor interface, allowing coprocessors such as FPUs and MMUs to be attached as peers to the main processor. The MMU is based on demand paging Virtual Memory, which is the most unusual feature compared to the segmented memory approach used by the competition, and has become the standard for how microprocessors are designed today. The architecture supports an instruction restart mechanism on a page fault, which is much cleaner than the Motorola approach to dump the internal status on a page fault, which has to be read back, before the instruction is continued. While often compared to the 68k's instruction set, this was rejected by NSC employees; one of the key marketing phrases of the time was "Elegance is Everything", comparing the highly orthogonal Series 32000 to the "kludge". One key difference is Motorola's use of address registers and data registers, with instructions only working on either address or data registers. The Series 32000 has general purpose registers, described as "address data" registers in technical documentation.
32032 - - - - - - - -
32032 1984 жылы ұсынылды. Ол 32016-мен дерлік толық үйлесімді, бірақ 32 биттік деректер шинасына ие (бірақ 24 биттік адрес шинасын сақтай отырып), осы арқылы сәл жылдам жұмыс істейді, бұл "миникомпьютердің өнімділігі" деп сипатталып, VAX 11 жүйесімен салыстыруға болады. Арзан қолданулар үшін деректер шинасы 8 битке дейін тарылтылған 32008 моделі де болды. Ол MC68008 сияқты философиялық тұрғыдан ұқсас, бірақ одан да аз танымал. National сонымен қатар NS32081 қозғалатын нүктелі процессор (FPU), NS32082 жадты басқару блогы (MMU), NS32203 тікелей жадқа қол жеткізу (DMA) және NS32202 үзіліс контроллері сияқты байланысты қолдау чиптерінің сериясын жасады. Толық жиынтық, жад чиптері мен сыртқы құрылғылармен бірге, қазіргі заманғы көп тапсырмалы операциялық жүйелерді қолдайтын 32 биттік компьютер жүйесін құруға мүмкіндік берді, бұл бұрын тек қымбат миникомпьютерлер мен мейнфреймдерде ғана мүмкін болған.
32332, 32532 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1985 жылы National Semi 32032-нің жақсартылған нұсқасы – NS32332-ні ұсынды. Техникалық сипаттамада жақсартулар: "жаңа арналған адрестеу аппараттарының (жоғары жылдамдықты АЛУ, цилиндрлік ауыстырғыш және адрестік тіркегіштен тұрады) қосылуы, өте тиімді (20 байт) нұсқауларды алдын ала жүктеу буфері, жаңа жүйе/жад шинасы интерфейсі/протоколы, тиімділігі жоғары бағынышты процессор протоколы және, соңында, микрокодтың жақсаруы" деп көрсетілген. Сонымен қатар, жаңа NS32382 MMU, NS32381 FPU және (өте сирек) NS32310 Weitek FPA интерфейсі де болды. NS32332-дегі осы жақсартулардың жиынтық нәтижесі оны бастапқы NS32032-ден 50 пайызға жылдамдатты, бірақ бәсекелес MC68020-дан кем қалды. National Semi 1987 жылдың басында NS32532-ні ұсынды. 20, 25 және 30 МГц жиілікте жұмыс істейтін бұл процессор, ішкі құрылымы толыққанды қайта жасалған, бес кезеңді конвейерлік құрылымға, интеграцияланған кэш/MMU-ға және жадтың өнімділігін жақсартуға ие болды. Оның өнімділігі бәсекелес MC68030 және i80386 процессорларынан шамамен екі есе жоғары болды. Осы кезде RISC архитектуралары кеңінен қолданыла бастады, ал басты бәсекелестер – қазір қолданыстан шыққан AM29000 және MC88000 процессорлары болды, олар NS32532-ден жылдам деп есептелді. Қалқымалы нүктелі есептеулер үшін NS32532 қолданыстағы NS32381 немесе NS32580 интерфейсі арқылы Weitek FPA-ға қосылды. NS32532 – PC532 жобасының негізі болды, бұл "ашық кодты" аппараттық жоба, және нақты операциялық жүйеде (осы жағдайда Minix немесе NetBSD) жұмыс істейтін пайдалы машинаны жасаған сирек жобалардың бірі еді. NS32732 (кейде NS32764 деп аталады) – NS32532-нің жоғары өнімділікке ие мұрагері ретінде жоспарланған, бірақ ешқашан нарыққа шықпады.
Қалқан балық
NS32732 туындысы Swordfish деп аталды, ол кіріктірілген жүйелерге бағытталған және шамамен 1990 жылы пайда болды. Swordfish интеграцияланған қозғалмалы нүктелік блогы, таймерлер, DMA контроллерлері және микропроцессорларда әдетте кездеспейтін басқа да сыртқы құрылғылармен жабдықталған. Ол 64 биттік деректер шинасына ие және ішкі жағынан 25-тен 50 МГц-ге дейін үдемелендірілген. Swordfish-тің бас архитекторы – Дональд Альперт, ол кейіннен Pentium-ді жобалаған архитектуралық команданы басқарды. Pentium-ның ішкі микроархитектурасы бұрынғы Swordfish-ке ұқсас. Swordfish жоғары деңгейдегі PostScript лазерлік принтерлеріне бағытталған, ал сол кездегі өнімділігі ерекше болды. Бәсекелес шешімдер минутына шамамен бір жаңа бет шығара алса, Swordfish демо-үлгісі минутына он алты бетті басып шығарды, бұл тек лазерлік механизмнің жылдамдығымен шектелді. Әр бетке механизмнің жұмысын аяқтауын күтіп, бос тұрған уақыты қанша екенін жазып шығаратын. Swordfish чипінің мөлшері өте үлкен болғандықтан, жобаны тоқтату туралы шешім қабылданды және өнім ешқашан өндіріске енгізілген жоқ. Swordfish-тен алынған тәжірибелер CompactRISC жобаларында пайдаланылды. Бастапқыда CompactRISC 32 және CompactRISC 16 екі нұсқасы болды, олар "Z" технологиясын қолданып жасалған. National компаниясы CompactRISC 32 ядросы бар чиптерді нарыққа шығармады. National's Research бөлімі Мичиган университетімен бірлесіп алғашқы синтезделетін Verilog моделін жасады, ал Verilog CR16C және одан кейін қолданылды.
Мұра
2015 жылдың маусым айында Удо Мёльлер OpenCores платформасында NS32000 процессорының толық Verilog нұсқасын жариялады. N32381 FPU процессоры бар NS32532 CPU-мен толық бағдарламалық үйлесімділікке ие, ол FPGA-да іске асырылғанда едәуір жылдамдыққа қол жеткізеді, жоғары тактоқ жиілігінде жұмыс істейді және әр командаға жұмсалатын циклдар санын азайтады.