171 79 26MB
German Pages 36 [47] Year 1989
ZEITSCHRIFT FUR MIKROELEKTRONIK • COMPUTERTECHNIK • INFORMATIK
grÒBem Speicher schneller programmierbat l É É r É d i ein Baum voller Menüs
Ä ,
k
V'
V « 'C t4 r.
^
Y
S?»l
fjppip
- M I ?
*H E
Bildserie 1 Testbeispiel „Stadt": Grundriß, Isometrie, Perspektiven mit variierter Augpunkt-, Zielpunkt-, Brennweiteneinstellung Bildserie 2 Testbeispiel „Gewölbe": Phasen einer Bewegungssequenz (fixierter Zielpunkt, manipulierter Augpunkt, Weitwinkelobjektiv)
|
Lesen Sie dazu unseren Beitrag „3D-Simulatlon interaktiver Entwurf von räumlichen Modellen".
Zeitschrift für Mikroelektronik • Computertechnik • Informatik 2. Jahrgang • ISSN 0 2 3 2 - 2 8 9 2
Mikroprozessortechnik, Heft 11 • 88 Herausgeber Kammer der Technik, Fachverband Elektrotechnik
t* *-* --
• . . . .
ff » •
« . „ .
Inhalt L
»
Verlag VEB Verlag Technik, Oranienburger Str. 13/14, DDR - 1 0 2 0 Berlin; Telegrammadresse: Technikverlag Berlin; Telefon: 28700, Tele*: 011 2228 techn dd
MP-lnfo
322
Verlagsdirektor Klaus Hieronimus
Dietmar Müller: ASIC - eine Revolution ?
323
Ulrich Müller: Ein Baum voller Menüs
326
Redaktion Hans Weiß, Verantwortlicher Redakteur (Tel. 2870371); Herbert Hemke, Redakteur (Tel. 2870203); Sekretariat Tel. 2870381 Gestaltung Christina Bauer Titelfotos Peter Kalbe Beirat Dr. Ludwig Claßen, Dr. Heinz Florin, Prof. Dr. sc. Rolf Giesecke, Joachim Hahne, Prof. Dr. sc. Dieter Hammer, Prof. Dr. sc. Thomas Horn, Prof. Dr. Albert Jugel, Prof. Dr. Bernd Junghans, Dr. Dietmar Keller, Prof. Dr. sc. Gernot Meyer, Prof. Dr. sc. Bernd-Georg Münzer, Prof. Dr. sc. Peter Neubert, Prof. Dr. sc. Rudolf Arthur Pose, Prof. Dr. sc. Dr. Michael Roth (Vorsitzender), Dr. Gerhard Schulze, Prof. Dr. sc. Manfred Seifart, Dr. Dieter Simon, Dr. Rolf Wätzig, Prof. Dr. sc. Jürgen Zaremba
Mit unseren Beiträgen zum Thema ASIC auf der Seite 323 beginnen wir mit einer Beitragsfolge, die die ASICs, deren Entwurf, ihren Einsatz sowie die in der DDR verfügbaren Entwicklungssysteme beinhaltet.
HabBscprotfrai Lizenz-Nr. 1710 des Presseamtes beim Vorsitzenden des Ministerrates der Deutschen Demokratischen Republik
U I C
von d B A 6 I-AtMMndunf»-8y«tM V. m=3. 2
Aufruf:
A>EXEC[ [: ][. : ,CMD]] Gesamtherstellung Druckerei Märkische Volksstimme Potsdam
: := Name des d B A S E -Anfantfiprof ra>aa Ihr dBASK I I heisst DBASE ''')
Erfüllungsort und Gerichtsstand Berlin-Mitte. Der Verlag behält sich alle Rechte an den von ihm veröffentlichten Aufsätzen und Abbildungen, auch das der Obersetzung in fremde Sprachen, vor. Auszüge, Referate und Besprechungen sind nur mit voller Quellenangabe zulässig. Redaktionsschluß: 13. September 1988 AN (EDV) 49837
OB (''):do
Run (1') - ( ' ? ' : ' ! • ) for WLP - OR Cancel ('>')
Auf der Seite 331 finden Sie den Artikel „EXEC ein Startprogramm für dBASE II". Er ist der zweite Teil unserer Beitragsfolge zum Thema „Werkzeuge zur hardwarenahen Programmierung in höheren Programmiersprachen auf 8-Bit-Computern".
Erscheinungsweise monatlich 1 Heft Heftpreis 5 , - M , Abonnementspreis vierteljährlich 1 5 , - M ; Auslandspreise sind den Zeitschriftenkatalogen des Außenhandelsbetriebes BUCHEXPORT zu entnehmen. Bezugsmöglichkeiten DDR: sämtliche Postämter; SVR Albanien: Direktorije Quendrore e Perhapjes dhe Propagandist te Librit Rruga Konference e Pezes, Tirana; VR Bulgarien: Direkzia R.E.P., 11 a, Rue Paris, Sofia; VR China: China National Publications Import and Export Corporation, West Europe Department, P.O. Box 88, Beijing; ÖSSR: PNS - Ustredni Expedicia a Dovoz Tisku Praha, Slezskä 11,120 00 Praha 2, PNS, Üstredna Expedicia a Dovoz Tlaöe, Poäta 022,885 47 Bratislava; SFR Jugoslawien: Jugoslovenska Knjiga, Terazija 27, Beograd; Izdavacko Knjizarsko Produzece M LADOST, llica 30, Zagreb; Koreanische DVR: CHULPANMUL Korea Publications Export & Import Corporation, Pyongyang; Republik Kuba: Empresa de Comercio Exterior de Publicaciones, O'Rellly No. 407, Ciudad Habana; VR Polen: C.K.P.i.W. Ruch, Towarowa 28,00-958 Warszawa; SR Rumänien: D.E.P. Bucure§ti, Piaja Scinteii, Bucuregti; UdSSR: Sämtliche Abteilungen von Sojuzpecat' oder Postämter und Postkontore; Ungarische-VR: P.K.H.I., Külföldi Elöfizetesi Osztäly, P.O. Box 16,1426 Budapest; SR Vietnam: XUNHASABA, 32, Hai Ba Trung, Hä Nöi; BRD und Berlin (West): ESKABE Kommissions-Grossobuchhandlung, Postfach 36, 8222 Ruhpolding/Obb.: Helios-Literatur-VertriebsGmbH, Eichborndamm 141-167, Berlin (West) 52; Kunst und Wissen Erich Bieber OHG, Postfach 46, 7000 Stuttgart 1; Gebrüder Petermann, BUCH + ZEITUNG INTERNATIONAL, Kurfürstenstraße 111, Berlin (West) 30; Österreich: Helios-Literatur-Vertriebs-GmbH & Co. KG, Industriestraße B13,2345 Brunn am Gebirge; Schweiz: Verlagsauslieferung Wissenschaft der Freihofer AG, Weinbergstr. 109, 3033 Zürich; Alle anderen Länder: örtlicher Fachbuchhandel; BUCHEXPORT Volkseigener Außenhandelsbetrieb der Deutschen Demokratischen Republik, Postfach 160, DDR - 7 0 1 0 Leipzig und Leipzig Book Service, Talstraße 29, D D R - 7 0 1 0 Leipzig
Mikroprozessortechnik, Berlin 2 (1988) 11
Andreas Thierbach: 3-D-Simulation - interaktiver Entwurf von räumlichen Modellen 328 Jürgen Wrenzitzki: EPROMs hoher Speicherkapazität
329
Christian Hanisch EXEC - ein Startprogramm für dBASE II
331
Lubomir Karadshow, Karsten Noack, Michael Wyschofsky: Softwareentwicklung mit FÖRTH
333
Thomas Koliwer: Anzeige von aktuellem Laufwerk und Pfad
334
MP-Kurs: Claus Kofer: PASCAL (Teil 6)
335
Wilfried Quednow, Heidrun Bade, Walter Hermann: Videosteuerung VIS3 mit GDCU827 20D
339
Mirko Zanter, Michael Roth: Übersetzungstechniken für Mikroprozeßrechnersprachen
341
MP-Computer-Club Jörg Eichler: Verbesserungen des KC 85/4 gegenüber dem KC 85/3
344
René Iffarth: Menüführung für den PC 1715 ¡n REDABAS Auf der 4. Umschlagseite stellen wir Ihnen den VIDEOTON-Rechner VT 32 vor. Er ist ein 16-Bit-Mikrorechner für CAD-Aufgaben mit dem UNIX-kompatiblen Betriebssystem DMOS.
Hans-Joachim Zühlsdorff: REASS - eine Ergänzung zum EDAS des KC85/3 MP-Börse
346
MP-Literatur
348
Vorschau
Entwicklungen und Tendenzen
350
Im Heft 12/1988 finden Sie unter anderem Beiträge zu folgenden Themen: • MS-DOS • Festplattenorganisation • ROLAMET1 mit Lichtwellenleitern • Leipziger Herbstmesse '88
Technik international Flash-EEPROMs
352
vorgestellt Videoion VT 32
4. US 321
Info Erste Muster des 1-MBit-RAM übergeben Die ersten in der DDR hergestellten 1 -MBit-Speicherschaltkreise wurden am 12. September 1988 dem Generalsekretär des ZK der SED, Erich Honecker, von einem Kollektiv des VEB Kombinat Carl Zeiss JENA vorfristig übergeben. Diese Leistung konnte nach nur zwei Jahren Entwicklungszeit von den Werktätigen des VEB Forschungszentrum Mikroelektronik Dresden in enger Kooperation mit Einrichtungen der Akademie der Wissenschatten der DDR und des Hochschulwesens erreicht werden. Damit sind die Grundlagen geschaffen worden, schrittweise die Massenproduktion dieser Schaltkreise vorzubereiten. Wie der Generaldirektor des Kombinates, Prof. Dr. Wolfgang Biermann, erklärte, werden bis dahin noch ein bis zwei Jahre Zeit benötigt, in der konzentriert weitere Investitionen vorgenommen werden müssen. Der Projektleiter, Prof. Dr. Bernd Junghans, hob als besonders bemerkenswert hervor, daß man sich generell auf Technik aus der DDR stützen konnte. Das treffe auch für die Reinstraumtechnik zu. Aus dem VEB Spurenmetalle Freiberg kommt der neue 125-mm-Wafer, der 90 Chips des 1 -MBit-Schaltkreises beinhaltet. Die ersten Muster des U 61000 D haben inzwischen im Kombinat Robotron, dem Hauptanwender von Speicherschaltkreisen dieser Leistungsklasse, ihre ersten Funktionstests bestanden. Parallel zu den Arbeiten am 1-MBitSpeicher wird bereits am nächsten Technologieniveau gearbeitet. ADN
Zusammenarbeit DDR — Polen beraten Der Minister für Elektrotechnik und Elektronik der DDR, Felix Meier, und der Minister für Industrie der Volksrepublik Polen, Jerzy Bilip, haben Im August in Warschau über die Erweiterung der wissenschaftlich-technischen und ökonomischen Zusammenarbeit, vorrangig bei mikroelektronischen Bauelementen sowie in der Rechen- und Automatisierungstechnik, beraten. Während der Begegnung, die zugleich der Vorbereitung der 22. Tagung des Wirtschaftsausschusses DDR - VR Polen diente, stellten die Partner fest, daß sich die Tätigkeit ständiger Arbeitsgruppen bewährt hat und vereinbarten neue Zielstellungen zur E'höhung des wissenschaftlich-technischen Niveaus der Erzeugnisse und ihrer effektiven Herstellung. Wichtige Gebiete sind automatisierte Montagetechnologien und die Entwicklung technologischer Spezialausrüstungen, einschließlich Meßtechnik. Die Selten unterstrichen, daß sich der Warenaustausch auf dem Gebiet der Mikroelektronik entsprechend einer im März 1987 abgeschlossenen Kooperationsvereinbarung seitdem verdreifacht hat. ADN
Anti-COCOM-Liste Das japanische Ministerium für internationalen Handel und Industrie hat Im August in Tokio bekanntgegeben, daß es mit Wirkung vom 1. Septem-
322
ber eine monatliche Liste von Hochtechnologie-Produkten herausgibt, die nach seiner Auffassung nicht länger unter die sogenannten COCOMBestimmungen fallen. Die erste derartige Liste enthält nach Aussage eines Sprechers des Ministeriums 19 Produkte - darunter elektronische Rechner, Textverarbeitungsgeräte und Frequenzmesser. Weiter wurde mitgeteilt, daß das bisherige Verfahren, wonach alle Anträge japanischer Unternehmen für Exporte in Staaten des RGW und in die Volksrepublik China entsprechend den COCOM-Bestimmungen generell vorab geprüft werden mußten, künftig entfällt. ADN
Computershop in Budapest Die Novotrade AG eröffnete in Budapest ein kleines Warenhaus für Rechentechnik, das sich zur Vorführung der neuesten computertechnischen Einrichtungen und zum Verkauf computertechnischer Artikel gleicherweise eignet. Im Salon bieten neben Novotrade bedeutende ungarische Firmen, so Szämalk, SZTAKI, MIG£RT, SZKI, MOM, Softinvest, Volän-Elektronik sowie die Fernmeldetechnische Genossenschaft, ihre Neuhelten an. Unter einem Dach kann der Besucher die Produkte der professionellen Computer-Hersteller finden, aus ungarischer und importierter Software auswählen. MP
Bulgarische Computer vorgestellt Auf der diesjährigen Perscomp Expo '88 in Sofia zeigten im April 22 Betriebe Bulgariens sowie ausländische Firmen ihre neuesten Erzeugnisse der Mikroelektronik und Robotertechnik, insgesamt 121 Exponate. Besonderes Interesse fanden die neuesten Modifikationen der PC-Familie MIK16 aus der VRB. Für die unter EC1647, 4701 und 4702 registrierte Familie dieser Personalcomputer liegen bereits zahlreiche Aufträge für Großserien aus RGW-Ländern vor. Starke Beachtung fanden auch die vom Computersystem Robko gesteuerten Industrieroboter, ferner automatische Projektierungssysteme sowie Systeme für die Steuerung von Laborexperimenten und für Leitungsprozgsse. Die Ausstellung und dazugehörige wissenschaftliche Veranstaltungen förderten den Erfahrungsaustausch zwischen Wissenschaftlern und Praktikern, Herstellern und Anwendern. ADN
Ehrung für Speiehertechnik Der Solid State Circuits Council des Ingenieurverbandes IEEE hat einen BRD-Forscher für seinen „bedeutenden Beitrag zur Entwicklung dynamischer RAM-Speicher" mit dem Jahrespreis 1988 ausgezeichnet. Bereits Anfang der siebziger Jahre war es Dr.-Ing. Karl-Ulrich Stein bei Siemens gelungen, ein Bit mit nur einem Transistor und einem Kondensator sicher zu speichern und so den Platzbedarf auf einem Siliziumchip deutlich zu verringern. Bis dahin waren pro Bitplatz mehrere dieser Bauelementepaare erforderlich.
Stein sieht seinen Beitrag vor allem „In der symmetrischen Anordnung der Bitleitungen mit KompensationsSpeicherzellen und in einem ebenfalls symmetrischen Lese-/Schreibverstärker pro Bitleitung". Die Eintransistor-Speicherzelle und die symmetrische Anordnung wurden kurz darauf erstmals für 4-KBitDRAMs verwendet und dann in allen nachfolgenden Speichergenerationen mit 16, 64 und 256 KBit. Auch die Megabitspeicher mit 1 und 4 MBit arbeiten unverändert nach diesem Prinzip. Beim 4-MBIt-DRAM für 4194304 Bit reichen die Kondensatoren als Grabenzellen unter den Transistoren vertikal in den Chip hinein („trench"), um zusätzlich Platz zu sparen. MP
Computer in der Mongolei Bis 1990 soll in Ulan-Bator ein Betrieb für die Montage von Personalcomputern aus importierten Bauteilen und Materialien errichtet werden. In den verschiedenen Zweigen der Volkswirtschaft soll der Einsatz von Rechnern schrittweise ausgedehnt werden. Bewährt hat sich diese Technik bereits bei automatisierten Leitungssystemen in Kombinaten, in Forschungsinstituten und statistischen Einrichtungen. Zu den geplanten weiteren Anwendungsgebieten gehören der Außen- und Binnenhandel sowie die Landwirtschaft. ADN
USA-Handelsgesetz negativ bewertet Japans Regierung sowie Industrie und Banken bewerten das im August in Kraft gesetzte neue USA-Handelsgesetz übereinstimmend negativ. Das Kabinett in Tokio brachte in einer Erklärung seine ernsthafte Befürchtung zum Ausdruck, daß die mit dem Gesetz gegebenen Vollmachten für ein verschärftes Agieren gegen ausländische Konkurrenten die Wlrtschaftskooperation bilateral wie international stark behindern sowie die Entwicklung der Weltwirtschaft massiv beeinträchtigen könnten. Ministerpräsident Noboru Takeshita reagierte nach Presseberichten mit Bestürzung. Der Präsident des Unternehmerverbandes Keidanren, Dr. Eishiro Saito, nannte die Bestimmungen unfair und gegen die Interessen Japans gerichtet. Das neue Gesetz sei nichts anderes als eine juristische Legitimierung des Protektionismus - so der Tenor vieler japanischer Geschäftsleute. Unter dem Vorwand, das USA-Handelsdeflzit abzubauen, werden Konkurrenten, die erfolgreicher auf den internationalen Märkten operieren, offen mit Strafe belegt, heißt es in einer Erklärung von Keidanren. Man erinnert sich im fernöstlichen Industriestaat sehr genau, wie die Reagan-Administratlon 1987 den „Chipkrieg" eröffnete und die Produkte der japanischen Halbleiterindustrie in den USA mit hohen Zöllen belegte. Ungeachtet einer späteren Revidierung entstehen noch heute daraus für Japan zusätzliche Zollbelastungen von jährlich 165 Millionen Dollar. Nicht vergessen sind in Tokio auch die Auswirkungen der sogenannten Toshiba-Affäre. Unter dem faden-
scheinigen Vorwurf, die COCOM-Bestimmungen verletzt zu haben, wurde ein bedeutender japanischer Hochtechnologie-Konkurrent durch einschneidende Sanktionen der USA weitgehend vom amerikanischen Markt verbannt. Auch Indonesien ist besorgt über das neue USA-Handelsgesetz, das in Widerspruch zu den Interessen der Entwicklungsländer stehe. Diese Auffassung vertrat der indonesische Handelsminister Arifin Siregar bei einem Treffen mit US-Senatoren in Jakarta. Der protektionistische Kurs der USA behindere das ökonomische Wachstum der Entwicklungsländer und vertiefe Schwierigkeiten, die sich aus der Last der Auslandsverschuldung und dem Anwachsen der Arbeitslosigkeit ergeben, wird in einer Erklärung der Industrie- und Handelskammer Indonesiens betont. ADN
Sowjetischer PC Der an der Moskauer Universität entwickelte Personalcomputer Korwet bildet das Grundmodell eines PC für sowjetische Oberschüler. Der Korwet ist ein 8-Bit-Computer mit einem Farbdisplay. Der Benutzer kann auf dem Bildschirm in 16 Farben beliebige Darstellungen, Grafiken oder Figuren zeichnen. Die Kapazität des Speichers beträgt 360 KByte. Dies macht es möglich, Grafiken hoher Auflösung anzufertigen. In der UdSSR sind bereits rund 5000 Personalcomputer dieses Typs hergestellt worden. ADN
Mexiko setzt auf Computer Von Null auf 60 ist in Mexiko die Zahl der Produktionsbetriebe für Computertechnik im Zeitraum von 1981 bis jetzt gestiegen. 35 davon stellen Personalcomputer und Peripheriegeräte her. Die positive Entwicklung des Bereichs, in dem gegenwärtig 6400 Werktätige arbeiten, war 1981 vom Ministerium für Handel und industrielle Förderung mit einem Programm eingeleitet worden, das technologische Entwicklung, nationale Zusammenarbeit und internationale Wettbewerbsfähigkeit anvisierte. Die Investitionen in diesem Sektor stiegen von 38 Millionen Dollar 1983 auf etwa 58 Millionen in diesem Jahr. Trotz Beteiligung ausländischer Investoren gehört die Mehrzahl der Betriebe mexikanischen Unternehmen. Auf international hohem Niveau steht nach Meinung von Experten die mexikanische Produktion von Software, während die Herstellung integrierter Schaltkreise als problematisch gilt, da alles dafür Notwendige bisher Importiert werden muß. Man rechnet in diesem Jahr in der Computerbranche Mexikos mit einem Produktionsvolumen in Höhe von etwa einer halben Milliarde Dollar, wovon 350 Millionen auf die Herstellung von Personalcomputern entfallen. Allein 1988 soll mexikanische Computertechnik im Wert von 180 Millionen Dollar Ins Ausland gehen. Die Hälfte der Exporte erhalten lateinamerikanische Länder, vor allem Venezuela und Ekuador, una die andere Hälfte die USA und europäische Abnehmer. ADH Mikroprozessortechnik, Berlin 2 (1988) 11
ASIC — eine Revolution? Prof. Dr. Dietmar Müller Technische Universität Karl-Marx-Stadt, Sektion Informationstechnik Quellen von A S I C Seit dem Entwurf und der Präparation des ersten Bipolar-Transistors im Jahre 1948 sind zwar zirka 40 Jahre vergangen, jedoch begann die „stürmische" Phase der Entwicklung der Mikroelektronik erst vor etwa 15-20 Jahren.1 Diese Phase ist nach wie vor charakterisiert durch eine fast jährliche Verdopplung des Integrationsgrades, das heißt, die Zahl der Transistoren auf dem Chip verdoppelt sich. Dies wird einerseits durch Verringerung der Strukturabmessungen und andererseits durch Vergrößerung der Chipfläche erzielt. Bild 1 zeigt diesen Sachverhalt. Gleichzeitig sind markante Vertreter von Speicher- und Prozessorschaltkreisen eingezeichnet, die diese potentiellen Möglichkeiten nutzen. Die Entwicklung im Bild 1 ist als Toleranzbereich angegeben, da zahlreiche Autoren recht unterschiedliche Angaben und Prognosen fixleren (z. B. 12113/). Insbesondere über die Entwicklung nach 1990 gehen die Meinungen der Experten weit auseinander. Während einige eine Grenze bei zirka 10 Millionen Transistoren erwarten, prognostizieren andere ein stetiges Wachstum bis zu Speicherschaltkreisen von über 100 MBit bei dann vorliegenden Strukturabmessungen unter 0,5^m bei Chipflächen von 80 mm2 und Nutzung der dritten Dimension. Die Speicherschaltkreise besitzen dabei nach wie vor Schrittmacherfunktionen, sie erreichen alle drei Jahre ein neues Technologieniveau. Prozessor- und Logikschaltkreise folgen dieser Entwicklung mit einem Abstand von bis zu einem Technologieniveau. Sie weisen aber teilweise bedeutend größere Chipflächen auf (Prognose: bis zu 300 mm2!).
Durch diesen ständigen Fortschritt ist eine Veränderung der Hauptrichtung von Forschung und Entwicklung innerhalb der Mikroelektronik eingetreten. In /4/ werden zur Charakterisierung der Zielrichtungen Fragen formuliert, die für die Zeiträume jeweils lauten: 1960-1970: Wie realisieren? 1970-1980: Wie entwerfen ? 1980-1990: Was soll entworfen werden ? Während die erste die Technologie, die zweite die Entwurfsmethoden und -verfahren beinhaltet, besitzt die dritte Frage schon fast philosophische Aspekte. Welche komplexe Funktion soll mit 107 bis 108 Transistorfunktionen pro Schaltkreis realisiert werden, die noch so universell ist, daß eine genügende Einsatzbreite gewährleistet werden kann? Die Antwort auf die obige Frage: „Was soll entworfen werden?" ist bereits bei viel geringeren Transistorzahlen, etwa ab MSI-Niveau mit 100 bis 1 000 Transistoren, relevant. Eine Antwort bzw. eine Lösung des obigen Widerspruches sind die ASICs, wobei mehrere Gründe für ihr Entstehen existieren. Gründe für A S I C • technische Gründe Aus den oben genannten Quellen resultieren technische Gründe für das Entstehen von ASIC. Bisher wurden vom Anwender, das heißt dem Geräte- oder Systementwickler, über einen Systementwurf durch Partitionierung Teilaufgaben formuliert. Sieht man von Lösungen durch Einsatz von Mikrorechnerstrukturen ab, so wurde die Lösung durch den Entwurf von Leiterplatten und deren Bestückung mit TTL- und CMOS-Standardschaltkreisen realisiert. Jedoch auch innerhalb von Mikrorechnerstrukturen besteht neben der Nutzung der bekannten CPU-, Speicher- und PeripherieSchaltkreise oft die Notwendigkeit, erforderliche Zusatz- und Anpaßlogik in obiger Weise - mit Standardschaltkreisen bestückte Leiterplatte - zu ergänzen. Diese traditionellen Lösungen besitzen zahlreiche Nachteile, wie: - großes Volumen - großer Bauelementeaufwand - geringe Zuverlässigkeit wegen Vielzahl der Bauelemente und der Lötstellen - hoher Energiebedarf - teilweise geringe Geschwindigkeit.
Bild 1 Entwicklung
des
Integrationsgrades
1 Selbst der Begriff „Mikroelektronik" war zu dieser Zeit noch nicht festgeschrieben. So formulierte KHAMBATA 1969/1/: „Wir stehen am Anfang einer neuen technologischen Ära der Elektronik, deren Ende nicht absehbar ist. Ich kann mir vorstellen, daß sich In einigen Jahren einer meiner Söhne beim Lesen dieses Buches über die lausige Zeit wundert, in der sein Vater sich mit dem alten Phänomen der sogenannten .Mikroelektronik' befaßte. Zukünftig wird es vielleicht die Nanoelektronik1 oder die .Plcoelektronik' sein. Wer weiß es?"
Mikroprozessortechnik, Berlin 2 (1988) 11
Wenn es gelingt, die Elektronikingenieure, die diese traditionelle Vorgehensweise praktizieren, von der neuen Qualität - dem Entwurf und dem Einsatz von ASIC - überzeugen zu können, so werden die obigen Nachteile vermieden und die nachfolgenden ökonomischen Effekte möglich. Diese Überzeugung wird jedoch nicht immer einfach sein, da der Schaltungsentwurf und insbesondere die bisher praktizierte Schaltungserprobung mittels Laboraufbauten vollständig entfällt, da diese bei ASIC unmöglich ist und durch eine rechnergestützte Simulation, also Nutzung von CAD/CAE-Systemen, ersetzt wird. Dieses neue und ungewohnte Entwerfen setzt neben benutzerfreundlichen CAD-Systemen
ASIC — nur ein neuer Begriff? Allein durch das Ausschreiben dieser Buchstabenfolge: ASIC = Application Specific Integrated Circuit kann die Frage nicht beantwortet werden. Hinter ASIC verbergen sich neue quantitative Möglichkeiten der Anwendung der Mikroelektronik. International und national nimmt der Entwurf und der Einsatz von ASICs überdurchschnittlich zu. Es lassen sich bedeutsame ökonomische, zeitliche und technische Vorteile in einer großen Zahl unserer Betriebe und Kombinate erzielen. ASICs stellen eine Variante dar, daß die Anwender selbst Beiträge zur Lösung ihrer technischen Aufgabenstellungen mittels Mikroelektronik erbringen. Die möglichen volkswirtschaftlichen Effekte entstehen jedoch nur in großem Umfang, wenn auch in großem Umfang „alle Elektroniker" der Anwenderindustrie die neuen Möglichkeiten und die Entwurfs- und Einsatzspezifika kennen und diese neuen Möglichkeiten auch praktisch nutzen. Daß diese Breite natürlich auch Kapazitäten im Zyklus 1 und 2 erfordert, ist selbstverständlich. Dem dafür notwendigen Informieren dient die in diesem Heft beginnende Beitragsfolge. Ziel soll es sein, eine verständliche Einführung in diesen ständig an Umfang und Bedeutung gewinnenden Problemkreis zu geben und, darauf aufbauend, dominierende Vertreter der ASICs, deren Entwurf, deren Einsatz und deren (multivalente) Nutzung darzustellen. Dabei sollen neben internationalen Aussagen und Trends insbesondere die DDR-Entwurfssysteme und damit mögliche Effekte sowie Formen der Zusammenarbeit von Anwendern und Herstellern im Mittelpunkt stehen. Diese Beitragsfolge stellt einen integralen Bestandteil eines Komplexes von Weiterbildungsmaßnahmen und Informationen dar. So ist im Fachvorstand Elektrotechnik der KDT innerhalb der Wissenschaftlichen Sektion „Computer- und Mikroprozessortechnik" ein Fachausschuß „ASIC" gegründet worden, der u. a. die Weiterbildungsarbeit im Rahmen der KDT leitet und teilweise durchführt. Es existieren bereits sporadisch oder periodisch durchgeführte wissenschaftliche Veranstaltungen (z.B. 1.ASIC-Seminar im Territorium Karl-Marx-Stadt - siehe Seite 325). Es werden Weiterbildungslehrgänge in verschiedenen Bezirken (z.B. Berlin, Karl-Marx-Stadt) und von verschiedenen Institutionen (Universitäten, Entwurfszentren, Halbleiterindustrie) durchgeführt. Darauf aufbauend und weiterführend werden im Auftrag des Präsidiums der KDT von obigem Fachausschuß eine zentrale Lehrgangskonzeption zum Komplex ASIC vorbereitet und Schulungs- und Informationsmaterial erarbeitet. Auf dieser Basis werden in den Bezirken diese zentralen Lehrgänge ab 1989 durchgeführt werden können. Neben den Weiterbildungsaktivitäten existieren auch organisierte Formen des Erfahrungsaustausches und Möglichkeiten, konkrete Entwürfe in Anwenderentwurfszentren (z. B. im Schaltkreiszentrum des VEB Textima-Elektronik KarlMarx-Stadt) durchzuführen bzw. vorhandene (Teil-)Entwürfe nachzunutzen. Man muß die eingangs gestellte Frage mit einem eindeutigen N E I N beantworten. ASIC ist nicht nur ein neuer Begriff, ASIC ist eine neue Philosophie der Anwendung der Mikroelektronik. ASIC ist eine weitere, aber notwendige Nutzungsform der sich ständig weiterentwikkelnden Möglichkeiten der Mikroelektronik, die damit auch notwendigerweise umfassend genutzt werden kann und muß.
323
ASIC — eine Revolution? Prof. Dr. Dietmar Müller Technische Universität Karl-Marx-Stadt, Sektion Informationstechnik Quellen von A S I C Seit dem Entwurf und der Präparation des ersten Bipolar-Transistors im Jahre 1948 sind zwar zirka 40 Jahre vergangen, jedoch begann die „stürmische" Phase der Entwicklung der Mikroelektronik erst vor etwa 15-20 Jahren.1 Diese Phase ist nach wie vor charakterisiert durch eine fast jährliche Verdopplung des Integrationsgrades, das heißt, die Zahl der Transistoren auf dem Chip verdoppelt sich. Dies wird einerseits durch Verringerung der Strukturabmessungen und andererseits durch Vergrößerung der Chipfläche erzielt. Bild 1 zeigt diesen Sachverhalt. Gleichzeitig sind markante Vertreter von Speicher- und Prozessorschaltkreisen eingezeichnet, die diese potentiellen Möglichkeiten nutzen. Die Entwicklung im Bild 1 ist als Toleranzbereich angegeben, da zahlreiche Autoren recht unterschiedliche Angaben und Prognosen fixleren (z. B. 12113/). Insbesondere über die Entwicklung nach 1990 gehen die Meinungen der Experten weit auseinander. Während einige eine Grenze bei zirka 10 Millionen Transistoren erwarten, prognostizieren andere ein stetiges Wachstum bis zu Speicherschaltkreisen von über 100 MBit bei dann vorliegenden Strukturabmessungen unter 0,5^m bei Chipflächen von 80 mm2 und Nutzung der dritten Dimension. Die Speicherschaltkreise besitzen dabei nach wie vor Schrittmacherfunktionen, sie erreichen alle drei Jahre ein neues Technologieniveau. Prozessor- und Logikschaltkreise folgen dieser Entwicklung mit einem Abstand von bis zu einem Technologieniveau. Sie weisen aber teilweise bedeutend größere Chipflächen auf (Prognose: bis zu 300 mm2!).
Durch diesen ständigen Fortschritt ist eine Veränderung der Hauptrichtung von Forschung und Entwicklung innerhalb der Mikroelektronik eingetreten. In /4/ werden zur Charakterisierung der Zielrichtungen Fragen formuliert, die für die Zeiträume jeweils lauten: 1960-1970: Wie realisieren? 1970-1980: Wie entwerfen ? 1980-1990: Was soll entworfen werden ? Während die erste die Technologie, die zweite die Entwurfsmethoden und -verfahren beinhaltet, besitzt die dritte Frage schon fast philosophische Aspekte. Welche komplexe Funktion soll mit 107 bis 108 Transistorfunktionen pro Schaltkreis realisiert werden, die noch so universell ist, daß eine genügende Einsatzbreite gewährleistet werden kann? Die Antwort auf die obige Frage: „Was soll entworfen werden?" ist bereits bei viel geringeren Transistorzahlen, etwa ab MSI-Niveau mit 100 bis 1 000 Transistoren, relevant. Eine Antwort bzw. eine Lösung des obigen Widerspruches sind die ASICs, wobei mehrere Gründe für ihr Entstehen existieren. Gründe für A S I C • technische Gründe Aus den oben genannten Quellen resultieren technische Gründe für das Entstehen von ASIC. Bisher wurden vom Anwender, das heißt dem Geräte- oder Systementwickler, über einen Systementwurf durch Partitionierung Teilaufgaben formuliert. Sieht man von Lösungen durch Einsatz von Mikrorechnerstrukturen ab, so wurde die Lösung durch den Entwurf von Leiterplatten und deren Bestückung mit TTL- und CMOS-Standardschaltkreisen realisiert. Jedoch auch innerhalb von Mikrorechnerstrukturen besteht neben der Nutzung der bekannten CPU-, Speicher- und PeripherieSchaltkreise oft die Notwendigkeit, erforderliche Zusatz- und Anpaßlogik in obiger Weise - mit Standardschaltkreisen bestückte Leiterplatte - zu ergänzen. Diese traditionellen Lösungen besitzen zahlreiche Nachteile, wie: - großes Volumen - großer Bauelementeaufwand - geringe Zuverlässigkeit wegen Vielzahl der Bauelemente und der Lötstellen - hoher Energiebedarf - teilweise geringe Geschwindigkeit.
Bild 1 Entwicklung
des
Integrationsgrades
1 Selbst der Begriff „Mikroelektronik" war zu dieser Zeit noch nicht festgeschrieben. So formulierte KHAMBATA 1969/1/: „Wir stehen am Anfang einer neuen technologischen Ära der Elektronik, deren Ende nicht absehbar ist. Ich kann mir vorstellen, daß sich In einigen Jahren einer meiner Söhne beim Lesen dieses Buches über die lausige Zeit wundert, in der sein Vater sich mit dem alten Phänomen der sogenannten .Mikroelektronik' befaßte. Zukünftig wird es vielleicht die Nanoelektronik1 oder die .Plcoelektronik' sein. Wer weiß es?"
Mikroprozessortechnik, Berlin 2 (1988) 11
Wenn es gelingt, die Elektronikingenieure, die diese traditionelle Vorgehensweise praktizieren, von der neuen Qualität - dem Entwurf und dem Einsatz von ASIC - überzeugen zu können, so werden die obigen Nachteile vermieden und die nachfolgenden ökonomischen Effekte möglich. Diese Überzeugung wird jedoch nicht immer einfach sein, da der Schaltungsentwurf und insbesondere die bisher praktizierte Schaltungserprobung mittels Laboraufbauten vollständig entfällt, da diese bei ASIC unmöglich ist und durch eine rechnergestützte Simulation, also Nutzung von CAD/CAE-Systemen, ersetzt wird. Dieses neue und ungewohnte Entwerfen setzt neben benutzerfreundlichen CAD-Systemen
ASIC — nur ein neuer Begriff? Allein durch das Ausschreiben dieser Buchstabenfolge: ASIC = Application Specific Integrated Circuit kann die Frage nicht beantwortet werden. Hinter ASIC verbergen sich neue quantitative Möglichkeiten der Anwendung der Mikroelektronik. International und national nimmt der Entwurf und der Einsatz von ASICs überdurchschnittlich zu. Es lassen sich bedeutsame ökonomische, zeitliche und technische Vorteile in einer großen Zahl unserer Betriebe und Kombinate erzielen. ASICs stellen eine Variante dar, daß die Anwender selbst Beiträge zur Lösung ihrer technischen Aufgabenstellungen mittels Mikroelektronik erbringen. Die möglichen volkswirtschaftlichen Effekte entstehen jedoch nur in großem Umfang, wenn auch in großem Umfang „alle Elektroniker" der Anwenderindustrie die neuen Möglichkeiten und die Entwurfs- und Einsatzspezifika kennen und diese neuen Möglichkeiten auch praktisch nutzen. Daß diese Breite natürlich auch Kapazitäten im Zyklus 1 und 2 erfordert, ist selbstverständlich. Dem dafür notwendigen Informieren dient die in diesem Heft beginnende Beitragsfolge. Ziel soll es sein, eine verständliche Einführung in diesen ständig an Umfang und Bedeutung gewinnenden Problemkreis zu geben und, darauf aufbauend, dominierende Vertreter der ASICs, deren Entwurf, deren Einsatz und deren (multivalente) Nutzung darzustellen. Dabei sollen neben internationalen Aussagen und Trends insbesondere die DDR-Entwurfssysteme und damit mögliche Effekte sowie Formen der Zusammenarbeit von Anwendern und Herstellern im Mittelpunkt stehen. Diese Beitragsfolge stellt einen integralen Bestandteil eines Komplexes von Weiterbildungsmaßnahmen und Informationen dar. So ist im Fachvorstand Elektrotechnik der KDT innerhalb der Wissenschaftlichen Sektion „Computer- und Mikroprozessortechnik" ein Fachausschuß „ASIC" gegründet worden, der u. a. die Weiterbildungsarbeit im Rahmen der KDT leitet und teilweise durchführt. Es existieren bereits sporadisch oder periodisch durchgeführte wissenschaftliche Veranstaltungen (z.B. 1.ASIC-Seminar im Territorium Karl-Marx-Stadt - siehe Seite 325). Es werden Weiterbildungslehrgänge in verschiedenen Bezirken (z.B. Berlin, Karl-Marx-Stadt) und von verschiedenen Institutionen (Universitäten, Entwurfszentren, Halbleiterindustrie) durchgeführt. Darauf aufbauend und weiterführend werden im Auftrag des Präsidiums der KDT von obigem Fachausschuß eine zentrale Lehrgangskonzeption zum Komplex ASIC vorbereitet und Schulungs- und Informationsmaterial erarbeitet. Auf dieser Basis werden in den Bezirken diese zentralen Lehrgänge ab 1989 durchgeführt werden können. Neben den Weiterbildungsaktivitäten existieren auch organisierte Formen des Erfahrungsaustausches und Möglichkeiten, konkrete Entwürfe in Anwenderentwurfszentren (z. B. im Schaltkreiszentrum des VEB Textima-Elektronik KarlMarx-Stadt) durchzuführen bzw. vorhandene (Teil-)Entwürfe nachzunutzen. Man muß die eingangs gestellte Frage mit einem eindeutigen N E I N beantworten. ASIC ist nicht nur ein neuer Begriff, ASIC ist eine neue Philosophie der Anwendung der Mikroelektronik. ASIC ist eine weitere, aber notwendige Nutzungsform der sich ständig weiterentwikkelnden Möglichkeiten der Mikroelektronik, die damit auch notwendigerweise umfassend genutzt werden kann und muß.
323
ASIC von A bis Z (C) Asie (Application Specific Iritegrated Circuit) Unter ASIC sollten verschiedene Arten von Schaltkreisen (PlD, GA. STAZ u. a.) verstanden «erden, die für spezielle Anwendungen bei Beachtung von vorgegebenen Entwurlsrogein und -restnktionen (vorgegebene Funkilonselements Grundprinzipien und -strukturen) mit / , - P j 1 von potenter, Anwendern entworfen oder programmiert werden.
EPLO
t'Erassbie Programmable Logic Device) Programmierbares Logikfeid mit programmierbarer AND-Matrix und festet OR-Mairix (vergleichbar mit PAL), aber verbessertem Konzept - insbesondere Ein- und Ausgabe - zur fiemisierung von - im Vergleich mit PLO {siehe dort) - komplexeren Aufgabenstellungen. Sic sind wie EPROM proqrammwftwr. FC (Füll Custom) Bezeichnung ftr einen VoU-KundenwunschEntwurf bzw -Schaftkreis (VKW). Oft wird for ' iü';i Ii. f j i s : A r ' -Aim t,;-.,-;. a , . . ' . maf entworfen (Frage; Unter welchem Aspekt nur dann teat Klasse der ASIGs gezählt werden .. viri s.e ;f v'Ml'C, i'0 ; P 07! o i - ' n fen werden. GA
- konstante Anzahl, Lage «nd Kapazität der Verdrahfungskanäie - konstante Pwanzäftl und festgelegter Chipfläche, wodurch auch die Gehäuseform fixiert ist.
GE
Gatteräquivalent, wird als ..Maßeinheit- zur Angabe der fuflkfioneiten Komplexität von ASiCs genutzt. 1 GE = 2fach NAND (--• 4 Transistoren bei CMOS-Realisierurtgi HKW ' . Haib-Kundenwunscb-Entwurf bzw. -Schalt kreis. typische Vertreter: GA und STAZ. Die Wünsche des Kunden können wegen der Vorgabe slandard'sierter FE mir ..halb1 erfüllt werden. Die Bezeichnungen VKW, HKW, FC und SC Charakterisieren das 1 yuische vo;> AS!0.= n-jr ungenügend!
LCA
(Logic Cell Artay) Attraktiver Vertreter der ASiCs, vereinigt die Ffexibttität und Quantität (bis 5000 GE) von GAScbaifetefsen mit der Pfogramwierbärkeit und damit sofortiger Verfügbarkeit - von PI..D- n i - - i- i i trix programmierbarer (steuerbarer) Logikotöcke (ebenfalls AND-OR-Strukturen) mit pro grammierbaren Ein-ZAusgangsmakrozetien umgeben. PAL .Ptograrnmable Arräy Logic)
..
Digitale Gi undschaltuhgen (Gate-Torschaätung] sind in regelmäßiger festgelegter Anord nurtg (Array-Matrix, FeMarordrw|||au< vorgefertigtem Untergrund (Master Stee.-teilpräf»• te Si-Scheib» diediestandardtsieiierfffanSIO f fha'i) • orna > no GASchaltkreise charakterisiert durch: : - ausschließliche Nutzung vorgegebener, standardisierter Grundschalt! mgen (Funktion? elemente. Makros,Bibliothekselemente- z.B. ^uonNANUi ; - Konstante Anzahl und Lage der Funktion® ; elemente
eine Mindestbereitschaft bei den Elektronikingenieuren voraus. • ökonomische Gründe Die Triebfeder der ständigen technologischen Weiterentwicklung der Mikroelektronik ist der mit steigendem Integrationsgrad sinkende Preis pro Transistor. Daraus resultiert die wachsende Komplexität auch der bisherigen Standardschaltkreise. Mit diesem Wachsen ergibt sich jedoch der (bekannte) Widerspruch, daß mit dem möglichen Ansteigen der Komplexität der vom Schaltkreis realisierten Funktion auch die Einsatzbreite dieses Schaltkreises und damit seine Stückzahl sinkt. Dies bedeutet, der Vorteil der Mikroelektronik-geringe Preise bei großen Stückzahlen - wird nicht wirksam I Die Lösung dieses Widerspruchs wurde versucht durch konsequente und mehrfache Nutzung der Standardisierung zu erreichen. Zum Beispiel beim Gate-Array-Schaltkreis - als ein dominierender Vertreter der ASICs - durch Standardisierung des Entwurfes und der (Teil-)Standardisierung der Präparation. 2
In 15/ wurde der Übergang vom Transistor zu standardisierten Grundelementen verglichen mit dem Übergang vom Ziegel zur Großplatte im Bauwesen. Während mit Ziegeln „sowohl Schlösser als auch Katen" mit hohem Aufwand gebaut werden können, erbringt die Nutzung von Wandplatten große Einsparungen an Baukosten und -Zeiten bei Beschränkung auf eine spezielle Klasse von Bauwerken.
324
tur) mit programmierbarer AND und fester OP.Matrix. pla ¡1® m (Programmable Logic Array) Programmierbares Logikfeid mit programmierbarer AND-Matrix und programmierbarer OB Matrix (Mit Medikationen auch als FPLA (Fielet PLA) bezeichnet}. plo rH-vHi;i' ' (Programmafcfc Logic Device) Einerseits Sammelbegriff für vom Anwender programmierbare ASICs geringer Komplexität (z.B. FPLA. PAt PLA). andererseits Bezeich-
Natürlich muß jede Standardisierung2 noch die Möglichkeit einer Individualisierung zulassen. Technisch formuliert: die standardisierten Produkte müssen zur Lösung der individuellen, speziellen technischen Aufgabenstellungen geeignet sein. Bei dem VLSIStandardschaltkreis „Mikroprozessor" erfolgt dies, indem die universelle (standardisierte) Funktion des Mikroprozessorschaltkreises durch Anlegen von Steuersignal(-folgen) zur individuell notwendigen Funktion überführt wird. Das heißt, der Mikroprozessor wird innerhalb einer Mikrorechnerstruktur durch die Programmierung vom Anwender individualisiert. Bei den traditionellen Standardschaltkreisen geschieht die „Individualisierung" der technischen Lösung durch gezielte Auswahl und individuelle Verdrahtung der Standardschaltkreise auf der Leiterplatte. Bei einer vereinfachenden Betrachtungsweise kann ein GateArray-Schaltkreisentwurf ähnlich, als Auswahl standardisierter Funktionselemente (Bibliothekselemente, Makros) und deren Plazierung und Trassierung auf dem - später realisierten - Chip, aufgefaßt werden. Der Ersatz einer oder mehrerer Leiterplatten durch einen ASIC erbringt große ökonomische Effekte (Verringerung der Kosten, Erhöhung der Zuverlässigkeit u. v. a.), stellt aber
nuna für eine spezielle Art von ASfCs (siehe . EPLD).
ROM
(Read Onlv Memory) Bekanntes Bauelement in verschiedenen Programmiervanantan als maschinenptogramniierbarer ROM. PROM, EPftÖM u.a. ROM sind durch eme feste AND-Matrix und eine programmierbare, vollständige OR-Matnx charakterisiert. PROM kann als Ausgangspunkt für die PLO gelten. SC (Semi-Custom) siehe HKW SC (Standard Cell) siehe STAZ SK mit allgemeinen Zeilen Diese Zellen sind FunWjonsbtöcke (Blockmafcres, Megazellen) mit großer funktioneller Korn plexitat (z.B. mit der Funktion eines CPUScha'tkreises 8086), Im Gegensatz zum-VöliKundenvvijnschenfwtirf sind beim ASIC-Emwurt „auch,diese allgemeinen Zeilen - zwar sehr zahlreich - dennoch fclemente einer Makrob bliothek und damit im allgemeinen vom Anwerde,' nicht entworfen. STA? StandarcJzellen-Entwurf bzw - Schaltkreis Wie bei GA erfolgt Entwurf durch ausschließliche Nutzung vorgegebene!. standardisierter Funktiohselemönte, die jedoch auf der Basis angepaßter, damit unterschiedlich dimensionierter Transistoren entworfen sind. Daher und. wegen der variablen Anordnung der Funktions elemente ist keine Vorfertigung möglich. - ausschließliche Nutzung vorgegebener standardisierter Funktionselemente - variable Anzahl und Lage der Funktionsole-rfienfe. --. / '• - variable Anzahl, Lage und Kapazität der Ver • : drähtungskanäie - variable Pinanzahl und Chipfläche (im Rahmen festgelegter Bondinselringe).
nur eine Art „Einstiegsvariante" dar und muß bei weiteren ASIC-Entwürfen durch Beachtung der systemtechnischen Erfordernisse ergänzt werden. • systemtechnische Gründe Diese treten immer mehr in den Mittelpunkt und gewinnen an Bedeutung. Mit anderen Worten: Neue originelle Systemlösungen sind in der erforderlichen Komplexität und den zeitlichen Fristen (Erneuerungsgrad) (fast) nur mittels ASIC realisierbar. Es werden Lösungen möglich, und solche innovativen Lösungen sind auch notwendig, die mit „verfügbaren" Standardschaltkreisen nicht oder die auf der Basis eines beim Schaltkreishersteller in Auftrag gegebenen (Voll-)Kundenwunsch-Schaltkreises oft viel zu spät realisierbar wären. Wenn der Geräte- oder Systementwickler seinen ASIC selbst entwirft, bleibt natürlich auch sein Systemwissen bei ihm und kann so geschützt oder ökonomisch (kostenpflichtige Nachnutzung) verwertet werden. • rechentechnische Gründe Neben den „herangereiften" Möglichkeiten der Mikroelektronik sind auch die wachsenden und - direkt oder indirekt - am Arbeitsplatz des Elektronikingenieurs verfügbaren rechentechnischen Ressourcen zu nennen. Mit dieser Rechentechnik sind die notwendiMikroprozessortechnik, Berlin 2 (1988) 11
gen durchgängigen CAD-Systeme, die die „Machbarkeit" der Entwürfe erlauben, möglich. Diese CAD-Systeme gestatten die Beherrschung der quantitativen Parameter (steigende Zahl der Gatteräquivalente), unterstützen den prüffreundlichen Entwurf sowie den (anzustrebenden) Wegfall eines Redesigns und bieten eine benutzerfreundliche Schnittstelle mit - zukünftig verstärkt - Komponenten des Entwurfs in Ebenen über dem Logikplan und eines wissensbasierten Systems. Die Benutzerfreundilchkeit entsteht durch Möglichkeiten wie: grafische Ein- und Ausgabe, ausgefeilte Menü- und Windowtechnik, um mit Effektivität die vorhandenen Simulations-, Generierungs- und Hilfsprogramme ohne große rechentechnische Spezialkenntnisse nutzen zu können. Dennoch sind gegenwärtig die angedeuteten Akzeptanzprobleme vorhanden, die aus notwendigem Umdenken - Ersatz von Messungen an „Brettschaltungen" durch Simulation der Funktion - resultieren. Dieses Umdenken ist vergleichbar mit dem bei Nutzung der Mikrorechentechnlk. Im Bild 2 sind vereinfacht, ausgehend von einer Aufgabenstellung, zwei unterschiedliche technische Lösungsvarianten und ihre Implementierungs- bzw. Entwurfsebenen skizziert. Die Vergleichbarkeit der Lösungsschritte ist erkennbar. Dabei soll nicht eine Alternative zwischen Mikrorechner- und ASIC-Lösung assoziiert werden, sondern im Gegenteil sollten sich beide sinnvoll ergänzen /6/. Inhalt von A S I C Viele neue Begriffe besitzen einen unklaren oder mehrdeutigen Inhalt, so auch der Begriff: ASICs Der Vorschlag, die integrierten Schaltkreise in zwei Klassen einzuteilen: Standardschaltkreise und Anwendungsspezifische Schaltkreise scheint zu stark vereinfachend zu sein, weil damit auch die VollkundenwunschSchaltkreise, (mit einem möglichen optimalen Entwurf) zur Klasse ASIC gehören würden. ASIC sollten Schaltkreise sein, die eine - Klasse von Schaltkreisen mit mehreren Realisierungsformen sind, deren
1. ASiC-Seminar
Bild 2 Vergleichbare Entwurfsebenen für unterschiedliche Realisierungsformen (bei ASIC entfallen elektrischer und geometrischer Entwurf ganz oder teilweise)
Funktionelle Aufqabenbeschreibunq (Pflichtenheft, Spezifikation) Schaltkreis- Lösung
~~
Lösungsvariante ? * ___ __—-—
Architektur, Btockplan (Architekturentwurf)
Struktogramm
Logikplan Logikentwurf
Propra mm in problem orientierter Sprache
Sfrooflaufplan Elektrischer Entwurf
(Assemblerprogramm)
isysal Ceometrischer
Maschinenkode
Entwurf
mpuMittTnuuns
• mm
KONSTRUKTION
8
'f f:; risr .
i
v£R/f«ATilW
• RAM-CPU
• ICIASIC1
- Entwurf durch ein leistungsfähiges CADSystem unterstützt wird bei - Beachtung bestimmter Entwurfsvorgaben (Regeln und Restriktionen) und deren - Entwurf oder Anpassung auch durch potente Anwender möglich ist. A S I C e i n e Revolution? Diese Frage muß unter dem Aspekt der Mikroelektronik verneint werden. ASICs sind Ausdruck der kontinuierlich wachsenden quantitativen Möglichkeiten der Mikroelektronik. Diese Frage kann unter dem Aspekt der Anwendung bejaht werden. ASICs stellen durch ihre Anwendung eine Variante dar, völlig neuartige systemtechnische und ökonomische, eben revolutionierende, Effekte zu erzielen. Diese Frage kann aber auch unter dem Aspekt des Entwurfs von ASICs bejaht werden. Der Entwurf von ASICs durch die Anwender stellt ebenfalls eine neue, die Breite der Anwendung der Mikroelektronik revolutionierende Variante dar, wenn sie die Massen (der Elektronikingenieure) erfaßt ...". Daher werden in den nachfolgenden Beiträgen die Spezifika und der Entwurf der ver-
?r— -^ProgrammLosung
schiedenen ASIC-Arten, die CAD-Systeme und die Schnittstellen zwischen Entwerfer (Anwender) und Hersteller erläutert, um auf diese Weise zur erforderlichen Breite beizutragen. Literatur IV Khambata, A. J.: Einführung in die Gruppenintegration. Berlin: VEB Verlag Technik 1971 /2i Broth, J. S. et al.: The Megacell concept an approach to painless custom design. IEE Proc. 1985, No. 2 13/ Kern, W.; Kind, R.; Merkel, P.; Sickert, K.: Wachstum durch Größtlntegratlon und CAE-Einsatz. Elektronik (1986)2 /4/ Penlield, P.: Small Is Big - The Microelectronics Challenge Memo with in M.I.T., Cambridge 1981 /5/ Garbrecht, A.: Semlcustom - IC - W e g zur Wirtschaftlichkeit NTZ 27 (1983) 3, S. 156 /6/ Müller, D . : G a t e - A r r a y - S c h a l t k r e i s e - e i n e Alternative zu Mikroprozessorschaltkreisen? Wissenschaftliche Zeitschrift der T H Karl-Marx-Stadt(1985)2, S . 2 4 5
El KONTAKT @ Technische Universität Karl-Marx-Stadt, Sektion Informationstechnik, Reichenhainer Straße 70, Karl-Marx-Stadt, 9022; Tel. 5 6 1 31 95
1988
Unter dem Thema „Entwurf und Anwendung von ASIC" veranstaltete die Technische Universität Karl-Marx-Stadt gemeinsam mit dem Schaltkreiszentrum des VEB Kombinat Textirna und dem Fachausschuß ASIC der KDT vom 26. eis 28. April 1968 ein Wissenschaft! cnes Seminar, in dem Spezialisten aus Forschung. Lehre und industrieilei Praxis Erfahrungen zu Fragen des Entwurfs und der Anwendung kundenspezifischer Schaltkreise austauschten. Das Seminar setzte die schon langjährige Tradition der Problemseminare . Schaltkreis- und Systementwurf fort. !n 19 Vorträgen wurde Uber Trends im ASIC-Entwurl. Systembeschreibung. Logikentwurf. Multilevel-Simulation, Layoutbearbeitung. Grafikunterstützung und Entwurfserfahrungen an Hand spezieller ASIC-Enfwicklungen berichtet Prof. Dr. Müller (TUK) und Fraikm (ZMD) hoben in hren Vorträgen die Bedeutung des Systementwurfes für die modernen hoobintegrierten ASIC-Lösungen hervor. Prof. Dr. Montau (TUK) ergänzte d;e vorgestellten Gedanken durch die Vorstellung moderner Hardware-Beschreibungssprachen. Für den Entwurf von Mikroprogrammsteuerungen (Dr. Feske, AdW) bzw. den Logikentwurf (Prot. Dr. Bochmann, Dr. Stambach, TUK) wurden Programmsysteme mit interessanten theoretischen Ansätzen vorgestellt. Eine .vichtige Entwicklurtgsrichtung für den ASIC-Entwurf stellt die 16-Bit-Arbe ispiatzcomputertechnik dar. Dazu berichteten Pautiuk (TUK) über ein
Mikroprozessortechnik, Berlin 2 (1988) 11
Programmsystem zur Unterstützung der Schaltungseingabe und Logiksimulation (PCGAD) und Feustei (Robotron) über die grafische Schaltungseingabe. Gedanken zu diesem letzten Komplex trug auch Dr. Leimert (Textirna) vor, wobei sich dies auf eine Erweiterung des bisher genutzten Proqrammsystems Archimedes bezog. Dr. Weber (HUB) stellte ein Layoytbearbeifungssystem (HULDA) vor, das auf PC-Technik lauffähig ist. Erfahrungen aus der Praxis des U 5200-ASiC-Entwurfs wurden! durch die Vorträge von Wiese, Dr. Böhl (ZMD) und Dr. Gertach (Robotron) vermittelt Zum Siandardzellen-Entwurf sprach Krusche (FZW) und zum Entwurf mit dem ISA-System Neugebauer (HFO). Dem Problem der Entwurfsverifizierung wurde der interessante Vortrag von Dr. Schwarz zum Einsatz des Mulfilevel-Simulators KOSIM gewidmet. Vorstellungen zu alternativen GateArray-Systemen vermittelten die Vorträge von Dr. Herrmann (TUK), Dr. Ritter (MEEi und Kühlmann (TH!) In einer vielbeachteten Veranstaltung zur Demonstration von Entwurfssoftware auf 16-Bit-PC wurden das Logikentwurfssystem XBOOLE (TUK). der Logiksimulator PCGAD für das Gate-Array-System U52Ö0 (TUK) und das Layoutbearbeitungssystem HULDA (HUB) vorgestellt. Das nächste ASIC-Serninar findet im April 1989 statt. Prof. Dt. sc. techti. D. Müller Vorsitzender
des FA
„ASIC"
325
Ein Baum voller Menüs Dr. Ulrich Müller, Plauen
Einleitung Die Programmiersprache PLZ hat nur eine vergleichsweise geringe Verbreitung gefunden, obwohl sie eine Reihe von Vorzügen besitzt. Sie fördert den klaren logischen Aufbau und die konsequente Strukturierung der Programme besser als die meisten anderen Programmiersprachen IM. Sie kann relativ einfach jeder Programmumgebung angepaßt werden, und es können problemlos auch Programmteile in Maschinensprache entwickelt und eingebunden werden, was PLZ z. B. für bestimmte Aufgaben der Prozeßautomation prädestiniert. Eine nützliche Programmiertechnik stellt die Anwendung rekursiver Lösungen dar. Rekursive Lösungen sind meist kompakter und oft leichter zu schreiben und zu verstehen. Wie das im folgenden vorgestellte Beispiel zeigt, ist Rekursion besonders bequem bei rekursiv definierten Datenstrukturen wie Bäumen. Die sinnvolle und zweckmäßige Gestaltung der Mensch-Maschine-Kommunikation, der Art und Weise, wie sich jemand, der mit einem Computer arbeiten will, mit diesem verständigen kann, stellt eine wichtige Teilaufgabe bei der Entwicklung von Software dar. Fehler und Versäumnisse, die an dieser Stelle vorkommen, mindern später die Brauchbarkeit des Systems meist ganz erheblich. Dabei sind die unterschiedlichsten Gesichtspunkte zu berücksichtigen: Soll der Computer von einem Spezialisten bedient werden, der über umfangreiche Vorkenntnisse auf dem Gebiet der Rechentechnik verfügt? Werden die Bediener Fachleute auf ganz anderen Gebieten sein, von denen man nicht verlangen kann, daß sie sich umfangreiche Kenntnisse zusätzlich aneignen, nur um den Rechner nutzen zu können ? Gibt es eine fest vorgegebene Menge von Kommandos, oder muß die Zahl und Struktur der Kommandos eher flexibel gehalten werden? Ist es unter Umständen erforderlich, mit den Kommandos gewisse Parameter zu übergeben? Es liegt auf der Hand, daß so verschiedene Forderungen nicht mit einem einzigen Konzept erfüllt werden können. Komfortable Betriebssysteme müssen eine andere Kommandostruktur verwenden als ein Programm, mit dem z. B. eine konkrete Teilaufgabe im produktionsvorbereitenden Bereich eines Betriebes bearbeitet werden soll oder das eine Maschine steuern soll. Gerade in den letztgenannten Fällen ist eine möglichst unkomplizierte Bedienung wünschenswert. Eine bewährte Methode dafür ist die sogenannte Menütechnik. Eine Hierarchie von Menüs Das Wesen der Menütechnik besteht darin, daß dem Bediener, immer wenn der Rechner ein Kommando erwartet, die zum Zeitpunkt möglichen Kommandos in Form einer Tabelle, dem Menü, angeboten werden. Das Menü enthält neben der Liste der Kommandos auch eine knappe Angabe zur Wirkung der Kommandos. Die Kommandos brauchen deshalb nicht sinnfällig zu sein; es können ohne weiteres Einzelzeichen (Buchstaben und Ziffern) als Kommando benutzt werden. 326
Die Bedienung bleibt trotzdem einfach und erfordert keinen großen Lernaufwand. In vielen Fällen wird nun eine ganze Folge von Kommandos erforderlich sein, um ein bestimmtes Ziel zu erreichen; nach jedem Kommando bietet sich wieder eine Auswahl von neuen, spezielleren Kommandos, bis der Pfad zu Ende verfolgt und die gewünschte Aktion am Rechner ausgelöst wurde. Aus einem übergeordneten Menü werden die jeweils untergeordneten Menüs aufgerufen, und erst auf der niedrigsten Ebene wird die gewünschte Aktion ausgeführt. Die Menüs bilden ein hierarchisches System, sie sind gewissermaßen in einem Baum angeordnet. Jede Verzweigung bildet ein Menü. Die Verzweigungen liegen auf verschiedenen Niveaus. Der Bediener erreicht, vom Betriebssystem kommend, auf dem der Menübaum gewissermaßen steht, die erste Verzweigung auf dem nullten Niveau. Man könnte das Menü dort Hauptmenü nennen, weil damit die grobe Vorauswahl zur gewünschten Betriebsart vorgenommen wird. Wir wollen dieses Niveau als höchste Ebene bezeichnen, obwohl sie sich im Bild ganz unten befindet (Der Baum müßte also genaugenommen kopfstehen, aber welches Bild stimmt schon hundertprozentig?). Durch jedes gültige Kommando erreicht der Bediener das nächst niedrigere Niveau, bis sozusagen die ausgewählte Astspitze erreicht ist und die eigentliche Aktion vom Rechner ausgeführt wird. Danach kehrt der Rechner wieder auf das nächst höhere Niveau zurück. Daneben muß natürlich auf jeder Ebene die Möglichkeit bestehen, durch ein spezielles Kommando, z. B. durch Betätigen der Taste OFF das jeweils höhere Niveau zu erreichen (wenn z. B. versehentlich ein falsches Kommando gegeben wurde). Man kann sich also ganz frei in unserem Menübaum bewegen und hat dabei stets vor Augen, welche Kommandos im Moment gerade möglich sind. Dazu ein konstruiertes Beispiel: Ein für eine Meßplatzsteuerung ausgelegter Mikrorechner soll mit umfangreichen Selbsttestfunktionen ausgestattet sein. Soll etwa ein spezieller RAM-Test ausgeführt werden, so wird der Bediener geführt wie in Bild 1 gezeigt.
Weise organisiert sein (z. B. über den Stack). Die Blockstrukturen (je nach Programmiersprache als Funktion, Prozedur o. ä. bezeichnet) leistungsfähiger höherer Programmiersprachen besitzen diese Eigenschaft. Die Nützlichkeit der Rekursivität mag vielleicht nicht sofort augenfällig sein. Ein schönes Beispiel, das für eine Reihe technischer Anwendungen interessant sein könnte, zeigt /3/. Auch für unser Menüprogramm ist eine rekursive Struktur sehr vorteilhaft. Auf jedem Menüniveau wird das Menüprogramm aus dem jeweils höheren Niveau aufgerufen (das Hauptmenü aus dem Betriebssystem); als Parameter wird dabei ein Zeiger, der auf einen Kenndatensatz weist, übergeben, der das jeweilige Menü spezifiziert. Das gesamte Programm, das die Menüs realisiert, reduziert sich damit auf ein Minimum, der Umfang ist unabhängig von der Anzahl der Menüs. Die Struktur des Menübaumes wird auf die Zeigerbeziehungen der Kenndatensätze abgebildet. Die Kenndatensätze besitzen die im Bild 2 dargestellte Struktur (vgl. dazu die Typenvereinbarung für die Kenndatensätze im PLZProgramm). Bild 3 zeigt einen Teil der Kenndatensätze für unser Beispiel. Dem eigentlichen Menüprogramm wird nun ein Zeiger auf den jeweiligen Kenndatensatz übergeben. Dies beginnt in der Hauptprozedur mit dem Zeiger auf den Kenndatensatz (siehe PLZ-Programm Bild 4) des Hauptmenüs. Die niedrigeren Niveaus werden vom Menüprogramm aus aufgerufen. Dazu wird dem Kenndatensatz zunächst der Zeiger auf den Menütext entnommen und einer Prozedur zum Anzeigen von Texten übergeben (die hier wohl nicht näher aufge-
Bildl Kommandofolge und Menüs, die zum Valleytest führen
1 : SELBSTTEST 2: KALIBRIEREN 3 : HESSEN
1
orr
Ein rekursives Programm Die Aufgabe, eine Bedienerführung in Menütechnik zu realisieren, stellt einen Programmierer nicht vor allzu große Probleme. Für jedes Menü ist der Menütext auf dem Bildschirm anzuzeigen; dann muß die Tastatur abgefragt und entsprechend dem Abfrageergebnis zu den Menüs des nächst niedrigeren Niveaus verzweigt werden. Dabei kann vorteilhaft die Unterprogrammtechnik angewendet werden, da bei jedem Menü ganz ähnliche Funktionen zu realisieren sind. Ein BASIC-Beispiel mit großer Flexibilität der Menüs demonstriert 12!. Eine elegantere Lösung stellt allerdings die Anwendung eines rekursiven Programmes dar. Als rekursiv wird ein Programm bezeichnet, das sich selbst aufruft; damit dies möglich ist, müssen die Parameterübergabe an das Programm und die bezüglich des Programms lokalen Variablen in geeigneter Mikroprozessortechnik, Berlin 2 (1988) 1J
Ein Baum voller Menüs Dr. Ulrich Müller, Plauen
Einleitung Die Programmiersprache PLZ hat nur eine vergleichsweise geringe Verbreitung gefunden, obwohl sie eine Reihe von Vorzügen besitzt. Sie fördert den klaren logischen Aufbau und die konsequente Strukturierung der Programme besser als die meisten anderen Programmiersprachen IM. Sie kann relativ einfach jeder Programmumgebung angepaßt werden, und es können problemlos auch Programmteile in Maschinensprache entwickelt und eingebunden werden, was PLZ z. B. für bestimmte Aufgaben der Prozeßautomation prädestiniert. Eine nützliche Programmiertechnik stellt die Anwendung rekursiver Lösungen dar. Rekursive Lösungen sind meist kompakter und oft leichter zu schreiben und zu verstehen. Wie das im folgenden vorgestellte Beispiel zeigt, ist Rekursion besonders bequem bei rekursiv definierten Datenstrukturen wie Bäumen. Die sinnvolle und zweckmäßige Gestaltung der Mensch-Maschine-Kommunikation, der Art und Weise, wie sich jemand, der mit einem Computer arbeiten will, mit diesem verständigen kann, stellt eine wichtige Teilaufgabe bei der Entwicklung von Software dar. Fehler und Versäumnisse, die an dieser Stelle vorkommen, mindern später die Brauchbarkeit des Systems meist ganz erheblich. Dabei sind die unterschiedlichsten Gesichtspunkte zu berücksichtigen: Soll der Computer von einem Spezialisten bedient werden, der über umfangreiche Vorkenntnisse auf dem Gebiet der Rechentechnik verfügt? Werden die Bediener Fachleute auf ganz anderen Gebieten sein, von denen man nicht verlangen kann, daß sie sich umfangreiche Kenntnisse zusätzlich aneignen, nur um den Rechner nutzen zu können ? Gibt es eine fest vorgegebene Menge von Kommandos, oder muß die Zahl und Struktur der Kommandos eher flexibel gehalten werden? Ist es unter Umständen erforderlich, mit den Kommandos gewisse Parameter zu übergeben? Es liegt auf der Hand, daß so verschiedene Forderungen nicht mit einem einzigen Konzept erfüllt werden können. Komfortable Betriebssysteme müssen eine andere Kommandostruktur verwenden als ein Programm, mit dem z. B. eine konkrete Teilaufgabe im produktionsvorbereitenden Bereich eines Betriebes bearbeitet werden soll oder das eine Maschine steuern soll. Gerade in den letztgenannten Fällen ist eine möglichst unkomplizierte Bedienung wünschenswert. Eine bewährte Methode dafür ist die sogenannte Menütechnik. Eine Hierarchie von Menüs Das Wesen der Menütechnik besteht darin, daß dem Bediener, immer wenn der Rechner ein Kommando erwartet, die zum Zeitpunkt möglichen Kommandos in Form einer Tabelle, dem Menü, angeboten werden. Das Menü enthält neben der Liste der Kommandos auch eine knappe Angabe zur Wirkung der Kommandos. Die Kommandos brauchen deshalb nicht sinnfällig zu sein; es können ohne weiteres Einzelzeichen (Buchstaben und Ziffern) als Kommando benutzt werden. 326
Die Bedienung bleibt trotzdem einfach und erfordert keinen großen Lernaufwand. In vielen Fällen wird nun eine ganze Folge von Kommandos erforderlich sein, um ein bestimmtes Ziel zu erreichen; nach jedem Kommando bietet sich wieder eine Auswahl von neuen, spezielleren Kommandos, bis der Pfad zu Ende verfolgt und die gewünschte Aktion am Rechner ausgelöst wurde. Aus einem übergeordneten Menü werden die jeweils untergeordneten Menüs aufgerufen, und erst auf der niedrigsten Ebene wird die gewünschte Aktion ausgeführt. Die Menüs bilden ein hierarchisches System, sie sind gewissermaßen in einem Baum angeordnet. Jede Verzweigung bildet ein Menü. Die Verzweigungen liegen auf verschiedenen Niveaus. Der Bediener erreicht, vom Betriebssystem kommend, auf dem der Menübaum gewissermaßen steht, die erste Verzweigung auf dem nullten Niveau. Man könnte das Menü dort Hauptmenü nennen, weil damit die grobe Vorauswahl zur gewünschten Betriebsart vorgenommen wird. Wir wollen dieses Niveau als höchste Ebene bezeichnen, obwohl sie sich im Bild ganz unten befindet (Der Baum müßte also genaugenommen kopfstehen, aber welches Bild stimmt schon hundertprozentig?). Durch jedes gültige Kommando erreicht der Bediener das nächst niedrigere Niveau, bis sozusagen die ausgewählte Astspitze erreicht ist und die eigentliche Aktion vom Rechner ausgeführt wird. Danach kehrt der Rechner wieder auf das nächst höhere Niveau zurück. Daneben muß natürlich auf jeder Ebene die Möglichkeit bestehen, durch ein spezielles Kommando, z. B. durch Betätigen der Taste OFF das jeweils höhere Niveau zu erreichen (wenn z. B. versehentlich ein falsches Kommando gegeben wurde). Man kann sich also ganz frei in unserem Menübaum bewegen und hat dabei stets vor Augen, welche Kommandos im Moment gerade möglich sind. Dazu ein konstruiertes Beispiel: Ein für eine Meßplatzsteuerung ausgelegter Mikrorechner soll mit umfangreichen Selbsttestfunktionen ausgestattet sein. Soll etwa ein spezieller RAM-Test ausgeführt werden, so wird der Bediener geführt wie in Bild 1 gezeigt.
Weise organisiert sein (z. B. über den Stack). Die Blockstrukturen (je nach Programmiersprache als Funktion, Prozedur o. ä. bezeichnet) leistungsfähiger höherer Programmiersprachen besitzen diese Eigenschaft. Die Nützlichkeit der Rekursivität mag vielleicht nicht sofort augenfällig sein. Ein schönes Beispiel, das für eine Reihe technischer Anwendungen interessant sein könnte, zeigt /3/. Auch für unser Menüprogramm ist eine rekursive Struktur sehr vorteilhaft. Auf jedem Menüniveau wird das Menüprogramm aus dem jeweils höheren Niveau aufgerufen (das Hauptmenü aus dem Betriebssystem); als Parameter wird dabei ein Zeiger, der auf einen Kenndatensatz weist, übergeben, der das jeweilige Menü spezifiziert. Das gesamte Programm, das die Menüs realisiert, reduziert sich damit auf ein Minimum, der Umfang ist unabhängig von der Anzahl der Menüs. Die Struktur des Menübaumes wird auf die Zeigerbeziehungen der Kenndatensätze abgebildet. Die Kenndatensätze besitzen die im Bild 2 dargestellte Struktur (vgl. dazu die Typenvereinbarung für die Kenndatensätze im PLZProgramm). Bild 3 zeigt einen Teil der Kenndatensätze für unser Beispiel. Dem eigentlichen Menüprogramm wird nun ein Zeiger auf den jeweiligen Kenndatensatz übergeben. Dies beginnt in der Hauptprozedur mit dem Zeiger auf den Kenndatensatz (siehe PLZ-Programm Bild 4) des Hauptmenüs. Die niedrigeren Niveaus werden vom Menüprogramm aus aufgerufen. Dazu wird dem Kenndatensatz zunächst der Zeiger auf den Menütext entnommen und einer Prozedur zum Anzeigen von Texten übergeben (die hier wohl nicht näher aufge-
Bildl Kommandofolge und Menüs, die zum Valleytest führen
1 : SELBSTTEST 2: KALIBRIEREN 3 : HESSEN
1
orr
Ein rekursives Programm Die Aufgabe, eine Bedienerführung in Menütechnik zu realisieren, stellt einen Programmierer nicht vor allzu große Probleme. Für jedes Menü ist der Menütext auf dem Bildschirm anzuzeigen; dann muß die Tastatur abgefragt und entsprechend dem Abfrageergebnis zu den Menüs des nächst niedrigeren Niveaus verzweigt werden. Dabei kann vorteilhaft die Unterprogrammtechnik angewendet werden, da bei jedem Menü ganz ähnliche Funktionen zu realisieren sind. Ein BASIC-Beispiel mit großer Flexibilität der Menüs demonstriert 12!. Eine elegantere Lösung stellt allerdings die Anwendung eines rekursiven Programmes dar. Als rekursiv wird ein Programm bezeichnet, das sich selbst aufruft; damit dies möglich ist, müssen die Parameterübergabe an das Programm und die bezüglich des Programms lokalen Variablen in geeigneter Mikroprozessortechnik, Berlin 2 (1988) 1J
global
xec, 1D_id
onstant
external valley
OFF
eis :
equ
Och
iSteuerzeichen Bild Loeschen
nl ;
eq u
Od h
; ne» line
¡Parameter uebergebne Adresse
noop '
pop
de
pop
hl
push
de
JP
Chi)
;Rueckkehradresse ; Zi elodresse
21 2 ;
13123:
t1 1 :
"word
bp
"byte
ldp ext ernal
deft)
3
¡Anzahl der Verzweigungen
def«
to
¡Zeiger auf Menuetext
def «
noop
111
fuer
[anzahl
ENTER
ET2!
oder ET1 !
Kenndotensatz! byte,
id_ptr array
10_id
; Startadresse der mit ENTER
txt_zeig.bp, [9
do adr
word,
wp]]
*id_tab
lExternals
vom
Assembler-Tabel1entei1'
xec p r o c e d u r e
(do_adr
id_tab
word)
IKenndatensatx des Hauptmenues!
global
¡stsrtbaren Routine
111 :
wp
id_tab record
ret
def «
ITastencode
!Typvereinbarung
10_id: 10:
ITastencode O F F oder
type
;Sprungverteiler auf die all
x ec :
:=*16
ENTER:-S06
menu p r o c e d u r e ( a c t _ l d
,'Zeiger auf Kenndatensaetze
local
c
def»
112
¡des naechst niedrigeren
def »
113
j n i veaus
def b
u
;id.anzahl
def«
t11
;id.txt_zeig
def V
noop
;id.do_adr
def a
121 1
;id.id_ptr[0]
c
def»
121 2
;id.id_pl»[1]
IF
def»
1213
i id.id_ptr[2]
def w
121 U
|id.id_ptr[3]
def b
t»
def w
t212
def «
noop
def«
13121
def«
131 22
def«
13123
def«
131 ? L7S: Datei laden, retten, verknüpfen, hardcopy
121 Lampe, B.: Algorithmen der Mikrorechentechnik, Maschinenprogrammierung und Interpretertechniken des U 8 8 0 D . 2. Auflage 1983 /3/ Kleincomputer K C 8 5 / 2 , Systembeschreibung, V E B Mikroelektronik „Wilhelm Pieck" Mühlhausen. Stand 9/85 /4/ Befehlsbeschreibung U 8 8 0 D . V E B Mikroelektronik „Karl Marx" Erfurt
Literatur /1 / Thomae, R.: Perspektive und Axonometrie, Verlag Kohlhammer 1976
EPROMs hoher Speicherkapazität Jürgen Wrenzitzki, Ingenieurbetrieb für die Anwendung
der Mikroelektronik
Die technische Entwicklung im Bereich der Mikrorechner hat in den letzten Jahren gewaltige Fortschritte gemacht. Die Leistungsfähigkeit von 16- bzw. 32-Bit-Mikrorechnern erreicht in bestimmten Bereichen schon heute die Parameter von Minirechnern. Der Trend zur weiteren Miniaturisierung und zur Erhöhung der Arbeitsgeschwindigkeit ist anhaltend. System-Software wird nicht mehr ausschließlich auf Assemblerebene geschrieben. Durch Nutzung von Hochsprachen bei der Systemprogrammierung wird eine relativ leichte Übertragbarkeit von Betriebssystemen auf unterschiedliche Hardwarekonfigurationen ermöglicht. Der Nachteil der umfangreicheren Software wird durch mehr Speichervolumen kompensiert. Neben den RAM-Bausteinen, die heute in Größen bis zu 4MBit produziert werden, haben die EPROMs eine ebensolche Entwicklung erfahren. Für die Anwendung von EPROMs ergeben sich, besonders hinsichtlich der Programmierung dieser Bausteine, neue Gesichtspunkte, die im folgenden näher erörtert werden sollen.
die ausgewählte Speicheradresse zu programmieren und sofort wieder zu lesen (verify). Bei erfolgreicher Leseoperation wird die angewählte Adresse mit einem Impuls der Länge N * X überprogrammiert, wobei N ein vom Hersteller angegebener Faktor und X die Anzahl der bisher benötigten Impulse ist (intelligente Programmierung) /1/, 121. Neuere Programmieralgorithmen benutzen Überprogrammierimpulse konstanter Länge, oder auf die Überprogrammierung wird völlig verzichtet. Die erforderliche Datensicherheit wird herstellerseitig schon durch das implementierte Technologieniveau oder durch schärfere und exakter einzustellende Parameter während des Programmierzyklus garantiert /3/, IM. Die einzusetzenden Werte für M, N und tpw variieren wie die von den verschiedenen Herstellern kreierten Bezeichnungen für ihren Programmieralgorithmus. Man findet Namen wie INTELIigent Programming, Fast Programming, SnapIPulse Programming, High Speed Program Mode, Quick Pulse Programming usw. In den meisten Fällen wird mit Programmierimpulslängen tpw = 1 ms und einer maximalen Impulszahl M = 25 gearbeitet. Die Betriebsspannung Vcc wird während der schnellen Programmierung auf 6 V eingestellt, und der Überprogrammierfaktor ist 3 oder 4/1/, /2/. Die Programmierspannung der Bauelemente richtet sich nach der Herstellungstechnologie der EPROMs und kann 12,5V oder 21V (25 V für 2716 und 2732) betragen. Für extrem kurze Programmierzeiten, speziell bei CMOS-EPROMs, werden präziser einzustellende Parameter gefordert (Beispiel: SNAPIPULSE PROGRAMMING (Texas Instruments) tpw=100,«s„ Vcc = 6,25 V, Vpp = 12,75 V), wobei beispielsweise für einen TMS 27C256 Programmierzeiten von weniger als 4 Sekunden erreicht werden. Bild 1 zeigt die Programmier-Impuls-Diagramme der EPROMs 2764 (27128), 27256
Programmieralgorithmen Mit dem Anwachsen des Speichervolumens erhöht sich bei der EPROM-Programmierung die Programmierzeit. Bei Anwendung des bekannten Standardalgorithmus vom 50 ms Programmierimpuls pro Speicheradresse ergeben sich Programmierzeiten, die unvertretbar hoch sind IM. In den Herstellerunterlagen findet man deshalb nur noch Programmieralgorithmen, sogenannte FPA (fast program algorithm), die eine starke Reduzierung der Programmierzeit bewirken. Prinzipiell ähneln sich die zu benutzenden Programmieralgorithmen bei den verschiedenen Herstellern: - Bei erhöhter Betriebsspannung Vcc und angelegter Programmierspannung Vpp wird maximal M-mal versucht, die Information mit einem Programmierimpuls der Länge tpw in a)
Programmieren
Adressen
£
Mikroprozessortechnik, Berlin 2 (1988) 11
b)
Programmieren
c
W H L Pen H _ L OF H L
Vcc
CT
CF r
£Z
und 27512 für schnelle Programmierung. Hinsichtlich der Programmierbarkeit der EPROMs erfolgt eine individuelle Behandlung der einzelnen Speicheradressen. Für schwer programmierbare Adressen bzw. deren schwer programmierbare Einzeldatenbits ergeben sich je nach vorgeschriebenem Programmieralgorithmus Gesamtprogrammierimpulslängen von 75 bis 100 ms pro Byte. Untersuchungen an einem breiten Typenspektrum verschiedener Hersteller (2764 ... 27256, auch A-Typen und CMOS) zeigen, daß bei einer eingestellten Programmierimpulsbreite von 1 ms (bei Vcc = 6 V) im allgemeinen nur ein Programmierimpuls pro Byte erforderlich ist. Zur Anwendung des Standardalgorithmus (50 ms/Byte) werden von den Bauelementeherstellern keine Angaben mehr gemacht. Es ist davon auszugehen, daß nur die in den Firmenschriften ausdrücklich angegebenen Kennwerte für einen speziellen EPROM gültig sind. Für Abweichungen von diesen Werten werden durch die Hersteller keine Garantien übernommen, so daß im Einsatzfall kein zuverlässiges Arbeiten des EPROMs erwartet werden muß. Programmierspannung und Herstellungstechnologie In zunehmendem Maße liefern die Bauelementehersteller ihre schon traditionellen EPROM-Typen (ab 2764) in scalierten Versionen. Diese sogenannten A-Typen arbeiten mit 12,5V Programmierspannung (im Gegensatz zu den traditionellen 21 V). Manche Hersteller drucken auf ihre EPROM-Gehäuse den Wert der Programmierspannung auf oder fügen ein A an die Typbezeichnung an. Andere ersparen sich diesen Luxus, so dali es speziell bei den 32-KByte-EPROMs 27256, die von verschiedenen Herstellern in verschiedenen Technologien gefertigt werden und damit mit unterschiedlichen Spannungen programmiert werden, zu Programmierproblemen kommen kann. Fast alle Hersteller bieten ihre EPROMs inzwischen auch als CMOS-Version an. Es ist üblich, ein C in die Typbezeichnung dieser Bauelemente einzufügen. Tafel 1 ist eine Liste von 32KByte-EPROMs verschiedener Hersteller mit ihren spezifischen Programmierspannungen. Sie gibt außerdem (globale) Auskunft über die Anwendung von Fast-Mode-Algorithmen. Verifizieren
c)
Programmierer} Verifizieren
Oaten stabi!
- a -
Ausganipdaten stabil
"f Vcc
m
El KONTAKT ® Büro für Stadtplanung beim Rat der Stadt Frankfurt (Oder), Rathaus, Frankfurt (Oder), 1200; Tel. 3 6 5 3 0 6
Mr esse stabil
Au wanosctotenstaòii
Vcc KC Vcc
Verifizieren
Adresse ¡tabi!
Oaten
Bild 1 Programmierzeit-Diagramme der EPROM-Typen a)2764, 27728, b)27256, c)27512 für schnelle Programmierung. (Es werden nur qualitative Zeitverhältnisse ohne Bezugnahme auf spezielle Herstellerangaben dargestellt!)
Erfurt
/5/ Schlenzig, K. u. S.: Tips und Tricks für kleine Computer. Berlin: Militärverlag 1988
6.0V 50 H L H L
Vcc SßV Vpp SEtVpp L
Tpw
Oalen sfaòil
Daten mv
CT
»
c
Aus jonasdatens/aòH
J
V tpw
329
Tatel 1 32-KByte-EPROMs
verschiedener
Tafel 2 Identifier
Hersteller
Typ
Hersteller
V„pin V
AM 27256 DC Ì27256 D27C256 MBM27256-25 D27256D D27256AD TC 57256D TMM27256D TMM 27256 AD M27256FI TMS27C256 MSL27256K HN27256G-25
AMD Intel Intel Fujitsu NEC NEC Toshiba Toshiba Toshiba SGS Texas Instruments Mitsubishi Hitachi
12.5 12.5 12.5 21.0 21.0 12.5 21.0 21.5 12.5 12.5 12.5 12.5 12.5
FAST
Ia Ia Ia Ia Ia Ia Ia Ia Ia Ia i¡>' Ia Ia
¿7512
272SÍ
27126
2764
2732
2776
F.PfíOM-Typ
Code (Hex)
2732 A 2764 27C64 2764 A 87C64 27128 27128A 27256 27C256 87C256 275J2 27513 27011
01 02 07 08 37 83 89 04 8C(04)" 80 OD OF 85
PiN
Nummern
Die Einhaltung der Behandlungsvorschriften für Halbleiterbauelemente, speziell der Schutz vor elektrostatischer Zerstörung oder das Fließen von ungewollten Strömen in einer heißen Fassung, erhalten besonders bei der Programmierung von CMOS-EPROMs wesentlich mehr Gewicht. Hinsichtlich der Datensicherheit ist, den Herstellerangaben zufolge, eine mit der Weiterentwicklung der Herstellungstechnologie Hand in Hand gehende positive Entwicklung zu verzeichnen.
Hersteller
:
Hersteller
CodeiHex)
89(88)' 97 98 01
Intel Texas Instr. Toshiba AMD
Selbst-Identifizierungs-Modus
* 88 bei EPROMs im Plastgehäuse " Kennzeichnung nicht eindeutig
•Bei SNAPiPULSE PROGRAMMING (Vw = 12.75 V; Vcc = 6,25 V; t;y„ = 100fis) ist die Programmierzeit < 4 s.
27SI3
Codes für Typen und
a716
Neuere EPROMs werden herstellerseitig mit einem Idfentifizierungs-Code (silicon-signature, identifier mode usw.) versehen, der in zwei Byte sowohl einen Herstelleridentifikator
der Firma Intel
276i
2732
Z7128
Z72S6
27512
27513
VC.
AIS
Vpp
Vpp
Vpp
1
28
Vcc
Vcc
Vcc
A12
AtZ
A12
A12
A12
à
27
Psñ
PSM
Ali
AH
HJÊ
A 7
A7
A7
A7
A7
AG
A6
A6
A7
A7
1
3
A6
AB
A6
AS
4
Z 3
AS
AS
AS
AS
AS
A5
AS
ò
M
Ai
AU
Ai
Ai
Ai
Ai
e
A3
A3
A3
A3
A3
A3
A3
1
2h 23 •
s
Vcc
se
AB
,2$
Vcc
Vcc
N.C.
AI3
A13
A13
A13
AB
AB
AB
AB
AB
AB
fia
AS
A9
A9
A3
A9
A9
23 ;
Vpp
A 11
Ali
AH
A IT
A 11
All
20
22
m
VF
VF
;
Öl/Vpp
AZ
AZ
AZ
A2
AZ
A2
AZ
e
' 6'
19
•21 ;
AIO
AIO
AIO
Aio
AIO
AIO
AIO
AI
AI
A 1
A 1
A 1
A 1
3
7
te
2D
CE
ZT
Œ
IX
"CT
S
Cè
A*
A*
A*
AEXEC[ [:][. [ ::= Name des
d
Ihr dBASE II heisst DBASE ('') Run \
. CMD] ] A S E -Anfangsprogramms! OR
C''): do
{ ' ' ) - ('?' ! "!') for HELP - OR Canoel
Mikroprozessortechnik, Berlin 2 (1988) 11
I
!
C')? /
Bild 2 TOOL-Beschreibung Bildschirmrollen
Im 40poligen Gehäuse werden sowohl EPROM-Chips mit 16 Bit Datenwortbreite (Beispiel: 27210, «PD 27C1024 D) als auch mit 8 Bit Datenwortbreite (Beispiel: ,uPD 27C1000 D) untergebracht. Aussagen zur Vereinheitlichung hinsichtlich der Anschlußbelegung und der entsprechenden Bezeichnungsweise sind derzeit für diese Gehäusegröße nur bedingt ableitbar. Es bleibt zu erwähnen, daß die meisten EPROM-Hersteller zu ihren EPROM-Typen sogenannte OTPs (one time programmable) oder Production EPROMs im Plastgehäuse liefern, die nur einmal durch den Anwender programmiert werden können. Für diese Bauelemente machen die Hersteller zudem günstigere Zuverlässigkeitsaussagen. Es gibt außerdem Tendenzen, EPROM-Chips in sogenannte Mini-Fiats zu Verkappen, was den Anforderungen eines modernen Leiterplattendesigns entgegenkommt. Literatur IM Chitry. P.; Schramm, M.: Intelligentes Programmieren moderner EPROMs. Radio, Ferns., Elektron. Berlin 36 (1987) 8 S. 498 12/ Intel MOS-Memories 1984 13/ Toshiba MOS Memory Products 1985 /4/ Texas Instruments Data Sheet TMS 27C256 1987
K l KONTAKT @ VEB Mikroelektronik „Karl Marx" Erfurt, Rudolfstraße 47, Erfurt, 5010; Tel.. 62102/23
(erstellt mit dem in IM beschriebenen Programm YPOKE) zur Verfügung. Die Aufrufadressen in ROLLEN.CMD und SPACE.CMD sind die gleichen wie unter EXEC. Die Quelltexte in Bild 8 und 9 sind unmittelbar so nutzbar (dBASE II 2.41 und REDABAS 2.0). EXEC enthält als ?-Funktion die Dokumentation seiner Anwendungsbeschreibung (Bild 1 bis 7) selbst und erlaubt darüber hinaus mit der I-Funktion den Anschluß von mehreren Anwenderdokumentationen oder Bedienungsanleitungen, die mittels (Schirm-Nr.) angezeigt werden; das heißt die vollständige Anwendungsdokumentation ist mit in das Startsystem integrierbar.
Anmerkung: Obwohl laut dBASE-ll-Dokumentation der TPA-Bereich ab 0A400H für Assemblerprogramme verfügbar sein soll, empfiehlt sich eine Nutzung erst ab 0A800H (43008), wobei die BDOS-Beginn-Adresse entsprechend herunterzusetzen ist, um die Assemblerroutinen vor Überschreiben bei Nutzung höherer Versionen (2.43 und 3.0) von dBASE II und REDABAS zu schützen.
/
,
Vorliegendes Programm laedt automatisch d B A S E II und gibt die Steuerung an ein entweder in der Aufrufzeile oder laut Anfrage mitgeteiltes Anfangsprogramm [:][.]. Gleichseitig wird auf die Adresse 0A400h ein integriertes ASSEMBLER-Unterprogramm ASSUP zum Aufruf u. a. mit: STORE 419B4 TO Madr STORE '' TO Mparm SET CALL TO Madr+6 CALL Mparm zwecks Bildschirmhochrollens im Zeilenbereich von ::= 00 .. 22 bis ::= 01 . . 23 geladen. (Anm.: z.B. Mparm:-'0511'; hl -> ¡04|30\35;31131I) Kxit — > ('') OO ON C" ' I ' ') - 00 BACK C')_ \ /
331
als auch einen Typidentifikator signalisiert. Diese Kennbytes werden lesbar, nachdem die Adreßleitung A9 auf 12 V angehoben wird und die Adreßleitung AO geschaltet wird. AO = Low ergibt den Herstellercode, und AO = High liefert den Typcode. Die anderen Adreßleitungen können Low oder High sein (Don't care). Die Anwendung des Identifier-Modes an nicht bekannten EPROMs ist allerdings nicht unbedenklich, da bei einem nicht in diesem Modus arbeitsfähigen Bauelement eine Eingangspegelüberschreitung an A9 erfolgt. In Tafel 2 sind einige Kennbytes für Hersteller und Typen dargestellt. Bei Anwendung des Identifier-Modes kann die Entscheidung, mit welchem Programmieralgorithmus und bei welcher Programmierspannung zu arbeiten ist, nur aus Herstellercode und Typcode gemeinsam abgeleitet werden. Der weit verbreitete 27256 mit dem Typcode 04 wird von den verschiedenen Herstellern in verschiedenen Technologien produziert und hat unterschiedliche Programmierspannungen. Die sicherste Entscheidungshilfe bleibt in jedem Fall immer noch das Studium der entsprechenden Firmenunterlagen. Anschlußbelegung und G e h ä u s e b a u f o r m e n Neben einer Reihe von EPROMs, die für spezielle Anwendungen entwickelt wurden, hat sich international ein Standard hinsichtlich der Speichergrößen und der Anschlußbelegung durchgesetzt. Diese Bauelemente, die mit einer Datenwortbreite von 8 Bit organi-
siert sind, werden in Abhängigkeit von ihrer Speichergröße in 24-, 28-, 32- oder 40poligen Gehäusen geliefert. Einige Hersteller produzieren inzwischen auch EPROMs mit einer Datenwortbreite von 16 Bit im 40poligen Gehäuse, die speziell für 16-Bit-Rechner vorgesehen sind. Bild 2 gibt eine Übersicht über die StandardEPROMs im 24- und 28poligen Gehäuse, und in Bild 3 ist die Anschlußbelegung einiger neuer EPROM-Typen dargestellt, wobei kein Anspruch auf Vollständigkeit erhoben wird. Es wird deutlich, daß die historisch gewachsene Anschlußbelegung und auch die Art der Typbezeichnung bis zum 27512 konsequent eingehalten wurde. Bei neuen EPROMs mit mehr als 512 KBit Speichervolumen existiert noch keine einheitliche Bezeichnungsweise, so daß die Anschlußbelegung nicht einfach ableitbar ist. Durch Nutzung von 32poligen Gehäusen werden (bei den 8-Bit-EPROMs) einfach nur mehr Adreßpins zur Verfügung gestellt. Bei den neuen EPROM-Typen im 28poligen Gehäuse gibt es eine Besonderheit. Sowohl der 27513 als auch der 27011 arbeiten im sogenannten Page-Mode. Durch Doppelnutzung der Datenpins in Verbindung mit anderen Steuersignalen (/we, VPP/RST, /pgm-/we) wird eine seitenweise Adressierung von 16KByte-Blöcken (entsprechend mehrerer 27128) realisiert. Theoretisch bestünde bei Fortsetzung dieses Prinzips die Möglichkeit, -256 Seiten zu jeweils 16 KByte zu adressieren, was derzeit jedoch technologisch noch nicht realisierbar erscheint.
EXEC — ein Startprogramm für dBASE II Christian
Hanisch,
Berlin
Das Aufrüsten der verfügbaren StandardFunktionen/Prozeduren einer Programmiersprache durch nutzereigene Unterprogramme in Form problemspezifischer Erweiterungen der „ Standard-Funktionen" ist eine für die Anwendungsprogrammierung wirkungsvolle Methode. Assembler-Unterprogramme verbessern den Service und die Leistungsfähigkeit. Das hier beschriebene Startsystem ist ein Assemblerprogramm, das sich ab der Adresse 0A400H resident macht und dynamisch ein „normales" Programm nachlädt, z. B. dBASE oder REDABAS. In dem resident verbleibenden Teil des EXEC-Programms sind einige Unterprogrammfunktionen enthalten, die z. B. von dBASE durch CALL-Aufrufe genutzt werden können.
-
f
Rahmenprogramm
S X S C
von
Das kopiergeschützte Startprogramm EXEC stellt eine feste Einbindung von Unterprogrammfunktionen in das Startsystem dar. Umfang und Spezifik der implementierten Unterprogrammfunktionen liegen fest. Eine alternative allgemeingültigere Variante ist in Bild 8 und 9 gezeigt, wo einige Funktionen aus EXEC als beliebig einbindbare CMD-Daten herausgezogen worden sind. Der Umfang und die Anwendungsbeschreibung der realisierten Unterprogrammfunktionen sind aus Bild 1 bis 8 ersichtlich. Die Funktionen: Bildschirmrollen, Bildschirmsichern/ -wiederherstellen (ROLLEN.CMD) sowie Ermittlung des noch freien Speicherplatzes auf Diskette (SPACE.CMD) sind als separate Moduln herausgezogen und stehen als CMD-Dateien in Form von POKE-Befehlen
Bild 1 EXEC-Startpro: grammruft d B A S E-Anwendungs-Systemen! qq COM auf s
V.m=3.2
!
Aufruf: A>EXEC[ [:][. [ ::= Name des
d
Ihr dBASE II heisst DBASE ('') Run \
. CMD] ] A S E -Anfangsprogramms! OR
C''): do
{ ' ' ) - ('?' ! "!') for HELP - OR Canoel
Mikroprozessortechnik, Berlin 2 (1988) 11
I
!
C')? /
Bild 2 TOOL-Beschreibung Bildschirmrollen
Im 40poligen Gehäuse werden sowohl EPROM-Chips mit 16 Bit Datenwortbreite (Beispiel: 27210, «PD 27C1024 D) als auch mit 8 Bit Datenwortbreite (Beispiel: ,uPD 27C1000 D) untergebracht. Aussagen zur Vereinheitlichung hinsichtlich der Anschlußbelegung und der entsprechenden Bezeichnungsweise sind derzeit für diese Gehäusegröße nur bedingt ableitbar. Es bleibt zu erwähnen, daß die meisten EPROM-Hersteller zu ihren EPROM-Typen sogenannte OTPs (one time programmable) oder Production EPROMs im Plastgehäuse liefern, die nur einmal durch den Anwender programmiert werden können. Für diese Bauelemente machen die Hersteller zudem günstigere Zuverlässigkeitsaussagen. Es gibt außerdem Tendenzen, EPROM-Chips in sogenannte Mini-Fiats zu Verkappen, was den Anforderungen eines modernen Leiterplattendesigns entgegenkommt. Literatur IM Chitry. P.; Schramm, M.: Intelligentes Programmieren moderner EPROMs. Radio, Ferns., Elektron. Berlin 36 (1987) 8 S. 498 12/ Intel MOS-Memories 1984 13/ Toshiba MOS Memory Products 1985 /4/ Texas Instruments Data Sheet TMS 27C256 1987
K l KONTAKT @ VEB Mikroelektronik „Karl Marx" Erfurt, Rudolfstraße 47, Erfurt, 5010; Tel.. 62102/23
(erstellt mit dem in IM beschriebenen Programm YPOKE) zur Verfügung. Die Aufrufadressen in ROLLEN.CMD und SPACE.CMD sind die gleichen wie unter EXEC. Die Quelltexte in Bild 8 und 9 sind unmittelbar so nutzbar (dBASE II 2.41 und REDABAS 2.0). EXEC enthält als ?-Funktion die Dokumentation seiner Anwendungsbeschreibung (Bild 1 bis 7) selbst und erlaubt darüber hinaus mit der I-Funktion den Anschluß von mehreren Anwenderdokumentationen oder Bedienungsanleitungen, die mittels (Schirm-Nr.) angezeigt werden; das heißt die vollständige Anwendungsdokumentation ist mit in das Startsystem integrierbar.
Anmerkung: Obwohl laut dBASE-ll-Dokumentation der TPA-Bereich ab 0A400H für Assemblerprogramme verfügbar sein soll, empfiehlt sich eine Nutzung erst ab 0A800H (43008), wobei die BDOS-Beginn-Adresse entsprechend herunterzusetzen ist, um die Assemblerroutinen vor Überschreiben bei Nutzung höherer Versionen (2.43 und 3.0) von dBASE II und REDABAS zu schützen.
/
,
Vorliegendes Programm laedt automatisch d B A S E II und gibt die Steuerung an ein entweder in der Aufrufzeile oder laut Anfrage mitgeteiltes Anfangsprogramm [:][.]. Gleichseitig wird auf die Adresse 0A400h ein integriertes ASSEMBLER-Unterprogramm ASSUP zum Aufruf u. a. mit: STORE 419B4 TO Madr STORE '' TO Mparm SET CALL TO Madr+6 CALL Mparm zwecks Bildschirmhochrollens im Zeilenbereich von ::= 00 .. 22 bis ::= 01 . . 23 geladen. (Anm.: z.B. Mparm:-'0511'; hl -> ¡04|30\35;31131I) Kxit — > ('') OO ON C" ' I ' ') - 00 BACK C')_ \ /
331
/ Eine weitere Funktion i s t das Sichern und Wiederhers t e l l e n des B i l d s c h i r m i n h a l t s : NOTE Sichern SET CALL TO Madr+9
CALL
\
Niederherstellen SET CALL TO MadrH2
Die Funktion "Schnelles B i l d s c h i r m r o l l e n " (ASSUP+6:=41990) memory mapped video d i s p l a y ( A5120/30 ) wird ALTERNIEREND i n s t a l l i e r t mit: ( —> V o r e i n g e s t e l l t : No memory mapped ) SET CALL TO Madril8 CALL Das Datum l i e g t a l s 'tt.mm.jj' auf 42005 (0A415h) GOON ( ' ' ! ' ') - 00 BACK ( ' ')_ \ /
Bild 3 TOOL-Beschreibung len
Bildschirmsictiernl-wiederherstel-
"
\
/ W i e v i e l P l a t z in KByte auf der A r b e i t s d i s k e t t e noch f r e i i s t , g i b t folgender Aufruf zurueck: [STORE 41884 TO Kadr] STÖBE ' b ' TO H l « STORE Mlw + ' ' TO Mparm SET CALL TO Madr+15 CALL Mparm Store Mparm t o Mspace Die Anzahl der noch f r e i e n DIRECTORY-Entries l i e f e r t : STORE Mlw * ' D I R ' TO Mpam SET CALL TO Madr+15 CALL Mpam S t o r e Mparm t o Mfileanz * Mparm e n t h a e l t rechtsbuendig j e w e i l s das Ergebnis. 00 ON ('' 1 ''> - 00 BACK { ' ').
Bild 4 TOOL-Beschreibung
Freie
Diskettenkapazität
~\
f
fcun Sohuatsan / Freigaben des Baralohas ab 41964 bis Beginn des BDOS d i e n t der a l t e r n i e r e n d wirksame Aufruf: t STORE 41984 TO Madr] SET CALL TO Madr+3 CALL und d i e Freigabe entsprechend bei jedem zweiten Aufruf. ACHTUNG: Der Schutz i s t
n i c h t
voreingestellt !
Das Sohuetzen der ASSUP-Routinen i s t spaetestens vor der Nutzung der SORT-Funktion notwendig. 00 OH
('"
I '')
Bild 5 TOOL-Beschreibung
/
-
BDOS-Beginn
A>EXEC [[:][.]/M:&HA3FF " I h r dBASE I I h e i s s t DBASE ("') OR ( ' < f i l e n a m e > ' ) : " mit MBASIC bzw. BASI oder L80 u.a. beantworten B 1 l d s o h i
r m r o l
lan:
ASSUP2=BcHA406 :DIM X*(3) ' 3 Integerzahlen ' | '') - OO BACK ('')_
Bild6 TOOL-Beschreibung Bild 7 TOOL-Beschreibung
BASIC-Interpreter unter EXEC TURBO-PASCAL unter EXEC
/ Die Anwendung des Startsystems fuer TURBO-Pascal i s t analog. Um d i e ASSUP-Routinen zu schuetzen, muss in O)ptions K)nd address: A3FF gesetzt werden. Angesprochen werden d i e ASSUP-Routinen ueber: Prooadura begin Prooadura Procedura Procedura begin Procedure begin 00 ON
-sichernl-wiederherstellen
ROLLEN (Var fromto: STR4); INLINE ( . . . ) end; SAVEBS; E x t e r n a l 9A409; RETBS; E x t e r n a l 3A40C; FREEK (Var Mparm: STR4); INLINE ( . . . ) end; MDATUM (Var Datum: STR8);{0A415h -> 42005} INLINE ($2A/DATUM/$U/$15/$A4/$36/$08 /$23/$EB/$01/$08/$00/$ED/$B0) end; (*' ! • ') - 80 BACK ( ' ')
/ \ * SPACE. CMD vom: 01.06.87 ( Funktion nach B i l d 4 ) POKE 41999,229,17,188,165,1,5,0,237,176,58,4,0.50; ,204,165,230, 15,14,13,205,5,0,56,188,165,225,254,5; ,210,173,165,254,4,218,173,165,229,42,190,165,17,32,32; ,237,82,225,202,231,164,35,34,202,165,126,203,175,214,65 POKE 42057,230,15,95,14,14,205,5,0,14,31,205,5,0; ,17,7,0,25,76,35,70,3,237,67,195,165,33,0,0; ,34,197,165,34,193,165,17,241,165,14,26,205,5,0,62; ,63,50,209,165,17,209,165,14,17,205,5,0,254,255,40 POKE 42115,67,167,23,23,23,23,23,50,193,165,17,241.165; ,42,193,165,25,126,254,229,40,7,42,197,165,35,34,197; ,165, 14,18,205,5,0,254,255,40,30, 167,23,23,23, 23; ,23,50,193,165,17,241,165,42,193,165,25,126,254,229 40 POKE 42173,226,42,197,165,35,34,197,165,24,217,42,195,165; .235,42,197,165,235,167,237;82,34,197,165,17.126,0,14; ,26,205,5,0,237,75,197,165,42,202,165,195,82,165.35; ,126,203,175.214,65,230.15,95,34,202,1S5,14,14,205,5 POKE 42231,0,14,27,205,5,0,229,14,31,205,5,0,35; ,35,126,50,201,165,35,35,35.78,35,70,3.237,67,199; ,165,22,1,225,21,32,4,126,35,22,8,135,48,9.229; ,42, 199, 165,43,34,199, 165,225, 11,245,120, 254,0,32,12 POKE 42289,121,254,0,32,7,241,237,75,199,165,24.3,241; ,24,215,42,202,165,58,201,165,254,3,40,8,96,105,9; ,68,77,42,202,165,229,33,122,165,30,89,6,5,14,12; ,235,41,235,122,56,4,254,160,55,4,214,160,87,23,13 POKE 42347,32,239,230,240,119,5,40,12,122,230.15,87,35: ,24,224.0,0,0,0,0,225,6,4,14,0,17,125,16 5; ,26,167,32,8,165,32,5,62,32,119,24,15,203,47,233; ,47,203, 47,203.47,230, 15. 246, 48, 119 . 14, 1. 35, 27, 1 ::3 POKE 42405,254,2,32,2,14,1,16,218,58,234,165,4; ,0,230,15,95,14,14,205,5,0,201,0,0,0,0,0; 1,0,0,0,3,0,0.76,97,98; ,0,0,0,0,0,0,1 ,63,63,63,63,63,63,63,63,63,63,0 ,63,63,63,63,, 0 , 0 , 0 , 0 , 0 , 3 , 0 , 0 , 0 . 0 , 0 , 3 ; POKE 42463,0,, 0 , 0 , 0 , 0 , 0 , 0 , 3 , 0 , 0 ; ,0,0,0,0,0,0,1 ,0,0,3,0,0,0, 0, 0, 0, 3, 0, 3,3,3; , 3 , 0 , 0 , 0 , 0,0,< ,0,0,3,0,0,0,3,0,0 POKE 42521,0,, 0, 0, 0, 0,3, 0, 0,0, 0, 0, 0, 0; ,0,0,0,0,0,0,1 ,0,0,0,0,0,0,0,0,0; , 0 , 0 , 0 , 0 , 0 , 0 ,, 0 , 0 , 0 , 3 , 0 , 0 , 0 , 0 , 3 ; ,0,0,0,0,0,0,1 ',0,0,3,0,0,3,3,0,0 POKE 42579,0,, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 3 , 0 , 0 , 0 ; ,0,0,0,0,0,0,1 1,0,0,0,0,0,0,0,0,3 SET CALL TO 41999 RETURN
Literatur IM Hanisch, Ch ; Umwandeln von [Assembler-]COM-Files in dBASE-IMNLINE-POKEs. Mikroprozessortechnik 2 (1988) 10, S. 307 121 Bernert, J.:Fischmann, M.; Hahn, W.: Druckersteuerung und Einbinden von Assembler-Programmen bei der Arbeit mit REDABAS. rt/dv 23 (1986) 7, S. 18 /3/ Bernert, J.; Fischmann, M.; Hahn, W.: Die Arbeit mit Textdateien innerha^ des Datenbanksystems REDABAS. rt'dv 23 (1986) 7, 3 20
332
und
auf 0A400H legen
\
110 120 130 140 150 200 OO ON
POKE 42512,0 0, 0, 0 0 , 0 , 0 , 0 , 0 0 0,0,0; ,0,0 0 , 0 , 0 , 0 0,0,0 0, 0, 0, 0, 0 0 .0,0 0 , 0 , 0 , 0 0,0,0 0 , 0 , 0 , 0 , 0 0 .0,0 0 , 0 , 0 , 0 0,0,0 0, 0, 0, 0, 0 0 POKE 42570,0 0, 0, 0 0 , 0 , 0 , 0 , 0 0 0,0,0; ,0,0 0 , 0 , 0 , 0 0,0,0 0, 0, 0,0, 0 0 ,0,0 0 , 0 , 0 , 0 0, 0, 0 0,0, 0,0,0 0 , 0 , 0 , 0 , 0 , 0 , 0 0,0,0 0 , 0 , 0 , 0 , 0 0 POKE 42626,88,88, 88,0,248, 128, 7,88,88,88,0,0,195; ,215,166,33,237,166,34,21,164,33,0,0,34,142,166,195; ,174,166,33,237,166,34,21,164,33,255,255,34,142,166,0; ,0,0,33,144,166,17,174,166,1,3,0,237,176,237,91 POKE 42686,21,164,237,83,23,164,33,0,0,167,237,82,32; ,7,17,237,166,237,83,23,164,237,83,21,164,237,91,21; ,164,42,135,166,58,142,166,254,255,32,1,235,237,75,137; ,166,237,176,201,201,201,0,0,0,0,0,0,0,0,0 POKE 4 2 7 4 4 , , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 0 ; * Fuar Blldsohirm: 18 x 64 sind 80,24,0,248 in • 64,16,0,252 bzw. 0,248,128,7 i n 0,252,0,4 zu aendern. SET CALL TO 41990 RETURN
Bild 8 Bildschirmrollen
SO BACK (" ")_
Das Startsystem geht u.a. fuer den BASIC-Interpreter:
B a l a p i a l fuer
# ROLLEN.CMD vom: 02.06.87 ( Funktionen nach B i l d 2 / 3 ) POKE 41990, 195,143,164, 195,147, 166,195,162,166,201,201; 201,195,35,164,0,0,0,0,0,0,0,0,0,0,0,0,0; ,0,33,70,164,237,91,70,165,167,237,82,32, 5,33.64; ,164,24,3,33,67,164,17,69,165,1,3,0,237,176,201 POKE 42048,195,72,165.195,70,164,197,42,241,165,22,0,58; ,239,165,95,193,25,16,253,34,141,164,25,237,91,137.164; ,167,237,82,34,139,164,42,141,164,237,91,137,164,167,237; ,82,218,136,164,42,137,164,237,91,246,165,237,75,139.164 POKE 42106,237,176, 56,239,165, 71,42, 141, 164,54, 32, 35, 16; ,251,201,0,0,0,0,0,0,229,62,36,50,4,166,33; ,4,166,17,5,166,1,83,0,237,176,225,229,94,35,86: ,42,231,165, 167, 237,82,225,32,28,229,35,35,94,35,86 POKE 42164,42,233,165,237,82,225,32,14,229,35,94.35.86; ,42,234,165,237,82,225,202,69,165, 17,231,165,1,5,0; ,237,176, 33,231,165, 126,254,4, 194,226,165,35,126,230,15; ,71,62,0,184,40,4,198,10,16,252,79,35,126,230.15 POKE 42222,129,71, 198,128,50, 250,165,58,240,165,61,61,184; ,216,226,165,42,241,165,22,0,58,239,165,95,58,250,165; ,254,128,40,3,25,16,253,34,246,165,237,93,248,165,25; ,34,137,164,33,234,165,126,230,15,71,62,0,184,40,4 POKE 42280,198,10,16,252,79,35,126,230,15.129,254.0.202; ,226,165,71,198,128,50,252,165,58,240,165,61,184,218,226; ,165,195,72,165,237,115,33,164,49,33,164,58,250,165,50; ,2,166,60,71,58,252,165,167,144,218,226,165,60,71,42 POKE 42338,246,165,237,91,248, 165,167,25,229,197,6,0,58: ,239,165,79,17,4,166,197,229,65,126,167,32,2,54,32; ,35,16,247,225,193,237,176,33,4,166,6,0,58,239.165; ,79,62,36,237,177,32,7,43,54,164,35,234,144,165,17 POKE 42396,1,166,14,9,205,5,0,58,2,166,60,50,2; ,166,193,225,16,182,42,252,165,34,2,166,58,239,165,71; ,5,5,33,4,166,62,32,119,35,16,252,62,13,119,35; ,62, 10, 119,17, 1, 166,14,9,205,5,0,17,251,165,14 POKE 42454,9,205,5,0,17,255,165,14,9,205,5,0,237; ,123,33,164,201,0,0,0,0,0,88,88,88,80,24,0,248; ,68,88,88,0,0,0,0,0,27,129,128,36,24,36; ,27, 128, 128,0,0,0,0,0,0,0,0,0,0,0,0
Bild 9 Freie KByte und DIRectoryEntries auf Diskette als dBASE-llProgramm
0 KONTAKT ® Technische Universität Dresden, Sektion Wasserwesen. Bereich WE; Tel. 23261 18 -cprczesscrtech-ik. Berün2,1S83) i1
Softwareentwicklung Lubomir Karadshow, Karsten Noack, Michael maschinenkombinat „7. Oktober", Direktorat
Die Entwicklung der Mikrorechentechnik ist gegenwärtig durch eine Leistungsexplosion der Hardware gekennzeichnet. Das PreisLeistungs-Verhältnis der angebotenen Systeme verbessert sich ständig. Es ist demnach zu erwarten, daß die Anzahl der Computerinstallationen in den nächsten Jahren sprunghaft ansteigen wird und bedeutende Applikationsbereiche für die Computertechnik erst noch erschlossen werden. Diese Aspekte deuten auf die noch zu lösenden Probleme in der Softwaretechnologie hin. Konventionelle Programmiersysteme werden sich als unzureichend erweisen. Existierende Systementwicklungsmittel sind als Firmen-Know-How im allgemeinen kaum zugänglich und in vielen Fällen nicht hinreichend flexibel IM. Entwicklungsmodule auf der Basis der FORTH-Methodik stellen eine Möglichkeit zur Lösung derartiger Problemstellungen dar. Anders als bei herkömmlichen Programmiermitteln liegt hier ein vollständig offenes System vor, von Anfang an in der Sprache realisiert, die es selbst darstellt. Einmalig ist die Tatsache, daß zur Programmentwicklung die gesamte Systemquelle verfügbar ist, und zwar in FÖRTH. Jede einzelne systeminterne Routine ist zugänglich, analysierbar, modifizierbar und für verschiedene Zwecke wiederverwendbar. Der konzeptionell unterstützte Zugriff auf das Gesamtsystem führt zu Eigenschaften, die einmalig sind. Ein Beispiel ist die Möglichkeit, die Funktion bestehender Sprachelemente zu verändern und so fertige Programme ohne wiederholten Entwicklungsaufwand (Edition, Compilation) bzw. Programmabläufe während der Ausführung dynamisch zu modifizieren. Die neuartige Programmentwicklungsphilosophie, die von FÖRTH verkörpert wird, zeichnet sich nach außen vor allem durch die sehr einfache Benutzung aller Sprach- und Systemelemente sowie durch die organische Einheit von Systemkern und Applikationserweiterungen aus. Letzteres bedeutet, daß die Hauptbestandteile des Systems (Interpreter, Compiler, Editor, Debugger) in nutzerspezifischer Weise erweiterbar bzw. modifizierbar sind, so daß Applikationen und Systeme mit völlig verschiedenen Eigenschaften und Sprachelementen entstehen können. Das einfache Programmieren mit eigenhändig definierten Sprachelementen und das unkomplizierte Benutzen eines einheitlichen Entwicklungssystems ermöglichen einen einfachen Dialog mit komplizierter Hardware und verkürzen die Test- und Experimentierzeiten beim Programmieren. Nach Beendigung der Testphase können fertige FORTH-Programme mittels Metacompilation, das heißt Regenerierung eines FORTH-Systems durch Compilation von sich selbst 12!, in eine endgültige (optimierte) Version gebracht werden. Mit Hilfe eines sogenannten Metacompilers können FORTHKernsysteme für andere Mikroprozessoren und Betriebssysteme, Systeme mit modifizierten Eigenschaften sowie optimierte Endcompilate von Programmen erzeugt werden. Mikroprozessortechnik, Berlin 2 (1988) 11
mit FORTH Wyschofsky, VEB Werkzeug• Erzeugnisentwicklung
Neu/mpfemerrtie/vng mierumgebungen, die dem wachsenden Um-
fang und der steigenden Komplexität der zu lösenden Aufgaben gerecht werden. Ein besonders leistungsfähiges Programmentwicklungssystem wurde im Hinblick auf geplante weiterführende Arbelten zur Programmierung von Steuerungen mittels moderner Softwaretechnologien (rechnergestützte Übersetzung/Codegenerierung) im Wissenschaftlich-Technischen Zentrum des VEB WMK „7. Oktober" Berlin (NILES), aufbauend auf Ergebnissen der TH Ilmenau (TBK, WB Computertechnik), entwickelt 121, /3/. Das System ist FORTH-83-kompatibel und vordergründig für 16-Bit-Mikrorechnersysteme konzipiert. Es ist modular organisiert und verfügt über eine Vielzahl von in Applikationen einsetzbaren Erweiterungsmodulen, über einen sehr komfortablen Editor, einen Metacompiler sowie zahlreiche Test- und Dienstprogramme. Es existieren Versionen für die meisten verbreiteten 8- und 16-Bit-Mikrorechner (siehe auch Börse).
FORTH
Bildl Entwicklung mit FORTH-orientierten Systemen
Kerne!
System abhängiges Interface
Editor/interpreter,
Erweiterung
ModuleDienste Applikationen
Decompiler, Debugger Assembler
Compiler / interpreter Bild 2 FORTH-83Programmentwicklungssystem
Meta-,
FORTH-orientierte Systeme sind besonders effektiv für die Entwicklung von (siehe Bild 1): • Compilern/Interpretern für Spezial- und Fachsprachen • Programmen für Rechnerarchitekturen, für die keine speziellen Programmentwicklungssysteme vorhanden sind • Programmen für kleine Rechnersysteme (besonders Einchipmikrorechner) • fachspezifischen Programmentwicklungssystemen (Programmierung von Maschinensteuerungen) • Hochleistungssteuerungen auf der Basis von FORTH-Prozessoren (mehrere Millionen FORTH-Operationen pro Sekunde) • intelligenten Übersetzungssystemen durch Einbindung von Kl-Modulen in den Prozeß der Metacompilation. In den letzten Jahren beobachtet man Anwendung von FÖRTH in sehr breiten Applikationsbereichen. Insbesondere verstärkt sich der Einsatz in der Bildverarbeitung und der Automatisierungstechnik. Parallel dazu entsteht der Bedarf an Programmentwicklungssystemen und leistungsfähigen Program-
Cfosscompiier / Assembler
FORTH erweist sich immer mehr als eine mächtige und zugleich sehr effektive „Mittlersprache" der hardwaregebundenen und hardwarenahen Programmierung. Zugleich ist FÖRTH eine Fachsprache zum Bau beliebiger Fachsprachen, die sich durch Objektund Prozeßnähe auszeichnen, wie dies für die stark verzweigte Mikroprozessor-Gerätetechnik und eingebettete Mikroprozeßrechner typisch ist. Eine Darstellung des FORTH83-Programmentwicklungssystems enthält Bild 2. Literatur /1/ Goppold, A.: Trends in der Entwicklung der Programmiersysteme. Vierte Dimension 1 (1985) 2, S.4 12.1 Laxen, H.; Perry. M.: FORTH-83 Model /3/ Karadjov, L.: Diplomarbeit TH Ilmenau, 1986 14; FÖRTH-SYSTEME für die Industrie. Förth-Systeme. A. Flesch, Titisee-Neustadt
K l KONTAKT
®
VEB WMK „7.Oktober", Direktorat Erzeugnisentwicklung/ Stammbetrieb, Gehringstr. 39, Berlin. 1120, Tel. 3631641
333
TURBO-TIP Anzeige von aktuellem Thomas Koliwer, Jena
Laufwerk
In TURBO-PASCAL-Programmen, d i e auf R e c h n e r n mit M S - D O S - k o m patiblen B e t r i e b s s y s t e m e n (DCP) laufen sollen, ist e s m a n c h m a l w ü n s c h e n s w e r t , d a s aktuelle L a u f w e r k und den aktuellen Pfad anzeigen zu lassen. D i e b e i d e n F u n k t i o n e n im Bild lösen d i e s e s P r o b l e m . Z u r E r l ä u t e r u n g : In d e r F u n k t i o n aktd r i v e w i r d als E r g e b n i s d a s L a u f w e r k als G r o ß b u c h s t a b e z u r ü c k g e b r a c h t . Ist ein K l e i n b u c h s t a b e e r w ü n s c h t , ersetze man „ $ 4 1 " durch „ $ 6 1 " .
function
und Pfad
In d e r F u n k t i o n a k t p f a d w i r d im Register D L d a s L a u f w e r k spezifiziert; „ 0 " steht für d a s aktuelle, „ 1" für A u s w . Nutzer älterer T U R B O - P A S C A L - V e r s i o n e n m ü s s e n d i e S t r i n g s mit Längenangaben versehen, den Datentyp Registers explizit e r k l ä r e n u n d die „ i n c ( j ) " - A n w e i s u n g d u r c h „ j : = j + 1" ersetzen. In T U R B O - P A S C A L 4 . 0 m u ß die Unit „ D O S " e i n g e b u n d e n sein.
aktdrive:char;
(*
bringt
var
reg:
aktuelles
Laufwerk
zurück
*)
$19;
msdos(reg); aktdrive
:=
char(reg.al
+
Plenarvorträge - Industriecomputer - neue Wege in der Automatisierungstechnik - Architektur von Hard- und Software der 32-Bit-Klein- und Mikrorechner des SKR - Der Bildungscomputer robotron A 5105 - ein leistungsfähiger Personalcomputer für das Bildungswesen der DDR - Kleincomputer in der DDR - Stand und Tendenzen Sektion A Expertensystem/Mikrorechnersoftware -
Expertensysteme und Fuzzy Reasoning Effektive Mikrorechner-Softwaretechnologie auf FORTH-Basis Modula-2: Programmiersprache, Werkzeuge und Programmbibliotheken Multitask - Programmierabarbeitung im Betriebssystem CP/M-86 16-Blt-Echtzeit-Multirechnersystem EMR-Entwicklungssystem unter SCPX
Sektion B Rechnerarchitektur/Rechnerhardware
begin :=
'88"
- Aspekte bei Multiprozessorentwicklungen - Arbeitswelse einer Datenflußarchltektur - Entwurfsmethodik von Entwicklungs- und Prozeßrechnersystemen - Ein hochproduktiver Komplex auf Basis eines Prozessors für Matrizen-Rechnungen - Einbau eines Echtzeit-Zählers und eines Operationsspeichers mit abhängiger Stromversorgung in 16-Bit-Personalcomputer - Entwurfssystem für VLSI-Speicher
registers;
reg.ah
Programm für die Fachtagung „Computer• und Mikroprozessortechnik mit internationaler Beteiligung Berlin, 15.-16. Dezember 1988
$41)
end;
Sektion C Mikrorechner-Steuerungssysteme
function
aktpfad:
(*
aktuelles
bringt
const
var
- Modulares Mikroprozeßrechnersystem S 4000 - Projektierung von Mikroprozessor-Moduln für verteilte Steuerungssysteme - Entwicklung von Software für lokale mikroprozessorgesteuerte dynamische Regler - Entwurfsmethodik und Sprachunterstützung für verteilte Steuerungen in der Nachrichtentechnik - Universeller Prozeßkoppelmodul - PC-Spezialprozessor für binäre speicherprogrammierbare Steuerungen - Assembler-Interpreter für U 840 PC auf Personalcomputer - Mikroprozessorsysteme für die Steuerung von technologischen Ausrüstungen - Bewertung der Produktivität von Mehrprozessor-Steuerungseinrichtungen
string; Directory
adl
:
string
=
j
:
byte
0;
=
zurück
*)
'
reg
:
registers;
ad
:
string;
Sektion D Testsysteme/Industriecomputerhardware/Logikanalysatoren begin with
reg
- Einführung wissensbasierter Systeme zur Fehlerlokalisierung - ARGUS - flexibles Testsystem für verteilte Steuerungen - Paralleltest von peripheren Geräten - 16-Blt-Prüfrechner-System - Optimierungsprobleme der Stoßdämpfung der mechanischen Konstruktion von Industriecomputern - Fragen der mechanischen Konstruktion von Industriecomputern - Steuerungskonzept eines modularen Logikanalysesystems - Loglkanalysator LA 100 - Der Heimcomputer als Hilfsmittel bei der Übersetzung.
do
begin ah
: =
dl
:=
$47;
ds
:=
seg(ad);
si
:=
ofs(ad)
0;
end; m s d o s ( r e g ); while
ad[j]
#0
do
Teilnahmemeldungen an:
begin adl
:=
adl
+
ad[j];
Kammer der Technik, Fachverband Elektrotechnik Ciara-Zetkin-Straße 115/117, Berlin, 10S6 Telefon: 2265285, Telex: 0114841 techkammer
inc(j) end ; aktpfad
:=
"
+
adl
end;
2. F a c h t a g u n g „ C o m p u t e r a n i m a t i o n "
TERMINE
J a h r e s t a g u n g der W G M A „Automatisierungstechnik" W E R ? W i s s e n s c h a f t i i c h - T e c h r t i s c h e G e s e l l s c h a f t für Meß- und A u t o m a t i s i e rungstechnik der KOT W A N N ? 15./16. D e z e m b e r 1988 W O ? Magdeburg WAS? • Organisationsprojektierung • B ü r o a u t o m a t i s i e r u n g s o w i e a u t o m a t i s i e r t e S y s t e m e der Leitung • S o f t w a r e t e c h n o l o g i e -Sicherheit u n d -Zuverlässigkeit WIE? T e i l n a h m e w ü n s c h e bitte a n K a m m e r der T e c h n i k . Präsidium. W G M A C l a r a - Z e t k i n - S t r a ß e 1 1 5 - 1 1 ? , Bertin, 1086
M&toi
334
W E R ? T e c h n i s c h e Universität M a g d e b u r g , K a m m e r der T e c h n i k . Institut für Film. Bild u n d T o n sowie- G e s e l l s c h a f t für d e n p o p u l ä r w i s s e n s c h a f t l i c h e n Film W A N N ? 9. u n d 10. Februar 1989 WAS? • C o m p u t e r a n i m a t i o n für A u s b i l d u n g u n d Training • C o m p u t e r a n i m a t i o n und S i m u l a t i o n • A n i m a t i o n s t e c h n i k zur W e r b u n g für P r o d u k t e u n d V e r f a h r e n • B a s i s s o f t w a r e für A n r a t e n u n d S i m u l a t i o n WIE? V o r t r a g s m e l d u n g e n (eine h a l b e S e i t e I n h a l t s a n g a b e s o w i e A n g a b e der b e n ö t i g t e n C o m p u t e r t e c h n i k ) k ö n n e n bis z u m 3 0 1 1 . 1 9 8 8 g e s a n d t w e r d e n an. T e c h n i s c h e Universität .Otto v o n G u e r i c k e ' . S e k t i o n I n f o r m a t i o n s t e c h n i k . W S ..Methoden der Informatik", PSF 124. M a g d e b u r g . 3 0 1 0 T e i l n a h m e w ü n s c h e sind b i s 1 5 . 1 2 . 1 9 8 8 zu richten an: T a g u n g s b ü r o der KOT, B r ü d e r s t r a ß e 3. Stendal, 3 5 0 0 . Prot. Dr. Latenz
Mikroprozessortechnik, Berlin 2 (1988) 11
PASCAL
(Teil 6)
Dr. Claus Kofer Informatikzentrum des Hochschulwesens an der Technischen Universität Dresden In dem Maschinenkodeprogramm sind Parameterübergabe- und Aufrufmechanismus des TURBO-PASCAL-Systems nachzubilden. Die Parameterübergabe geschieht über den Stack. Die Parameter werden, beim ersten beginnend, durch PUSH im Stack abgelegt. Der Aufruf erfolgt durch CALL. Vor Verlassen des aufgerufenen Unterprogramms müssen alle Parameter vom Stack entfernt werden. Dabei darf natürlich die zuoberst stehende Rücksprungadresse nicht verlorengehen. Referenzparameter nehmen im Stack zwei Byte ein. Sie sind die Adresse der entsprechenden Variablen. Records und Arrays werden ebenfalls stets wie Referenzparameter übermittelt. Werteparameter benötigen Platz entsprechend ihres Datentyps.
bereich. Die Überlagerungsprozeduren P2 und P3 nehmen denselben Speicherbereich ein. Entgegen den Gültigkeitsregeln für Bezeichner kann P2 jedoch nicht durch P3 aufgerufen werden.
Kodebereicfi
P2 P1 P3
I
b) Kodebereich
P5 P7
*
11.9. Überlagerungsstrukturen Das TURBO-PASCAL-System bietet die Möglichkeit, einzelne Prozeduren des PASCAL-Programms in einer Überlagerungsstruktur anzuordnen. Eine solche Prozedur wird durch Voranstellen des reservierten Bezeichnen OVERLAY gekennzeichnet. Prozeduren, die sich überlagern sollen, müssen im Deklarationsteil aufeinanderfolgen. Im Kodebereich des PASCAL-Programms wird für sie nur soviel Speicher vorgesehen, wie für die Aufnahme der größten von ihnen erforderlich ist. Nachfolgend ein Beispiel: PROGRAM Ovl; PROCEDURE P1;
11.10. Modi der Objektkodeerzeugung des Compilers
Hauptpr&fwim
Pt
Pt
P3
Bild 11.6 Anordnung von duren im Kodebereich
P6
S ,\V
P7
Überlagerungsproze-
Auch die Bildung mehrerer Gruppen von Überlagerungsprozeduren ist möglich. Zur Demonstration wird das obige Programm erweitert:
PROCEDURE P4;
END; END; OVERLAY PROCEDURE P2;
OVERLAY PROCEDURE P5;
END; OVERLAY PROCEDURE P3;
END;
END; PROCEDURE P4;
END;
END;
END;
BEGIN
BEGIN
END.
END.
Das Bild 11,6a zeigt die Anordnung der Prozeduren und des Hauptprogramms im Kode-
Mikroprozessortechnik, Berlin 2 (1988) 11
Die einzelnen Gruppen von Überlagerungsprozeduren werden als separate Files auf der Diskette abgelegt. Sie bekommen den Namen des entsprechenden COM-Files, aber die Erweiterungen .000, .001 usw. Das Laden der aufgerufenen Überlagerungsprozeduren organisiert das PASCAL-System. Dabei wird vor dem Diskettenzugriff überprüft, ob sich die gerufene Prozedur bereits im Speicher befindet.
OVERLAY PROCEDURE P6;
OVERLAY PROCEDURE P7;
Das Aussehen des Kodebereiches zeigt Bild 11.6b.
Beim TURBO-PASCAL-Compiler können drei verschiedene Modi der Objektkodeerzeugung eingestellt werden: - Hauptspeichermodus - COM-Filemodus - Kettenfilemodus. Im Hauptspeichermodus wird der Objektkode im Hauptspeicher abgelegt. Dieser Modus ist für die Programmentwicklung vorgesehen. Für Produktionsanwendungen ist er nicht geeignet, da zur Abarbeitung des PASCAL-Programms das gesamte TURBOPASCAL-System erforderlich ist. Im COM-Filemodus werden COM-Files des Betriebssystems erzeugt. Sie bestehen aus PASCAL-Laufzeitsystem, Programmkode und Programmvariablen. Das COM-File hält die Konventionen des Betriebssystems ein und unterscheidet sich nicht von anderen abarbeitbaren Programmen. Im Kettenfilemodus werden sogenannte Kettenfiles erzeugt. Sie sind zur unmittelbar aufeinanderfolgenden Ausführung von PASCAL-Programmen vorgesehen. Kettenfiles sind den COM-Files sehr ähnlich. Bei ihnen fehlt lediglich das PASCAL-Laufzeitsystem. Die Abarbeitung eines Kettenfiles kann deshalb nur durch ein anderes PASCAL-Programm eingeleitet werden. Dafür gibt es die Standardprozedur CHAIN(f). f muß eine Filevariable sein, der vorher mit ASSIGN das zu startende Kettenfile zugewiesen wurde. Das Kettenfile verdrängt den Kode des rufenden Programms. Mit Hilfe von absoluten Variablen kann es mit Daten versorgtwerden. In gewissem Grade kann der Programmierer darauf Einfluß nehmen, wie sein PASCALProgramm im Hauptspeicher plaziert wird. Das Bild 11.7 zeigt für die besonders wichtigen COM-Files die hier interessierenden Details. Das gesamte Programm beginnt stets am Anfang des TPA bei der Adresse 100H mit dem etwa 8 KByte großen Laufzeitsystem. An das Laufzeitsystem schließt sich der Kode der Prozeduren und Funktionen sowie des Hauptprogramms an. Standardmäßig beginnt der Kode auf dem ersten freien Byte hinter dem Laufzeitsystem. Es ist aber möglich, die Startadresse zu erhöhen, um
335
TOC H PASCALLoufteifsystem
1
Programmkode
Variable
Sfa rtadresse
Ehdadrt "SSS
Stand irdwei "f für SA vtoct reste
Bild 11.7 Wirkung auf die Plazierung Hauptspeicher
denten Teil im Speicher überschrieben. Nach Beendigung der Abarbeitung des COM-Files regeneriert der residente Teil den alten Zustand des TURBO-PASCAL-Systems wieder. O Compilermodus einstellen. In diesem Zustand ist die Eingabe weiterer Kommandos möglich: M,C,H Einstellung des Hauptspeicher-, COM-File- oder Kettenfilemodus Sn Setzen der Startadresse auf n En Setzen der Endadresse auf n Fn Suchen der Quelltextpassage, zu der die Kodeposition n gehört, und Wechsel in den Editorzustand Q Rückkehr in den Grundzustand. Das Kommando F n dient dazu, Laufzeitfehler in COM-Files zu lokalisieren.
Betriebssystem
Stand irdwert für En dadresse
von Start- und Endadresse von PASCAL-Programmen im
hier Platz freizulassen für absolute Variablen. Endadresse stellt die höchste für das PASCAL-Programm zu verwendende Adresse dar. Standardmäßig Ist sie etwa 700 Byte kleiner als die obere Grenze des TPA. Die Endadresse kann verringert werden, um z. B. Programme zu erzeugen, die auf einem Rechner mit kleinerem TPA laufen können, oder um Platz für Maschinenkodeunterprogramme freizuhalten.
11.13. Separate Übersetzung
11.11. Quellprogrammuntergliederung TURBO-PASCAL gestattet mit Hilfe der INCLUDE-Option des Compilers die Untergliederung eines PASCAL-Ouellprogramms in mehrere getrennte Files. Durch sie wird sofort die Quelltexteingabe des Compilers auf das angegebene File umgelegt und dieses bis zum Ende gelesen. Das Bild 11.8 zeigt ein Beispiel. Pmz1.
PROGRAM
X ;
•
^
^
PAS
P r a z 2 . PAS PROCEDURE
P2i
( • « I P r o z i . PAS*) ( * B l P r o z 2 . PAS*) END; (»»1
P r a z n . PAS*)
END.
Prozn.
PAS
PROCEDURE
Pn;
END;
Bild 11.8 Untergliederung eines gramms in mehrere Quelltextfiles
PASCAL-Pro-
TURBO-PASCAL unterscheidet zwischen Haupt- und Arbeitsfile. Der Compiler beginnt die Übersetzung stets mit dem Hauptfile. Das System hält das Arbeitsfile in einem internen Quelltextbereich, in dem es mit dem Editor korrigiert werden kann. Haupt- und Arbeitsfile werden zu Beginn der Arbeit vom Nutzer festgelegt. Während das Hauptfile nur durch den Nutzer verändert werden kann, wählt das TURBO-PASCALSystem das File zum neuen Arbeitsfile, bei dem während der Übersetzung ein Fehler auftrat. 11.12. Bedienung des TURBO-PASCAL-Systems Die Bedienung des TURBO-PASCAL-Systems erfolgt mit Hilfe von einfachen prägnanten Menüs. Kommandoeingaben bestehen aus einem einzigen Buchstaben bzw. aus Filebezeichnungen und Adressen. Die erlaubten Kommandos werden am Zustandsdiagramm des TURBO-PASCAL-Systems erläutert. Es wird im Bild 11.9 gezeigt. Nach dem Start geht das System in einen Anfangszustand. Hier kann über das Laden der Fehlertexte des Compilers entschieden wer-
336
Editorkommando
Bild11.9 Zustandsdiagramm und Bedienerkommandos des TURBO-PASCAL-Systems
den. Sie beanspruchen einen Platz von etwa 1600 Byte. Im Grundzustand können zunächst folgende Organisationskommandos eingegeben werden: L Wahl des aktuellen Laufwerkes (A:, B:,...) D Anzeige Inhaltsverzeichnisinformationen M Angabe des Hauptfiles. Es wird zur Eingabe eines Filenamens aufgefordert. W Angabe des Arbeitsfiles. Es wird zur Eingabe eines Filenamens aufgefordert. S Abspeichern des Arbeitsfiles auf Diskette. Durch folgende Kommandos erfolgt der Übergang in die anderen Zustände: E Edieren. Im Editorzustand ist die Eingabe von Korrekturkommandos möglich. Es wird die im Anhang 1 angezeigte Teilmenge der TP-Kommandos angeboten. Der Zustand wird durch "KD verlassen. C Compilieren. Es wird das Hauptfile übersetzt. Falls keines angegeben wurde, nimmt der Compiler das Arbeitsfile. Bei Auftreten eines Fehlers wird sofort in den Editorzustand gewechselt und der Cursor auf die Fehlerstelle positioniert. R Starten des übersetzten PASCALProgramms. Falls noch keines übersetzt wurde, wird eine Compilierung eingeschoben. Tritt bei der Programmabarbeitung ein Fehler auf, wird eine entsprechende Meldung ausgegeben, nach Betätigung der ESC-Taste in den Editorzustand gewechselt und der Cursor auf die Fehlerstelle positioniert. X Ausführung eines beliebigen COMFiles. Das TURBO-PASCAL-System wird bis auf einen kleinen resi-
Ab Version 4.0 bietet TURBO-PASCAL die Möglichkeit der separaten Übersetzung von einzelnen Teilen eines PASCAL-Programms unter voller Beibehaltung der Kontrollen des Compilers. Damit wird die Bildung von Programmbibliotheken für oft benutzte Prozeduren und Funktionen ermöglicht sowie die kollektive Erarbeitung von großen Softwareprojekten unterstützt. Die für die separate Übersetzung erforderlichen Ausdrucksmittel fügen sich organisch in die Sprache ein. Bereits existierende PASCAL-Programme sind ohne Änderungen auch in Version 4.0 lauffähig. Die Syntaxdiagramme der Bilder 11.10 bis 11.15 zeigen die erforderlichen Spracherweiterungen. Es wird entsprechend Bild 11.10 zunächst eine Übersetzungseinheit eingeführt. Sie ist alternativ das schon bekannte Programm oder eine Unit. Den Aufbau einer Unit zeigt das Syntaxdiagramm Bild 11.11. Auf den reservierten Bezeichner UNIT folgen Unit-Name sowie Interface* und Implementationsteil. Den Aufbau des Interfaceteiles zeigt Bild 11.12. Er wird durch den reservierten Bezeichner INTERFACE eingeleitet und besteht aus einer möglicherweise auch leeren - Folge von Deklarationen von Marken, Konstanten, Typen, Variablen sowie Prozedur- und Funktionsköpfen. Alle im Interfaceteil deklarierten Objekte haben globale Bedeutung. Sie können in einem Programm oder in anderen Units benutzt werden. Den Aufbau des Implementationsteils zeigt Bild 11.13. Er wird durch den reservierten Bezeichner IMPLEMENTATION eingeleitet. Darauf folgt ein Block, der entsprechend Bild 5.1 aus Deklarations- und Anweisungsteil besteht. Seine Deklarationen sind jedoch aufgrund der Gültigkeitsregeln von PASCAL nur innerhalb des Implementationsteils gültig. Enthält der Interfaceteil Prozedur- und Funktionsköpfe, dann muß im Implementationsteil die vollständige Deklaration dieser Prozeduren und Funktionen folgen. Die Unit Counter demonstriert dies: UNIT Counter; INTERFACE PROCEDURE lncCount(amount: INTEGER);
Mikroprozessortechnik, Berlin 2 (1988) 11
-UNI I—^-bczDichrpr-
^interfacetei1 Bild
11.10
Syntaxdiagramm
„übersetzungsein-
Bild
11.11
Syntaxdiagramm
mimplementationstei1—
„unit"
Bild
11.13
Syntaxdiagramm
..implementationsteil"
heit" -IMPLEMENTATION •
I— markendek laration -konstantendeklaration -
UseStack Filet USESTACK.PAS
-typendeklaration hvariablendeklaration4 prozedurkopf - f unk tionskopf
PROCEDURE IncCount
|-
PROCEDURE BetCount
j *chr = "'i Dt-9 5EP3 ÜJ03-
j r£t; ¡5 nrn ; yEITPR
^ = = 3 •>)•}-
;REl
UP RBEF:?iNEN 9EPEHL REASSESSL'EREN B2U wear) REBS5 PJ' SM IV ;UP »E»SSE"SL PO» H_' > LO A > < ARG5> CP "d 1 ' , " C " ) yCfi ElNGFBE IN DIE LE"2~E ZEILE «IT S-.;=VC>jRS0R D3-H ufflLAET'-ER'. o-I -E^LE'iaE" ^RG ERFOLG" RUeCKS^RUNG ¡STEUERZEICHEN ZiJc^-Süi;«2^ vi9 ;K " EINE 21 J 2E1 J 8U sRNäTBir ;=a:i3=Pi,!r:j': S 01: 5 r.?E? ;PSCI "-2EICHEN ;«L,CR
EDASTAST