HP 64000
HP 64000 Logic Development System , wprowadzony 17 września 1979 r., Jest narzędziem do opracowywania sprzętu i oprogramowania dla produktów opartych na komercyjnych mikroprocesorach różnych producentów. Systemy wspomagały tworzenie oprogramowania za pomocą asemblerów i kompilatorów dla Pascala i C, zapewniały sprzęt do procesorów i pamięci w obwodzie , miały narzędzia do debugowania, w tym sprzęt do analizy logicznej , oraz programowalną pamięć tylko do odczytu (PROM) programista chipów. Dostępna była szeroka gama opcjonalnych kart i oprogramowania dostosowanych do poszczególnych mikroprocesorów. Po wprowadzeniu HP 64000 miał dwie wyróżniające cechy. Po pierwsze, w przeciwieństwie do większości ówczesnych systemów rozwoju mikroprocesorów, takich jak Intel Intellec i Motorola EXORciser , nie był dedykowany mikroprocesorom konkretnego producenta, a po drugie, został zaprojektowany w taki sposób, aby za pośrednictwem HP-IB można było połączyć do sześciu stacji roboczych ( IEEE-488 ) do wspólnego dysku twardego i drukarki, tworząc ściśle zintegrowaną sieć.
modele
- 64100A , wprowadzony w 1979 roku. Była to stacja robocza typu desktop, która zawierała dziesięć gniazd rozszerzeń na różne opcjonalne karty. Początkowa oferta tej stacji roboczej wymagała zewnętrznego dysku twardego do przechowywania wszystkich dysków, chociaż dysk mógł być współużytkowany przez maksymalnie sześć stacji roboczych za pośrednictwem magistrali oprzyrządowania HP-IB (IEEE-488 ) . Później dodano opcję podwójnego napędu dyskietek, dzięki czemu stacja robocza mogła być używana bez współdzielonego dysku twardego. Ta stacja robocza korzystała z tego samego niestandardowego 16-bitowego mikroprocesora HP, co w HP 9845C . Zaoferowano oprogramowanie i sprzęt do opracowania 8-bitowych i 16-bitowych mikroprocesorów.
- 64110A , bardziej przenośna stacja robocza z pięcioma gniazdami na karty, została wprowadzona w 1983 roku. Używała tego samego procesora HP co 64100A.
- 64120A wprowadzona w 1986 r. Pasuje do tych samych kart opcjonalnych, co 64100A i 64110A, i była połączona za pośrednictwem magistrali IEEE-488 ze standardową stacją roboczą HP 9000 Series 300 z systemem operacyjnym HP-UX zamiast specjalnie zaprojektowanej stacji roboczej takich jak 64100A i 64110A. W tych systemach używano nazwy „HP 64000-UX Microprocessor Development Environment”. Wprowadzono oprogramowanie i sprzęt do rozwoju 32-bitowych mikroprocesorów.
- 64700A została wprowadzona na rynek w 1988 roku. Była sprzedawana jako tańszy system rozwojowy (w porównaniu z 64120A), który można było obsługiwać z komputerem osobistym kompatybilnym z IBM PC, a nie ze stacją roboczą. Karty dla tego systemu nosiły numery 647xx i nie były kompatybilne z innymi systemami.
Opis
Terminologia
Jak pokazano na schemacie blokowym po prawej stronie, system 64000 składał się z wielu komponentów, których nazwy miały określone definicje:
- Komputer główny to fizyczna stacja robocza lub klatka na karty zawierająca karty opcjonalne.
- Host to procesor obsługujący komputer mainframe. W modelach 64100A i 64110A magistrala hosta to szyny adresowe, danych, wejścia/wyjścia i sterowania procesora stacji roboczej, które również łączą się z kartami w klatce na karty.
- użytkownika to opracowywany system mikroprocesorowy. Terminy procesor użytkownika i pamięć użytkownika opisują te komponenty w opracowywanym systemie.
- Emulacja lub emulator odnosi się do opcjonalnych kart i innego sprzętu, który jest podłączony do komputera głównego za pośrednictwem kart rozszerzeń i może zastąpić procesor i/lub pamięć w systemie użytkownika. Karty emulacji i analizy są połączone szyną emulacji , która jest całkowicie oddzielona od szyny hosta.
Rozwój oprogramowania
Model 64000 zapewniał system plików i edytor tekstu do pisania oprogramowania. Istniał ogólny asembler / linker ( ręczny Bitsavers ), kompilator Pascala ( ręczny Bitsavers ) i kompilator C ( ręczny Bitsavers ), które zostały uzupełnione dodatkowymi asemblerami krzyżowymi i kompilatorami krzyżowymi dla każdego konkretnego mikroprocesora. Ich lista według numeru produktu to:
mikroprocesor | Nr produktu asemblera | Podręcznik asemblera | Nr produktu kompilatora Pascala | Instrukcja kompilatora Pascala | Numer produktu kompilatora C | Podręcznik kompilatora C |
---|---|---|---|---|---|---|
Motorola 6800/1/2/3/8 | 64841A | Oszczędzanie bitów | 64811A | Oszczędzanie bitów | 64821A | |
Motoroli 6809 | 64844A | Oszczędzanie bitów | 64813A (obraz dysku w HPCM ) | Oszczędzanie bitów | 64822A (obraz dysku w HPCM ) | Oszczędzanie bitów |
Motorola 68000/08/10 | 64845A (obraz dysku w HPCM *) | Oszczędzanie bitów | 64815A (obraz dysku w HPCM ) | Oszczędzanie bitów | 64819A | Oszczędzanie bitów |
Intel 8048 | 64846A (obraz dysku w HPCM ) | Oszczędzanie bitów | nic | nic | ||
Intel 8051 | 64855A (obraz dysku w HPCM ) | nic | nic | |||
Intel 8080/8085 _ | 64840A | 64810A | Oszczędzanie bitów | 64826A | ||
Intel 8086/87/88/186/188 | 64853A (obraz dysku w HPCM ) | 64814A (obraz dysku w HPCM ) | 64818A (obraz dysku w HPCM ) | |||
Zilog Z80 | 64842A (obraz dysku w HPCM ) | Oszczędzanie bitów | 64823A (obraz dysku w HPCM ) | 64824A (obraz dysku w HPCM ) | ||
Zilog Z8 | 64850A | nic | nic | |||
Zilog Z8000 | 64854A | nic | nic | |||
RCA 1802 | 64848A | nic | nic | |||
Technologia MOS 6501/6505 | 64843A | nic | nic | |||
Texas Instruments TMS9900 | 64847A | nic | nic | |||
Texas Instruments TMS320 | 64858A | nic | nic | |||
Fairchild F8 | 64849A | nic | nic | |||
MIL-STD-1750A | 64857A | nic | nic |
* HPCM to Muzeum Komputerów Hewlett Packard
Ponadto istniał Pascal „Host Compiler”, numer produktu 64817A podręcznik w Bitsavers , obraz dysku w HPCM , którego można było użyć do napisania programów do wykonania na procesorze hosta stacji roboczej.
Emulacja w obwodzie
System 64000, dzięki zastosowaniu opcjonalnych kart i oprogramowania, mógł wykonywać emulację w obwodzie różnych mikroprocesorów i ich pamięci. Kompletny system emulacji zazwyczaj składał się z:
- Karta kontrolera emulatora mikroprocesora, specyficzna dla każdego mikroprocesora.
- „Pod” lub „sonda” emulacji, która zawierała elektronikę interfejsu i była zewnętrznym modułem komputera głównego. Procesor w systemie użytkownika został wyjęty z gniazda, aw jego miejsce podłączono kabel z poda emulatora. Kapsuła emulacji zawierała kopię procesora użytkownika, który uruchamiał kod programu tak, jak robiłby to procesor użytkownika, i wydawał się systemowi użytkownika jako normalny procesor.
- Karta kontrolera pamięci emulacji i jedna lub więcej kart pamięci emulacji. Pamięć emulacji może być wykorzystana do zastąpienia pamięci w systemie użytkownika, tak aby na przykład kod programu użytkownika mógł zostać umieszczony w pamięci emulacji i wykonany zamiast konieczności programowania układów ROM.
- „Wewnętrzna” karta analizatora, która była analizatorem logicznym monitorującym działanie emulowanego procesora i pamięci.
- Oprogramowanie emulatora, które umożliwiało operatorowi uruchamianie i zatrzymywanie emulowanego procesora, sprawdzanie zawartości pamięci i lokalizacji rejestrów, mierzenie taktowania sygnału, obserwowanie przebiegu programu i tak dalej.
Zdjęcie po prawej stronie przedstawia stację roboczą 64100A emulującą procesor systemu użytkownika za pośrednictwem modułu emulatora. Na zdjęciu również moduł akwizycji danych dla „zewnętrznej” karty analizatora stanów logicznych w 64100A, który mierzył dodatkowe sygnały cyfrowe w systemie użytkownika.
mikroprocesor | Numer produktu karty kontrolera emulatora | podręcznik | Numer produktu pod emulacją | podręcznik | Numer produktu oprogramowania do emulacji | podręcznik |
---|---|---|---|---|---|---|
Motorolę 6800 | 64211A | Oszczędzanie bitów | 64212A | Oszczędzanie bitów | 64210A | Oszczędzanie bitów |
Motorola 6801/6803 | 64256A | 64255A | 64256A | |||
Motorola 6802/6808 | 64211A | Oszczędzanie bitów | 64213A | Oszczędzanie bitów | 64210A | Oszczędzanie bitów |
Motoroli 6805 | 64191A | Oszczędzanie bitów | 64192A/64193A | Oszczędzanie bitów | 64192A (obraz dysku w Bitsavers ) | |
Motoroli 6809 | 64214A | Oszczędzanie bitów | 64215A/64216A | Oszczędzanie bitów | 64215A (obraz dysku w Bitsavers ) | Oszczędzanie bitów |
Motorola 68000/68008 | 64243A/64244A | 64243A/64244A | 64243A (obraz dysku w HPCM ) | Oszczędzanie bitów | ||
Motorolę 68010 | 64271A | 64249A | 64249A | |||
Intel 8048 | 64261A | 64262A | 64262A (obraz dysku w HPCM ) | |||
Intel 8051 | 64263A | 64264A | 64264A | |||
Intel 8080 | 64201A | 64202A | 64202A | |||
Intel 8085 | 64201A | 64203A | 64203A | |||
Intel 8086 | 64271A | 64222A | 64222A (obraz dysku w HPCM ) | |||
Intel 8088 | 64271A | 64226A | 64226A | |||
Intel 80186 | 64223A | 64224A | Oszczędzanie bitów | 64224A | ||
Intel 80188 | 64223A | 64225A | 64225A | |||
Zilog Z80 | 64251A | 64252A | 64252A (obraz dysku w HPCM ) | |||
Zilog Z8001/8002 | 64271A | 64232A/64233A | 64232A/64233A |
* HPCM to Muzeum Komputerów Hewlett Packard
Płyty sterujące emulatora podłączone zarówno do magistrali hosta (komputera głównego), jak i do magistrali emulacji. Działały w celu przekazywania sygnałów sterujących i danych między hostem a systemami emulowanymi. W zależności od modelu płyta kontrolna może również zawierać sprzęt do oznaczania nielegalnych kodów operacji lub dostępu do pamięci lub do działania jako wewnętrzny analizator stanów logicznych.
Emulacja pamięci umożliwia zastąpienie pamięci RAM i/lub ROM w systemie użytkownika przez pamięć w systemie 64000. Oferowano dwie karty kontrolera pamięci emulacji:
- 64151A Kontroler pamięci emulacji (instrukcja w Bitsavers ), który miał 16 linii adresowych , więc mógł zaadresować 64 KB pamięci i
- 64155A Wide Address Memory Controller (instrukcja w Bitsavers ), który miał 24 linie adresowe, więc mógł zaadresować 16 MB pamięci.
Mapy pamięci dla systemu użytkownika można określić w kategoriach pamięci RAM, ROM i pamięci chronionej. Próby zapisu do pamięci ROM lub dostępu do chronionej pamięci zostały wykryte przez kontroler pamięci i mogły wywołać działania, takie jak punkty przerwania programu.
Oferowane były karty pamięci o różnych pojemnościach statycznej pamięci RAM . Karty 64152B, 53B i 54B zapewniały odpowiednio 32, 16 i 8 KB, a karty 64161A, 62A i 63A zapewniały odpowiednio 128, 64 i 32 KB. Każdy z nich może być skonfigurowany do 8-bitowej lub 16-bitowej magistrali danych. Karty pamięci zostały połączone ze sobą iz kontrolerem pamięci poprzez szynę pamięci emulacji. Dostęp do pamięci emulacji przez systemy hosta lub użytkownika odbywał się za pośrednictwem karty kontrolera.
Gdy emulowany procesor i pamięć zajęły miejsce procesora i pamięci w systemie użytkownika, projektant mógł napisać i skompilować kod programu, załadować go do pamięci emulacji i uruchomić system użytkownika, uruchamiając program w emulowanym procesorze.
Analiza
System 64000 może działać jako analizator stanów logicznych do pomiaru sygnałów cyfrowych w systemie użytkownika. Oferowano dwa rodzaje kart analizy logicznej, analizatory „wewnętrzne”, które mierzyły sygnały bezpośrednio z magistrali emulacji w komputerze głównym, oraz analizatory „zewnętrzne”, które wykorzystywały oddzielne sondy do fizycznego łączenia się z elementami systemu użytkownika. Podobnie jak w przypadku produktów do emulacji procesora i pamięci, funkcje analityczne były często dzielone na karty kontrolerów i karty akwizycji danych. Niektóre karty kontrolerów procesorów emulacji oferowały funkcje analizy wewnętrznej bez oddzielnego sprzętu.
Sprzęt do analizy logicznej został również podzielony na analizatory stanu i analizatory taktowania . Wcześniejsze mierzyły sygnały w synchronizacji z zegarem systemowym i mogły na przykład rejestrować stany szyn adresowych, danych i sterujących w systemie użytkownika w każdym cyklu procesora. Dane te były zwykle przedstawiane jako ślad , pokazujący wartość na każdej szynie dla każdego cyklu procesora. W przypadku wielu mikroprocesorów dostępny był „odwrotny asembler”, który konwertował wartości mierzone na szynie danych na kody operacyjne dla procesora użytkownika.
Drugą formą analizy logicznej była analiza czasowa. Analizator taktowania lub logiki asynchronicznej mierzył sygnały cyfrowe w określonych odstępach czasu, niekoniecznie zsynchronizowanych z zegarem systemowym użytkownika. Taka analiza może być wykorzystana do znalezienia zakłóceń lub sprawdzenia, czy sygnały cyfrowe mają właściwe czasy.
Oprócz tych funkcji analizatora logicznego dostępne były opcje „analizy oprogramowania”. Narzędzia te działały jak to, co obecnie powszechnie nazywa się debuggerami i profilerami .
Lista produktów do analizy to:
Numer produktu | Opis | podręcznik |
---|---|---|
64300A | Wewnętrzny analizator stanów logicznych | |
64302A | Wewnętrzny szeroki analizator stanów logicznych | Oszczędzanie bitów |
64310A | Analizator wydajności oprogramowania | Oszczędzanie bitów |
64331A | Analizator oprogramowania wysokiego poziomu 68000 | |
64601A | Kontroler analizatora czasu/sprzętu | Oszczędzanie bitów |
64602A | Akwizycja taktowania 8 kanałów | Oszczędzanie bitów |
64604A | 8-kanałowa sonda rozrządu | Oszczędzanie bitów |
64621A | Kontroler analizatora stanu/oprogramowania | Oszczędzanie bitów |
64622A | 40 Akwizycja stanu kanału | Oszczędzanie bitów |
64623A | 20 Akwizycja stanu kanału | Oszczędzanie bitów |
64635A | 20-kanałowa sonda danych stanu | |
64636A | 8-kanałowa sonda zegara stanu |
Podobnie jak sprzęt do emulacji wykorzystywał „strąki” ze sprzętem interfejsu dostosowanym do każdego mikroprocesora, sprzęt do analizy wykorzystywał preprocesory do działania jako interfejs do mikroprocesora. Oprócz preprocesora magistrali emulacji 64304A (instrukcja w Bitsavers ), każdy z interfejsów preprocesora specyficznych dla procesora był płytką drukowaną, która pasowała do modułu preprocesora ogólnego przeznaczenia 64650A (instrukcja w Bitsavers ). To z kolei podłączone do kabli karty analizatora stanów logicznych.
Numer produktu | Opis |
---|---|
64304A | Preprocesor magistrali emulacji |
64653A | Interfejs preprocesora 8086/8088 |
64655A | Interfejs preprocesora 8085 |
64657A | 80286 Interfejs preprocesora |
64658A | 80186/80188 Interfejs preprocesora |
64670A | Interfejs preprocesora 68000 |
64671A | Interfejs preprocesora 6809 |
64672A | Interfejs preprocesora 6800/6802 |
64673A | 68008 Interfejs preprocesora |
64674A | Interfejs preprocesora 68000/68010 |
64680A | Interfejs preprocesora Z8001 |
64681A | Interfejs preprocesora Z8002 |
64683A | Interfejs preprocesora Z80 |
64690A | Interfejs preprocesora NSC800 |
Programista PROM
Model 64100A ma miejsce po prawej stronie klawiatury, w którym można umieścić moduł programatora PROM. Zwykła karta kontrolna programatora PROM, 64500A (instrukcja w Bitsavers ), została zainstalowana w klatce karty. Co najmniej 11 modułów programatora, ponumerowanych od 64502A do 64520A, było dostępnych dla różnych układów PROM i programowalnych mikrokontrolerów różnych producentów.
Emulator MAME
Emulacja stacji roboczej 64100A jest częścią systemu MAME (Multiple Arcade Machine Emulator), w ramach producenta HP i nosi tytuł „HP 64000”. Emulator jest open source i dostępny jest kod źródłowy .
- ^ a b Saponas, Thomas A.; Kerr, Brian W. (październik 1980). „System rozwoju logiki przyspiesza projektowanie systemów mikrokomputerowych” (PDF) . Dziennik Hewlett-Packard . 31 (10): 3–12 . Źródło 14 lipca 2018 r .
- ^ ab Davis, Michael W.; Scharrer, John A.; Wickliff, Robert G. (marzec 1983). „Rozległe możliwości rozwoju i obsługi logiki w jednym wygodnym systemie” (PDF) . Dziennik Hewlett-Packard . 34 (3): 3–5 . Źródło 14 lipca 2018 r .
- ^ Wpis do Muzeum Komputerów HP dla 64120A.
- ^ Wpis do Muzeum Komputerów HP dla 64700A.
- ^ Katalog Hewlett Packard (PDF) . Archiwum Hewlett Packard. 1989. s. 625–626 . Źródło 14 lipca 2018 r .
- ^ Oszczędzanie bitów