Electronic Arrays 9002 -Electronic Arrays 9002

Electronic Arrays 9002
Electronic Arrays 9002.png
Generell informasjon
Lanserte 1976 ; 46 år siden ( 1976 )
Avviklet 1977 ( 1977 )
Vanlige produsent(er)
Opptreden
Maks. CPU klokkefrekvens 4 MHz
Databredde 8
Adressebredde 12
Arkitektur og klassifisering
Instruksjonssett Electronic Arrays 9002
Bruksanvisning 55
Fysiske spesifikasjoner
Pakke(r)

Electronic Arrays 9002 , eller EA9002 , var en 8-bits mikroprosessor utgitt i 1976. Den ble designet for å være enkel å implementere i systemer med få nødvendige støttebrikker. Den inkluderte 64 byte med innebygd RAM og kunne kobles direkte til TTL- enheter. Den ble pakket i en 28-pinners DIP som gjorde den rimeligere å implementere enn moderne design som 40-pinners MOS 6502 og Zilog Z80 . I dag ville det være kjent som en mikrokontroller , selv om det begrepet ikke eksisterte på den tiden.

28-pinners design hadde ikke nok pinner til overs til å implementere en 16-bit adressebuss, og hadde i stedet 12 adresselinjer som begrenset hovedminnet til 4096 byte. Dette var ikke en betydelig begrensning på den tiden, siden minne fortsatt var veldig dyrt og målmarkedet ofte kunne nøye seg med intern RAM. Det var en enkelt 8-bits akkumulator brukt til matematikk og åtte 8-bits registre den kunne bruke for å lagre midlertidige verdier. Disse ble støttet av ytterligere åtte 4-bits registre som fungerte som de mest signifikante bitene i 8-bits registre, og utvidet dem til 12-biter for indeksering og lignende adressemanipulering.

Electronic Arrays (EA) hadde problemer med den nye depletion-load NMOS logiske fabrikasjonslinjen og slet med leveranser. I 1977 hadde 6502 og Z80 overtatt store deler av markedet, og i november sluttet EA å selge designet. Selskapet ble solgt til NEC året etter.

Historie

Electronic Arrays hadde sin første store suksess i 1970 med et seks-brikkes elektronisk kalkulatorbrikkesett , som de stadig hadde forbedret over flere trinn til et enkeltbrikkeformat. Imidlertid hadde andre selskaper kontinuerlig slått dem til markedet med redusert antall brikker, først Mostek og Texas Instruments , og senere en rekke japanske elektronikkfirmaer. På midten av 1970-tallet trengte selskapet desperat en ny produktlinje og begynte utviklingen av en CPU.

På det tidspunktet 9002 ble designet, hadde mikrodatamaskinen ennå ikke dukket opp som et stort marked, og tidenes prosessorer ble for det meste brukt i innebygd elektronikk som elektroniske kalkulatorer , kasseapparater , bensinpumper og lignende roller. For disse bruksområdene ble dataprogrammet normalt lagret på skrivebeskyttet minne (ROM) og mengden av tilfeldig tilgangsminne (RAM) som trengs var svært liten – for eksempel å holde styr på antall liter pumpet og totalkostnaden. Dette førte til at designere utviklet systemer som inkluderte så mange av disse funksjonene som mulig på en enkelt brikke slik at det totale antallet brikker i et komplett system ble redusert.

På midten av 1970-tallet hadde dynamisk RAM ennå ikke dukket opp som den primære formen for hovedminne , og de fleste systemer brukte mye dyrere statisk RAM . For innebygde kontrollere kan dette representere en betydelig kostnad, så det var ønskelig for designere å legge til en liten mengde "scratchpad RAM" til systemet for å unngå å måtte legge til flere RAM-brikker til brettet. Siden de fleste systemer ville ha lite eller ingen ekstern RAM og små programmer i ROM, var det også vanlig å bruke mindre adresserom da dette gjorde at antall pinner kunne reduseres, noe som forenklet kretskortoppsettet .

En annen stor endring som fant sted på midten av 1970-tallet var introduksjonen av utarmingsbelastning NMOS-logikkdesign . Tidligere fabrikasjonssystemer som brukte "enhancement-load" kretser krevde tre inngangsspenninger, hvorav en typisk var +12V. Dette gjorde ikke bare kretsoppsettet mer komplekst og krevde ofte en mer kompleks strømforsyning også, det gjorde det også vanskeligere å koble til eksterne støttekretser som stort sett var basert på transistor-transistor-logikk (TTL) som kjørte på +5V. Forbindelse mellom eldre brikker med det store utvalget av TTL-komponenter krevde vanligvis ekstra låser , men de nye utarmingslastdesignene fungerte ved +5V og koblet direkte, noe som reduserte kostnadene og kompleksiteten.

9002 ble designet for å dra nytte av alle disse nye konseptene. Den inkluderte 64 byte med skrapelodd RAM og en 12-biters adresseplass, slik at den kunne pakkes i en 28-pinners dual in-line-pakke (DIP), sammenlignet med 40-pinners emballasje til de fleste design fra tiden som Zilog Z80 eller MOS 6502 . Den inkluderte også en egen syv-nivå anropsstabel med 12-biters adresser slik at subrutineanrop ikke måtte bruke skrapelodd. Dette gjorde at en enkel kontroller kunne implementeres i to brikker, 9002 og en ROM, sammen med nødvendig grensesnittmaskinvare som en Intel 8212 eller til og med en flip-flop.

