cvs commit: de-docproj/books/developers-handbook/dma chapter.sgml

From: Aron Schlesinger <as(at)doc.bsdgroup.de>
Date: Mon, 20 Aug 2007 23:41:46 GMT

as 2007-08-20 23:41:46 UTC

  FreeBSD ports repository

  Modified files:
    books/developers-handbook/dma chapter.sgml
  Log:
  Korrekturen am Kapitel 9.
  
  Gesendet von: ds@
  
  Revision Changes Path
  1.5 +24 -24 de-docproj/books/developers-handbook/dma/chapter.sgml
  
  Index: chapter.sgml
  ===================================================================
  RCS file: /home/cvs/de-docproj/books/developers-handbook/dma/chapter.sgml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -I$FreeBSDde.*$ -r1.4 -r1.5
  --- chapter.sgml 8 Aug 2007 18:35:48 -0000 1.4
  +++ chapter.sgml 20 Aug 2007 23:41:46 -0000 1.5
  @@ -13,11 +13,11 @@
       <title>DMA: Was es ist und wie es arbeitet</title>
       
       <para><emphasis>Copyright &copy; 1995,1997 &a.uhclem;, Alle Rechte
  - vorbehalten.10. Dezember 1996. Letztes Update Oktober
  + vorbehalten. 10. Dezember 1996. Letztes Update Oktober
         1997.</emphasis></para>
   
       <para>Direct Memory Access (DMA) ist eine Methode, die es
  - erlaubt, Daten von einer Stelle in einem Rechnern an eine andere
  + erlaubt, Daten von einer Stelle in einem Rechner an eine andere
         zu transferieren ohne Eingreifen des Prozessors (CPU).</para>
   
       <para>Die Art und Weise, in der die DMA-Funktion implementiert
  @@ -29,7 +29,7 @@
       <para>Das DMA-Subsystem basiert auf dem &intel; 8237
         DMA-Controller. Der 8237 enth&auml;lt vier DMA-Kan&auml;le,
         welche unabh&auml;ngig voneinander programmiert werden
  - k&ouml;nnen und jeder dieser Kan&auml;le kann zu einem
  + k&ouml;nnen, und jeder dieser Kan&auml;le kann zu einem
         beliebigen Zeitpunkt aktiv sein. Diese Kan&auml;le sind mit 0,
         1, 2 und 3 nummeriert. Beginnend mit dem PC/AT f&uuml;gte IBM
         einen zweiten 8237-Chip hinzu und nummerierte dessen Kan&auml;le
  @@ -88,7 +88,7 @@
           einf&uuml;gt, um den DMA-Controller zu alarmieren.</para>
             
         <para>Der DMA-Controller nimmt wahr, da&szlig; das DRQ2-Signal
  - eingef&uuml;gt ist. Der DMA-Controller stellt sicher,
  + eingef&uuml;gt ist. Der DMA-Controller stellt sicher,
           da&szlig; der DMA-Kanal 2 programmiert und unmaskiert
           (freigegeben) ist. Der DMA-Controller stellt gleichzeitig
           sicher, da&szlig; keiner der anderen DMA-Kan&auml;le aktiv ist
  @@ -101,7 +101,7 @@
             
         <para>Die CPU erkennt das HRQ-Signal und f&uuml;hrt die
           momentane Instruktion komplett aus. Sobald die CPU den Bus
  - freigeben kann, wird er dies tun. Nun sind alle normalerweise
  + freigeben kann, wird er dies tun. Nun sind alle normalerweise
           von der CPU erzeugten Signale (-MEMR, -MEMW, -IOR, -IOW und
           ein paar andere) in einer Situation mit drei Zust&auml;nden
           (entweder hoch oder niedrig) und die CPU teilt dem
  @@ -153,13 +153,13 @@
           Adress-Signale mit drei Zust&auml;nden.</para>
             
         <para>Abschliessend setzt der DMA-Controller wieder das
  - HRQ-Signal. Die CPU registriert dies und setzt wieder das
  + HRQ-Signal. Die CPU registriert dies und setzt wieder das
           HOLDA-Signal. Die CPU aktiviert nun ihre -MEMR, -MEMW, -IOR,
           -IOW und Adress-Linien und f&auml;hrt mit der Abarbeitung von
           Instruktionen und dem Zugriff auf Hauptspeicher und Peripherie
           fort.</para>
             
  - <para>F&uuml;r eine typischen Sektor einer Diskette wird der
  + <para>F&uuml;r einen typischen Sektor einer Diskette wird der
           obige Prozess 512 Mal wiederholt, jeweils pro Byte. Nach dem
           Transfer eines Byte wird jeweils der Z&auml;hler im
           DMA-Controller vermindert, welcher anzeigt, wieviel Bytes noch
  @@ -169,7 +169,7 @@
           DMA-Controller das EOP-Signal ein, welches anzeigt, da&szlig;
           der Z&auml;hler Null erreicht hat und keine weiteren Daten zu
           &uuml;bertragen sind, bis der DMA-Controller wieder durch die
  - CPU programmiert wird. Dieses Ereignis bezeichnet man als
  + CPU programmiert wird. Dieses Ereignis bezeichnet man als
           Terminal Count (TC). Es gibt nur ein EOP-Signal und da nur
           jeweils ein DMA-Kanal gleichzeitig aktiv sein kann, mu&szlig;
           der aktive DMA-Kanal auch derjenige sein, welcher soeben seine
  @@ -222,18 +222,18 @@
           f&uuml;hrte einen zus&auml;tzlichen, externen Signalspeicher
           f&uuml;r jeden DMA-Kanal ein, welcher die oberen Bits einer
           Adresse enth&auml;lt, welche ausgelesen oder beschrieben
  - werden mu&szlig;. Immer wenn ein DMA-Controller aktiv ist,
  + werden mu&szlig;. Immer wenn ein DMA-Controller aktiv ist,
           wird der Inhalt dieses Signalspeichers zum Adress-Bus
           hinzugeschrieben und dort festgehalten, bis die DMA-Operation
           f&uuml;r diesen Kanal beendet ist. IBM nannte diese
           zus&auml;tzlichen Signalspeicher <quote>Seitenregister</quote>
           (Page Register).</para>
         
  - <para>F&uuml;r das obige Beispiel w&uuml;rde der DMA-Controller den 0x3456-Teil
  - der Adresse auf den Bus setzen und das Seitenregister f&uuml;r den
  - DMA-Kanal 2 w&uuml;rde 0x0012xxxx dem Bus hinzuf&uuml;gen. Zusammen formen
  - beide Werte die komplette Speicheradresse, auf die zugegriffen
  - werden soll.</para>
  + <para>F&uuml;r das obige Beispiel w&uuml;rde der DMA-Controller den
  + 0x3456-Teil der Adresse auf den Bus setzen und das Seitenregister
  + f&uuml;r den DMA-Kanal 2 w&uuml;rde 0x0012xxxx dem Bus hinzuf&uuml;gen.
  + Zusammen formen beide Werte die komplette Speicheradresse, auf die
  + zugegriffen werden soll.</para>
             
         <para>Da das Seitenregister unabh&auml;ngig vom DMA-Chip ist,
           weist der zu lesende oder zu beschreibende Speicherbereich
  @@ -242,7 +242,7 @@
           zugreift, dann wird der Controller nach dem Transfer das
           Adress-Register erh&ouml;hen und auf das n&auml;chste Byte an
           der Adresse 0x0000, nicht 0x10000, zugreifen. Dieses
  - Zuzulassen ist sicher nicht beabsichtigt ist.</para>
  + Zuzulassen ist sicher nicht beabsichtigt.</para>
             
         <note>
           <para><quote>Physikalische</quote> 64K-Grenzen sollten nicht
  @@ -256,8 +256,8 @@
         
         <para>Um die Angelegenheit noch komplizierter zu machen weisen
           die externen DMA Signalspeicher auf dem PC/AT nur 8 Bytes auf,
  - also 8+16 = 24 Bits. Dies bedeutet, da&szlig; der
  - DMA-COntroller nur auf Speicherbereiche innerhalb von 16
  + also 8+16 = 24 Bits. Dies bedeutet, da&szlig; der
  + DMA-Controller nur auf Speicherbereiche innerhalb von 16
           Megabyte zeigen kann. F&uuml;r neuere Rechner, die mehr als 16
           Megabyte an Speicher aufweisen, kann der Standard
           PC-kompatible DMA-Controller keine Speicherbereiche oberhalb
  @@ -305,9 +305,9 @@
               <para>Ein einziges Byte (oder Word) wird &uuml;bertragen.
                 Der DMA-Controller mu&szlig; f&uuml;r jedes
                 zus&auml;tzliche Byte den Bus freigeben bzw. neu
  - besetzen. Dieser Modi wird normalerweise von
  - Ger&auml;ten benutzt, welche nicht einen gesammten Block
  - von Daten auf einmal transferieren k&ouml;nnen. Das
  + besetzen. Dieser Modi wird normalerweise von
  + Ger&auml;ten benutzt, welche nicht einen gesamten Block
  + von Daten auf einmal transferieren k&ouml;nnen. Das
                 Peripherieger&auml;t wird den DMA-Controller jedesmal
                 anfordern, wenn es f&uuml;r einen weiteren Transfer
                 bereit ist.</para>
  @@ -429,10 +429,10 @@
                 mu&szlig; regelm&auml;ssig aufgefrischt werden, damit
                 die gespeicherten Bits <quote>geladen</quote> gehalten
                 werden. Dynamisches Ram besteht aus Millionen
  - Transistoren, die jedes ein Bit Daten enthalten. Die
  + Transistoren, die jedes ein Bit Daten enthalten. Die
                 Transistoren sind geladen, um <literal>1</literal>
                 darzustellen, oder entladen, um <literal>0</literal> zu
  - repr&auml;sentieren. Da alle Transistoren Ladung
  + repr&auml;sentieren. Da alle Transistoren Ladung
                 abgeben, mu&szlig; in regelm&auml;ssigen Abst&auml;nden
                 der Ladungsinhalt aufgefrischt werden durch
                 Wiederbeschreibung, um den Wert <literal>1</literal> zu
  @@ -538,7 +538,7 @@
         
         <para>Alle Systeme basierend auf dem IBM-PC und PC/AT weisen die
           gleiche DMA-Hardware an identischen I/O-Ports auf. Die
  - vollst&auml;ndige Liste ist unten aufgef&uuml;hrt. Dem
  + vollst&auml;ndige Liste ist unten aufgef&uuml;hrt. Dem
           DMA-Controller #2 zugewiesene Ports sind nicht definiert auf
           nicht-AT-Systemen.</para>
             
  @@ -1053,7 +1053,7 @@
           <para>Werden diese Leistungsmerkmale genutzt, dann sollte Code
             hinzugef&uuml;gt werden, der die gleiche Funktionalit&auml;t
             f&uuml;r Ger&auml;te aus den 16 Jahren PC-kompatibler
  - Ger&auml;te vor diesem Chip zur Verf&uuml;gung stellt. Aus
  + Ger&auml;te vor diesem Chip zur Verf&uuml;gung stellt. Aus
             Kompatibilit&auml;tsgr&uuml;nden m&uuml;ssen einige der
             Register des 82374 programmiert werden
             <emphasis>nach</emphasis> der Programmierung der
  

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Tue 21 Aug 2007 - 01:43:07 CEST

search this site