Wie ist z.B. eine solche ISA KArte aufgebaut? Es sind 3 große ICs verbaut, vermutlich LPT 1, LPT2 und COM 1 und 2 bzw 1-4 Dann wird ein Bustreiber benötigt oder werden dann je großem IC, ein Bustreiner benötigt, also 3x 4Bit Busreiber? Oder handelt es sich um 8x 4Bit Busstreiber? Wozu dienen die kleinen Ics?
Im Datenblatt ist das komplette Schaltbild deiner Karte enthalten: https://pdf1.alldatasheet.com/datasheet-pdf/download/156146/WINBOND/W86C451.html
IBM hat mehrere Hardware Reference Manuals veröffentlicht, in denen auch die Schaltpläne solcher Karten (natürlich nur der IBM-Originale, nicht die abgebildete) enthalten sind. https://www.minuszerodegrees.net/manuals/IBM_5150_Technical_Reference_6025005_AUG81.pdf Das "Original", dem diese Karte zugrundeliegt, ist ab S. 2-123/142 beschrieben, Schaltplan ab S. D-48/355 Die abgebildete Karte enthält keine Bustreiber, sondern nur Pegelwandler für die serielle Schnittstelle, in Form von MC1488/1489 (bzw. der pinkompatiblen SN75188/75189). MC1489/SN75189 ist der Wandler von RS232-Pegel auf 5V-Pegel, MC1488/SN75188 ist hingegen der Wandler von 5V-Pegel auf den RS232-Pegel von +/- 12V. Anders als die später verbreiteten MAX232 erzeugt dieser Baustein die benötigte Spannung nicht selbst, sondern benötigt eine externe symmetrische Versorgungsspannung von +/- 12V. Die liegt auf dem ISA-Bus an und wird vom PC-Netzteil erzeugt. Die acht Signalleitungen der seriellen Schnittstelle verteilen sich aber nicht gleichmäßig auf Ein- und Ausgänge, so daß für einen COM-Port nicht ein Paar 1488/1489 (mit jeweils vier Treibern bzw. Empfängern) genügt, sondern zwei 1489 erforderlich werden. Auf der abgebildeten Karte sind nicht nur zwei serielle und eine Druckerschnittstelle verbaut, sondern auch ein "Gameport", für den ist die 15polige Buchse am Slotblech der Karte selbst vorhanden. Die beiden seriellen Schnittstellen sind am zusätzlichen Slotblech angeschlossen, eine davon mit dem mittlerweile seltenen standardkonformen DB-25-Stecker, die andere mit dem heute üblichen DE-9-Stecker.
Max M. schrieb: > Oder handelt es sich um 8x 4Bit Busstreiber? > Wozu dienen die kleinen Ics? Was für Bustreiber? Die großen ICs sind Portbausteine, die mit 8 Bit Datenbus an den ISA-Bus gehen. Die kleinen ICs sind RS232-Pegelwandler oder dienen zur Adressdekodierung. Einfachste Mikrocomputertechnik.
:
Bearbeitet durch User
Waren das noch Zeiten, wo man die IRQs manuell per Jumper zuweisen mußte.
Peter D. schrieb: > Waren das noch Zeiten, wo man die IRQs manuell per Jumper zuweisen > mußte. Nicht zu vergessen, diese noch im Treiber richtig einzustellen...
Peter D. schrieb: > Waren das noch Zeiten, wo man die IRQs manuell per Jumper zuweisen > mußte. Vor allem, wo so wenige davon verfügbar waren, und obendrein Interruptsharing hardwaretechnisch unmöglich war. Früher war vielleicht einiges gut, aber auch vieles richtig beschissen.
Harald K. schrieb: > Vor allem, wo so wenige davon verfügbar waren Das war der Grund, warum ich damals von Win98SE auf XP ungestiegen bin. 98SE kam mit den ganzen Interrupts des neuen PCs nicht mehr klar.
Max M. schrieb: > vermutlich LPT 1, LPT2 und COM 1 Eher zweimal seriell und einmal parallel. "Richtige" RS232 hatten 25polige Steckverbinder. 9polige wurden mit der IBM PS/2 eingeführt, aber gerade Modems hatten (zumindest die größeren) alle 25polig.
Auch bei den LPTs improvisierte man. Aus den dicken 36-poligen Centronics wurden DB-25. Da mussten aber nur Masseanschlüsse dran glauben.
Peter N. schrieb: > Das war der Grund, warum ich damals von Win98SE auf XP ungestiegen bin. Das Betriebssystem hatte mit den Einschränkungen des ISA-Hardwaredesigns nun wirklich überhaupt nichts zu tun.
(prx) A. K. schrieb: > Auch bei den LPTs improvisierte man. Ich kann mich beim besten Willen nicht daran erinnern, jemals ein Gerät gesehen zu haben (abgesehen von sehr kleinen Druckservern), das jemals einen Delta-Ribbon-Stecker als Ausgang für den Anschluss von Druckern verwendete. Die Druckserver taten das auch nur, damit man sie direkt, ohne Kabel auf einen Drucker stecken konnte. Delta-Ribbon-Steckverbinder gab es im PC-Bereich afaik für genau zwei Anwendungen: 50polig als SCSI-Anschluss bei 8-Bit-SCSI-Controllern wie dem berühmten 1542 von Adaptec, oder 24polig für GPIB/IEE488-Controller (die noch deutlich seltener waren als SCSI-Controller und eigentlich nur in Laborumgebungen auftraten).
Mein Schneider CPC 6128 hatte so eine Buchse und der Drucker das passende Gegenstück
Max M. schrieb: > Mein Schneider CPC 6128 hatte so eine Buchse Das ist dann die sehr seltene Ausnahme. Du wirst große Freude gehabt haben, ein Druckerkabel dafür zu finden, denn 1985 waren bereits die üblichen PC-Druckerkabel (für DB-25) weit verbreitet. Und vor dem IBM PC war sowieso alles mehr oder weniger individuell selbstgestrickt. Am Apple II hatte die Druckerschnittstellenkarte nur einen zweireihigen Pfostenfeldverbinder mit 20 Pins, der mit einem Flachbandkabel adaptiert wurde, der C64 hatte seinen "User Port" ...
(prx) A. K. schrieb: > Auch bei den LPTs improvisierte man. Aus den dicken 36-poligen > Centronics wurden DB-25. Centronics wurde 1994 von IEEE 1284 abgelöst. Im Wikipedia-Artikel https://de.wikipedia.org/wiki/IEEE_1284 findet man die möglichen Kabel und Stecker - auch in Kombination, wie z.B. Centronics (36-polig) an dem einen Kabelende und DB-25 am anderen. Exotisches wie "Mini Centronics" ist auch noch dabei :-)
Frank M. schrieb: > Exotisches wie "Mini Centronics" ist auch noch dabei Hatte mein HP LaserJet 6P. Der hatte auch eine IrDA-Schnittstelle, um die Exotensammlung zu komplettieren. Ich hatte auch mal ein Notebook, das eine IrDA-Schnittstelle hatte. Und ja, wenn man das Notebook an die richtige Stelle vor den Drucker hielt, dann konnte man damit "wireless printing" veranstalten. Und das vor über zwei Jahrzehnten.
Harald K. schrieb: > Vor allem, wo so wenige davon verfügbar waren, und obendrein > Interruptsharing hardwaretechnisch unmöglich war. Wenn ich mich richtig erinnere, war Interruptsharing spätestens ab AT sogar förmlich zwingend erforderlich, weil es zwei kaskadierte Interruptcontroller gab. Oder verwechsele ich das jetzt mit dem Amiga? Hab' kein Lust, nachzusehen. Mein Gott, alles so verdammt lang her...
Ob S. schrieb: > Interruptcontroller gab. Oder verwechsele ich das jetzt mit dem Amiga? Amiga (68000er System) hatte eine vernünftige Interruptbehandlung. Alle Interrupts gingen auf die CPU, und diese mußte dann nachsehen, welche Peripherie den ausgelöst hatte. Keinerlei Beschränkung in der Anzahl der Interruptquellen.
Peter N. schrieb: > Amiga (68000er System) hatte eine vernünftige Interruptbehandlung. > Alle Interrupts gingen auf die CPU, und diese mußte dann nachsehen, > welche Peripherie den ausgelöst hatte. Weiß ich echt nicht mehr, obwohl ich viele Jahre für Amiga programmiert habe. Auf jeden Fall ist es sicherlich nicht sehr effizient, wenn die CPU nur einen einzigen Interrupteingang hat und Handler immer erst selber nachschauen müssen, wo einer herkam und erst dann entsprechend verzweigen können.
Ob S. schrieb: > Wenn ich mich richtig erinnere, war Interruptsharing spätestens ab AT > sogar förmlich zwingend erforderlich, weil es zwei kaskadierte > Interruptcontroller gab. Es gab zwar beim AT zwei kaskadierte Interruptcontroller (8259), aber Interruptsharing war dennoch nicht möglich, da die Signale auf dem ISA-Bus mit Totem-Pole-Treibern erzeugt wurden (und obendrein active-high-Pegel hatten). Diesen Designfehler beim IBM PC haben sie hartnäckig durchgezogen. Im Anhang der relevante Ausschnitt der seriellen Schnittstellenkarte des IBM PC, Seite D-48 bzw. 355 aus https://www.minuszerodegrees.net/manuals/IBM_5150_Technical_Reference_6025005_AUG81.pdf
Ob S. schrieb: > Peter N. schrieb: > >> Amiga (68000er System) hatte eine vernünftige Interruptbehandlung. >> Alle Interrupts gingen auf die CPU, und diese mußte dann nachsehen, >> welche Peripherie den ausgelöst hatte. > > Weiß ich echt nicht mehr, obwohl ich viele Jahre für Amiga programmiert > habe. > > Auf jeden Fall ist es sicherlich nicht sehr effizient, wenn die CPU nur > einen einzigen Interrupteingang hat und Handler immer erst selber > nachschauen müssen, wo einer herkam und erst dann entsprechend > verzweigen können. Die 68000 hatte im Vollausbau priorisierte Interrupt Vektoren, die von der Quelle geliefert wurden. Nachsehen unnötig. Etwas vereinfacht waren die Autovektoren, immer noch 7 Vektoren für die 7 Prioritäten.
Harald K. schrieb: > Es gab zwar beim AT zwei kaskadierte Interruptcontroller (8259), aber > Interruptsharing war dennoch nicht möglich, da die Signale auf dem > ISA-Bus mit Totem-Pole-Treibern erzeugt wurden (und obendrein > active-high-Pegel hatten). Ah, reine Frage der Betrachtungsweise, also, was genau man unter dem Begriff "Interruptsharing" versteht. Ich verstehe das aus (überwiegend) Softwerkler-Sicht natürlich so, das Interruptsharing immer dann vorliegt, wenn ich mich in einem Handler um mehrere mögliche Quellen kümmern muss. Du stelltest aber (wohl mehr aus Hardwerkler-Sicht) darauf ab, ob es für Devices möglich ist, sich ein physisches Interruptsignal zu teilen. Und du vergaßt darüber hinaus, das sie das tätsachlich tun, wenn kaskadierte Interruptcontroller involviert sind. Sie sharen dann zwar nicht das Signal, mit dem sie selber arbeiten, aber spätestens das Signal, was der Interruptcontroller der untersten Ebene als Ausgangssignal produziert.
Ob S. schrieb: > Sie sharen dann zwar > nicht das Signal, mit dem sie selber arbeiten, aber spätestens das > Signal, was der Interruptcontroller der untersten Ebene als > Ausgangssignal produziert. So korrekt diese Aussage auch ist, so sinnlos ist sie, wenn man die Verfügbarkeit nutzbarer Interruptleitungen am ISA-Bus betrachtet. Für ISA-Steckkarten ist nur "das Signal, mit dem sie selbst arbeiten" interessant.
Harald K. schrieb: > Für ISA-Steckkarten ist nur "das Signal, mit dem sie selbst arbeiten" > interessant. Nein, natürlich nicht. Es ist auch immer von Bedeutung, was da weiter mit passiert, bis hin zur Ebene der Interrupthandler der Software. Ohne die zugehörige Software ist die Hardware nämlich praktisch immer absolut nutzlos. Sonderfälle wie Watchdogs, die direkt RESET der CPU/MCU bedienen oder ähnliches mal außen vor. Also so ziemlich alles außer Not-AUS-Funktionalität braucht Software (und den entsprechenden Blickwinkel).
:
Bearbeitet durch User
Ob S. schrieb: > Es ist auch immer von Bedeutung, was da weiter > mit passiert, bis hin zur Ebene der Interrupthandler der Software. Ohne > die zugehörige Software ist die Hardware nämlich praktisch immer absolut > nutzlos. Was Du nicht sagst. Da wäre ich ja nie draufgekommen. Nur ist auch diese Betrachtung komplett sinnlos, wenn man eine Karte verwenden möchte, die einen Interrupt auslösen soll, aber keine freie Interruptleitung mehr verfügbar ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.