Dessverre for Electronic Arrays gikk ikke opptrappingen av produksjonslinjen for uttømming av belastningen så bra som den gjorde for selskaper som MOS Technology , og ved slutten av 1976 slet de fortsatt med avkastningen. Neste år var sjetonger som 6502 og Z80 i ferd med å nå produksjonsskritt, og EA9002 hadde fortsatt ingen betydelige designgevinster . Selskapet ga til slutt opp og kansellerte linjen i november 1977. Økonomisk urolig ble Electronic Arrays kjøpt av NEC året etter og senere fusjonert inn i NEC Electronics USA, sammen med to andre av NECs datterselskaper, i 1981.

Ett elektronikkselskap, Pro-Log Corporation i Monterey, California , brukte 9002 i en enkeltbords datamaskin tidlig i 1977. I den første utgaven av An Introduction to Microcomputers viet Adam Osborne et kapittel til 9002. Han beskrev den som en kombinasjon av Fairchild F8 og RCA COSMAC , ved at den hadde skrapelodminnet og det overordnede konseptet til F8 med de flere generelle registrene til COSMAC. Da den andre utgaven ble publisert i 1977, ble imidlertid kapitlene som dekker EA9002 og Rockwell PPS-8 fjernet ettersom førstnevnte var kansellert og sistnevnte aldri utgitt.

Beskrivelse

Programmeringsmodell

9002 hadde 55 instruksjoner, mønstret på Intel 4040 . De fleste av disse var et enadresseformat, i så fall ble instruksjonsopkoden normalt delt i to, med fire biter som spesifiserte operasjonen og de fire andre et register. For eksempel hadde ADD - instruksjonen de mest signifikante bitene (MSB) "06", og de fire minst signifikante bitene (LSB) spesifiserte hvilke av registrene som skulle legges til akkumulatoren, 0 til 7. SUB -en brukte også de fire MSB-ene som "06", men de fire LSB-ene var 8 grundige F (heksidsimal).

Det var bare et lite antall to-byte-instruksjoner, vanligvis for å spesifisere en adresse eller bruke en umiddelbar verdi. For eksempel ville LAI (opcode 0D ) laste en umiddelbar verdi inn i akkumulatoren, og ble fulgt av en andre byte med den 8-biters umiddelbare verdien. LRI gjorde det samme for de andre registrene, med LSB-ene som indikerte hvilket register som skulle brukes. Hopp og grener brukte også to-byte-formatet, og ga adresseforskyvningen innenfor en "side". Det samme gjorde IRJ og DRJ , som økte eller dekrementerte et valgt register og deretter hoppet hvis det ikke var null. Den andre byten spesifiserte hoppstedet.

Adressering ble vanligvis utført i to trinn, ett for å laste de nedre 8-bitene av adressen inn i et av "generelle formål"-registrene, og deretter et andre for å laste de mest signifikante 4-bitene av adressen inn i "sideregisteret" . Introduksjonsmaterialet bruker dette eksemplet:

LAI 08    ; LAI=load-acc-immediate - copy the page number, 8, into the accumulator
CAP 4     ; CAP=copy-acc-to-page-register - store that 8 in the page part of register 4
LRI 4, 00 ; LRI=load-reg-immediate - load the value 0 into the lower part of register 4

Dette setter adressen i register 4 til det første stedet på side 8. Data kan deretter lastes eller lagres til akkumulatoren ved å bruke INP ut eller OUT put og spesifisere register 4 i LSB-ene.

Separate instruksjoner var også nødvendig for å lese og skrive den interne scratch RAM, som ellers fungerte som eksternt minne og måtte lastes og lagres gjennom akkumulatoren ved hjelp av RDS og WRS . En merkelig funksjon er at skrapelodden også kan brukes direkte som en operand i tilleggs- og subtraksjonsoperasjoner, ved å bruke ADS- og SUS - operasjonene, og dermed unngå å måtte laste inn verdien til akkumulatoren, lagre den i et register og deretter legge til.

Den aritmetiske logiske enheten (ALU) støttet både binær og pakket binærkodet desimal (BCD) matematikk, som var vanlig for tiden. Dette alternativet ble slått på med SED og av med SEB .

Andre notater

9002 kjørte normalt på 4 MHz. Det ble rapportert å ha en instruksjonshenting og utførelsestid på 2 mikrosekunder, selv om en annen kilde sier 3,2 mikrosekunder for enkeltbyteinstruksjoner og 6,4 mikrosekunder for tobyteinstruksjoner.

Støttesystemer

Siden systemet ikke ble utviklet særlig lenge før det ble kansellert, var få støttebrikker tilgjengelig. EA hadde en rekke ROM-er og statisk RAM, og omtrent samtidig introduserte de en ny 32x1 (4 kB) ROM som ofte ble illustrert brukt med 9002. Den eneste driver-ICen de introduserte var EA2000 99-tasters tastaturkontroller .

Utviklingen ble utført med en makromontør som kjørte på IBM System/360 som også var tilgjengelig online med National CSS . En systememulator var en del av pakken, og et enkelt oppstartskort var også tilgjengelig. ASM/GEN og SIM/GEN, systemer for utvikling for kryssmontører og simulatorer i FORTRAN IV , støttet EA9002 som et mål.

Notater

Referanser

Sitater

Bibliografi