3. IO-Bausteine / Systembus - Reimann Online

reimann.online.ch

3. IO-Bausteine / Systembus - Reimann Online

3. IO-Bausteine / SystembusFachMikroprozessorAutorUrs ReimannDozentUrs ReimannVersion 1.2 Elektrotechniker HFHöhere technischeFachschule HFEin anderer Design-Parameter ist die Taktfrequenz des Busses. Die Erhöhung der Taktfrequenz wirdnatürlich angestrebt, um damit die Datentransferrate zu erhöhen. Dieser Erhöhung sind aber verschiedeneGrenzen gesetzt. Zum einen führt eine sehr hohe Taktfrequenz zu verstärkter Hochfrequenzabstrahlung. Zumanderen wirken die Widerstände und die parasitären Kapazitäten der Busleitungen als Tiefpass undbegrenzen die Änderungsgeschwindigkeit der Signale.Aus steilen Anstiegsflanken werden bei immer höheren Frequenzen allmählich sanft ansteigende Kurven unddie Schaltpegel werden zu spät erreicht. Schliesslich breiten sich die Signale auf unterschiedlichen Leitungenmit unterschiedlicher Geschwindigkeit aus, der sog. Bus-Skew („Busschräglauf").Bei zunehmenden Taktfrequenzen werden die Laufzeitdifferenzen relativ zum Takt immer grösser, so dasshier Probleme entstehen.Eine weitere Designentscheidung ist, ob Adressen und Daten gemultiplext werden sollen. Indiesem Fall werden die gleichen Leitungen zu bestimmten Zeiten für Adressen und zu anderen Zeiten fürDaten benutzt. Dadurch verringert sich die Anzahl der Leitungen, es werden aber Zusatzbausteine für dieZwischenspeicherung der Adressen gebraucht. Gemultiplexte Adress/ Datenleitungen hat z.B. der PCI-Bus.Busvergabe bei mehreren BusmasternDie Bausteine am Bus arbeiten oft wechselweise als Sender oder Empfänger. Ein Speicherbaustein z.B. kannDaten empfangen oder Daten ausgeben. Bei dieser Ausgabe steuert er die Datenleitungen und evtl. aucheinige Steuerleitungen an. Der Speicherbaustein steuert aber weder die Art noch den Zeitpunkt desBustransfers, sondern reagiert nur auf vorherige Anforderung.Man bezeichnet solche Bausteine daher auch als Slave- Bausteine. Der Prozessor dagegen leitet denBustransfer ein. Er bestimmt, wann welche Bustransfers stattfinden und steuert ihren Ablauf. Ein solcherBaustein ist ein Busmaster. Ist an einem Bus nur ein einziger Busmaster aktiv, so ist die Lage noch sehrübersichtlich. Der Busmaster bestimmt jederzeit die Aktionen des Systems und wenn vom Busmaster keineAktivität ausgeht, finden keine Bustransfers statt.In einem modernen System arbeiten aber weitere autonome Bausteine, die unter bestimmten UmständenBuszyklen einleiten müssen. Beispiele dafür sind der DMA- Controller und der mathematische Coprozessor.Ausserdem gibt es auch Rechnersysteme mit mehreren Prozessoren am gleichen Bus. Es muss also möglichsein, mit mehreren Busmastern zu arbeiten.Das Hauptproblem ist dabei die Vorrangregelung bei gleichzeitiger Busanforderung mehrerer Busmaster.Man braucht eine Konstruktion, die sicherstellt, dass die laufenden Transfers ordnungsgemäss beendetwerden können und dafür sorgt, dass das Zugriffsrecht kontrolliert zwischen den Busmastern abgegeben wird,die Busarbitration (engl. arbiter = Schiedsrichter).Die Busarbitration sollte nach Dringlichkeit erfolgen, sie darf aber auch die weniger dringlichen Anforderungennicht zu lange aufschieben.Wenn ausser dem Prozessor nur ein weiterer Baustein am Bus aktiv ist, genügt ein einfacher Anforderungs-Gewährungs-Mechanismus, der als Busarbiter in die CPU integriert ist. Dabei wird die zeitweilige Busabgabean den externen zweiten Busmaster über zwei Handshake- Leitungen, Bus-Anforderung und Bus-Gewährung,abgewickelt.Seite 17 von 25

Weitere Magazine dieses Users
Ähnliche Magazine