HP 64000

Ett HP64000-system fotograferat 1987.

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

HP 64000 funktionsblockschema

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

HP64100A Logic Development System som emulerar en mikroprocessor

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 .

  1. ^ 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 .
  2. ^ 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 .
  3. ^ HP Computer Museum-post för 64120A.
  4. ^ HP Computer Museum-post för 64700A.
  5. ^ Hewlett Packard-katalogen (PDF) . Hewlett Packard-arkivet. 1989. s. 625–626 . Hämtad 14 juli 2018 .
  6. ^ Bitsparare

externa länkar