HP 64000
HP 64000 Logic Development System, som introducerades 17 september 1979, är ett verktyg för att utveckla hårdvara och mjukvara för produkter baserade på kommersiella mikroprocessorer från en mängd olika tillverkare. Systemen assisterade mjukvaruutveckling med assemblerare och kompilatorer för Pascal och C, tillhandahöll hårdvara för in-circuit emulering av processorer och minne, hade felsökningsverktyg inklusive logikanalyshårdvara och en programmerbar läsbart minne (PROM) chipprogrammerare. Ett brett utbud av valfria kort och mjukvara var tillgängliga skräddarsydda för särskilda mikroprocessorer. När HP 64000 introducerades hade två utmärkande egenskaper. För det första, till skillnad från de flesta av dagens mikroprocessorutvecklingssystem, som Intel Intellec och Motorola EXORciser , var det inte dedikerat till en viss tillverkares mikroprocessorer, och för det andra var det designat så att upp till sex arbetsstationer skulle anslutas via HP-IB ( IEEE-488 ) instrumenteringsbuss till en gemensam hårddisk och skrivare för att bilda ett tätt integrerat nätverk.
Modeller
- 64100A , introducerades 1979. Det var en stationär arbetsstation som innehöll tio expansionsplatser för olika valfria kort. Det första erbjudandet av denna arbetsstation krävde en extern hårddisk för all disklagring, även om disken kunde delas av upp till sex arbetsstationer via HP-IB ( IEEE- 488 ) instrumenteringsbussen. Senare lades ett alternativ med dubbla diskettenheter till så att en arbetsstation kunde användas utan den delade hårddisken. Denna arbetsstation använde samma anpassade HP 16-bitars mikroprocessor som finns i HP 9845C- arbetsstationen. Mjukvara och hårdvara erbjöds för att utveckla 8-bitars och 16-bitars mikroprocessorer.
- 64110A , en mer portabel arbetsstation med fem kortplatser, introducerades 1983. Den använde samma HP-processor som 64100A.
- 64120A -korthållare introducerades 1986. Den passade samma tillvalskort som 64100A och 64110A och var ansluten via en IEEE-488-buss till en standard HP 9000 Series 300-arbetsstation som körde HP-UX- operativsystemet istället för att använda en specialdesignad arbetsstation som 64100A och 64110A. Namnet "HP 64000-UX Microprocessor Development Environment" användes med dessa system. Mjukvara och hårdvara introducerades för utveckling av 32-bitars mikroprocessorer.
- 64700A- korthållaren introducerades 1988. Det marknadsfördes som ett utvecklingssystem med lägre kostnader (jämfört med 64120A) som kunde användas med en IBM PC-kompatibel persondator snarare än en arbetsstation. Kort för detta system bar numren 647xx och var inte kompatibla med de andra systemen.
Beskrivning
Terminologi
Som visas i blockschemat till höger bestod ett 64000-system av ett antal komponenter vars namn hade specifika definitioner:
- Stordatorn är den fysiska arbetsstationen eller kortburen som håller tillvalskorten.
- Värden är processorn som driver stordatorn. I 64100A och 64110A är värdbussen arbetsstationsprocessorns adress-, data-, in-/utgångs- och styrbussar, som också ansluter till korten i korthållaren.
- Användarsystem är det mikroprocessorsystem som utvecklas. Termerna användarprocessor och användarminne beskriver de komponenterna i systemet som utvecklas.
- Emulering eller emulator avser valfria kort och annan hårdvara som är ansluten till stordatorn via plug-in-korten och kan ersätta processorn och/eller minnet i användarsystemet. Emulerings- och analyskort är sammankopplade med en emuleringsbuss som är helt separerad från värdbussen.
Mjukvaruutveckling
64000 tillhandahöll ett filsystem och textredigerare för att skriva programvara. Det fanns en generisk assembler / linker ( manuella Bitsavers ), Pascal -kompilator ( manuella Bitsavers ) och C- kompilator ( manuella Bitsavers ), som kompletterades med tilläggskorssammanställare och korskompilatorer för varje enskild mikroprocessor. En lista över dessa efter produktnummer är:
Mikroprocessor | Monteringsprodukt nr | Monteringsmanual | Pascal kompilatorprodukt # | Pascal kompilator manual | C-kompilatorprodukt # | C kompilatormanual |
---|---|---|---|---|---|---|
Motorola 6800/1/2/3/8 | 64841A | Bitsavers | 64811A | Bitsavers | 64821A | |
Motorola 6809 | 64844A | Bitsavers | 64813A (Diskbild på HPCM ) | Bitsavers | 64822A (Diskbild på HPCM ) | Bitsavers |
Motorola 68000/08/10 | 64845A (Diskbild vid HPCM *) | Bitsavers | 64815A (Diskbild på HPCM ) | Bitsavers | 64819A | Bitsavers |
Intel 8048 | 64846A (Diskbild på HPCM ) | Bitsavers | ingen | ingen | ||
Intel 8051 | 64855A (Diskbild på HPCM ) | ingen | ingen | |||
Intel 8080/8085 _ | 64840A | 64810A | Bitsavers | 64826A | ||
Intel 8086/87/88/186/188 | 64853A (Diskbild på HPCM ) | 64814A (Diskbild på HPCM ) | 64818A (Diskbild på HPCM ) | |||
Zilog Z80 | 64842A (Diskbild på HPCM ) | Bitsavers | 64823A (Diskbild på HPCM ) | 64824A (Diskbild på HPCM ) | ||
Zilog Z8 | 64850A | ingen | ingen | |||
Zilog Z8000 | 64854A | ingen | ingen | |||
RCA 1802 | 64848A | ingen | ingen | |||
MOS-teknik 6501/6505 | 64843A | ingen | ingen | |||
Texas Instruments TMS9900 | 64847A | ingen | ingen | |||
Texas Instruments TMS320 | 64858A | ingen | ingen | |||
Fairchild F8 | 64849A | ingen | ingen | |||
MIL-STD-1750A | 64857A | ingen | ingen |
* HPCM är Hewlett Packard Computer Museum
Dessutom fanns det en Pascal "Host Compiler", produktnummer 64817A- manual på Bitsavers , diskavbildning på HPCM , som kunde användas för att skriva program som skulle köras på arbetsstationens värdprocessor.
In-Circuit Emulering
64000-systemet kan, genom användning av valfria kort och mjukvara, utföra in-circuit emulering av en mängd olika mikroprocessorer och deras minne. Ett komplett emuleringssystem bestod vanligtvis av:
- Ett styrkort för mikroprocessoremulator, specifikt för varje mikroprocessor.
- En emulerings "pod" eller "probe", som innehöll gränssnittselektronik och var en extern modul till stordatorn. Processorn i användarsystemet togs bort från uttaget och en kabel från emuleringspodden kopplades in i dess ställe. Emuleringspodden innehöll en kopia av användarprocessorn som körde programkod precis som användarprocessorn skulle göra, och den verkade för användarsystemet som den normala processorn.
- Ett emuleringsminneskort och ett eller flera emuleringsminneskort. Emuleringsminnet skulle kunna användas för att ersätta minnet i användarsystemet så att till exempel användarprogramkod kan placeras i emuleringsminnet och exekveras istället för att behöva programmera ROM-chips.
- Ett "internt" analyskort, som var en logisk analysator som övervakade driften av den emulerade processorn och minnet.
- Emulatorprogramvara som gjorde det möjligt för operatören att starta och stoppa den emulerade processorn, undersöka innehållet i minnet och registrera platser, mäta signaltiming, observera programflödet och så vidare.
Bilden till höger visar en 64100A-arbetsstation som emulerar processorn i ett användarsystem via en emulatorpod. Bilden visar också en datainsamlingsenhet för ett "externt" logikanalyskort i 64100A som mätte ytterligare digitala signaler i användarsystemet.
Mikroprocessor | Emulatorkontrollkort produktnummer | Manuell | Emulation Pod Produktnummer | Manuell | Emuleringsprogramvara Produkt # | Manuell |
---|---|---|---|---|---|---|
Motorola 6800 | 64211A | Bitsavers | 64212A | Bitsavers | 64210A | Bitsavers |
Motorola 6801/6803 | 64256A | 64255A | 64256A | |||
Motorola 6802/6808 | 64211A | Bitsavers | 64213A | Bitsavers | 64210A | Bitsavers |
Motorola 6805 | 64191A | Bitsavers | 64192A/64193A | Bitsavers | 64192A (Diskbild hos Bitsavers ) | |
Motorola 6809 | 64214A | Bitsavers | 64215A/64216A | Bitsavers | 64215A (Diskbild hos Bitsavers ) | Bitsavers |
Motorola 68000 /68008 | 64243A/64244A | 64243A/64244A | 64243A (Diskbild på HPCM ) | Bitsavers | ||
Motorola 68010 | 64271A | 64249A | 64249A | |||
Intel 8048 | 64261A | 64262A | 64262A (Diskbild på HPCM ) | |||
Intel 8051 | 64263A | 64264A | 64264A | |||
Intel 8080 | 64201A | 64202A | 64202A | |||
Intel 8085 | 64201A | 64203A | 64203A | |||
Intel 8086 | 64271A | 64222A | 64222A (Diskbild på HPCM ) | |||
Intel 8088 | 64271A | 64226A | 64226A | |||
Intel 80186 | 64223A | 64224A | Bitsavers | 64224A | ||
Intel 80188 | 64223A | 64225A | 64225A | |||
Zilog Z80 | 64251A | 64252A | 64252A (Diskbild på HPCM ) | |||
Zilog Z8001/8002 | 64271A | 64232A/64233A | 64232A/64233A |
* HPCM är Hewlett Packard Computer Museum
Emulatorstyrkort anslutna till både värdbussen (stordator) och emuleringsbussen. De agerade för att skicka kontrollsignaler och data mellan värd- och emulerade system. Beroende på modell kan styrkortet också innehålla hårdvara för att flagga olagliga opkoder eller minnesåtkomster eller för att fungera som en intern logikanalysator.
Minnesemulering gör att RAM och/eller ROM i användarsystemet kan ersättas med minne i 64000-systemet. Två emuleringsminneskontrollkort erbjöds:
- 64151A Emulation Memory Controller (manual på Bitsavers ), som hade 16 adressrader så att den kunde adressera 64 KB minne, och
- 64155A Wide Address Memory Controller (manual på Bitsavers ), som hade 24 adresslinjer så kunde adressera 16 MB minne.
Minneskartor för användarsystemet skulle kunna specificeras i termer av RAM, ROM och skyddat minne. Försök att skriva till ROM eller åtkomst till skyddat minne upptäcktes av minneskontrollern och kunde utlösa åtgärder som programbrytpunkter.
Minneskort med olika kapaciteter av statiskt RAM erbjöds. Korten 64152B, 53B och 54B gav 32, 16 respektive 8 KB och 64161A, 62A och 63A-korten gav 128, 64 respektive 32 KB. De kan var och en konfigureras för 8-bitars eller 16-bitars databussar. Minneskort kopplades samman och till minneskontrollern genom en emuleringsminnesbuss. Åtkomst till emuleringsminne av antingen värd- eller användarsystemet skedde via styrkortet.
När väl den emulerade processorn och minnet tog plats för processorn och minnet i användarsystemet, kunde designern skriva och kompilera programkod, ladda den i emuleringsminnet och starta användarsystemet, köra programmet i den emulerade processorn.
Analys
Ett 64000-system skulle kunna fungera som en logisk analysator för att mäta digitala signaler inom användarsystemet. Två typer av logikanalyskort erbjöds, "interna" analysatorer som mätte signaler direkt från emuleringsbussen i stordatorn, och "externa" analysatorer som använde separata sonder för att fysiskt ansluta till delar av användarsystemet. I likhet med produkterna för processor- och minnesemulering var analysfunktionerna ofta uppdelade i styrkort och datainsamlingskort. Vissa av emuleringsprocessorns styrkort erbjöd interna analysfunktioner utan separat hårdvara.
Hårdvara för logikanalys var också uppdelad i tillståndsanalysatorer och tidsanalysatorer . De förstnämnda mätte signaler synkront med en systemklocka och kunde till exempel registrera adress-, data- och styrbussarnas tillstånd i användarsystemet vid varje CPU-cykel. Dessa data presenterades normalt som ett spår , som visar värdet på varje buss för varje CPU-cykel. För många mikroprocessorer fanns en "invers assembler" tillgänglig som skulle omvandla värden uppmätta på databussen till Opcodes för användarprocessorn.
Den andra formen av logikanalys var tidsanalys. En analysator för tidsstyrning, eller asynkron logik, mätte digitala signaler vid specificerade tidsintervall, inte nödvändigtvis synkroniserade med användarens systemklocka. Sådan analys kan användas för att hitta fel eller verifiera att digitala signaler hade rätt timings.
Förutom dessa logikanalysfunktioner fanns "mjukvaruanalys"-alternativ tillgängliga. Dessa verktyg fungerade som vad som numera vanligen kallas debuggers och profilerare .
En lista över analysprodukter är:
Produktnummer | Beskrivning | Manuell |
---|---|---|
64300A | Intern logikanalysator | |
64302A | Intern Wide Logic Analyzer | Bitsavers |
64310A | Software Performance Analyzer | Bitsavers |
64331A | 68000 High Level Software Analyzer | |
64601A | Timing/Hårdvara Analyzer Controller | Bitsavers |
64602A | 8 Channel Timing Acquisition | Bitsavers |
64604A | 8-kanals tidssond | Bitsavers |
64621A | Tillstånd/Programvara Analyzer Controller | Bitsavers |
64622A | 40 Channel State Acquisition | Bitsavers |
64623A | 20 Channel State Acquisition | Bitsavers |
64635A | 20-kanals tillståndsdatasond | |
64636A | 8-kanals tillståndsklocksond |
I likhet med hur emuleringshårdvaran använde "pods" med gränssnittshårdvara anpassad till varje mikroprocessor, använde analyshårdvaran förprocessorer för att fungera som ett gränssnitt till mikroprocessorn. Bortsett från 64304A Emulation Bus Preprocessor (manual på Bitsavers ), var vart och ett av de CPU-specifika förprocessorgränssnitten ett kretskort som passade in i 64650A General Purpose Preprocessor-modulen (manual på Bitsavers ). Det i sin tur kopplat till kablarna för logikanalysatorkortet.
Produktnummer | Beskrivning |
---|---|
64304A | Emulation Bus Preprocessor |
64653A | 8086/8088 Preprocessor-gränssnitt |
64655A | 8085 Preprocessor Interface |
64657A | 80286 Förprocessorgränssnitt |
64658A | 80186/80188 Förprocessorgränssnitt |
64670A | 68000 Preprocessor Interface |
64671A | 6809 Förprocessorgränssnitt |
64672A | 6800/6802 förprocessorgränssnitt |
64673A | 68008 Förprocessorgränssnitt |
64674A | 68000/68010 Förprocessorgränssnitt |
64680A | Z8001 Preprocessor-gränssnitt |
64681A | Z8002 Preprocessor Interface |
64683A | Z80 Preprocessor Interface |
64690A | NSC800 Preprocessor Interface |
PROM programmerare
64100A har ett utrymme till höger om tangentbordet som kan acceptera en PROM-programmeringsmodul. Ett vanligt styrkort för PROM-programmerare, 64500A (manual på Bitsavers ), installerades i korthållaren. Minst 11 programmeringsmoduler, numrerade från 64502A till 64520A, fanns tillgängliga för en mängd olika PROM och programmerbara mikrokontrollerchips från olika tillverkare.
MAME-emulator
En emulering av 64100A-arbetsstationen är en del av MAME- systemet (Multiple Arcade Machine Emulator), under Manufacturer HP och med titeln "HP 64000". Emulatorn är öppen källkod och källkoden är tillgänglig .
- ^ a b Saponas, Thomas A.; Kerr, Brian W. (oktober 1980). "Logic Development System accelererar design av mikrodatorsystem" (PDF) . Hewlett-Packard Journal . 31 (10): 3–12 . Hämtad 14 juli 2018 .
- ^ a b Davis, Michael W.; Scharrer, John A.; Wickliff, Robert G. (mars 1983). "Omfattande logikutveckling och supportkapacitet i ett bekvämt system," ( PDF) . Hewlett-Packard Journal . 34 (3): 3–5 . Hämtad 14 juli 2018 .
- ^ HP Computer Museum-post för 64120A.
- ^ HP Computer Museum-post för 64700A.
- ^ Hewlett Packard-katalogen (PDF) . Hewlett Packard-arkivet. 1989. s. 625–626 . Hämtad 14 juli 2018 .
- ^ Bitsparare