cvs commit: de-docproj/books/developers-handbook/dma chapter.sgml de-docproj/books/developers-handbook/introduction chapter.sgml de-docproj/books/developers-handbook/ipv6 chapter.sgml de-docproj/books/developers-handbook/kerneldebug Makefile de-docproj/books/developers-handbook/l10n chapter.sgml de-docproj/books/developers-handbook/policies chapter.sgml ...

From: Aron Schlesinger <as(at)doc.bsdgroup.de>
Date: Fri, 31 Aug 2007 06:13:11 GMT

as 2007-08-31 06:13:11 UTC

  FreeBSD ports repository

  Modified files:
    books/developers-handbook/dma chapter.sgml
    books/developers-handbook/introduction chapter.sgml
    books/developers-handbook/ipv6 chapter.sgml
    books/developers-handbook/kerneldebug Makefile
    books/developers-handbook/l10n chapter.sgml
    books/developers-handbook/policies chapter.sgml
    books/developers-handbook/secure chapter.sgml
    books/developers-handbook/sockets chapter.sgml
    books/developers-handbook/testing chapter.sgml
    books/developers-handbook/tools chapter.sgml
    books/developers-handbook/x86 chapter.sgml
  Log:
  - Zeilenlaenge getrimmt
  - einrueckung getrimmt
  - doppelte leerzeichen
  - leerzeichen am Zeilenende
  
  Revision Changes Path
  1.7 +627 -625 de-docproj/books/developers-handbook/dma/chapter.sgml
  1.8 +74 -58 de-docproj/books/developers-handbook/introduction/chapter.sgml
  1.5 +9 -8 de-docproj/books/developers-handbook/ipv6/chapter.sgml
  1.2 +3 -1 de-docproj/books/developers-handbook/kerneldebug/Makefile
  1.7 +103 -102 de-docproj/books/developers-handbook/l10n/chapter.sgml
  1.5 +105 -88 de-docproj/books/developers-handbook/policies/chapter.sgml
  1.10 +22 -15 de-docproj/books/developers-handbook/secure/chapter.sgml
  1.3 +33 -33 de-docproj/books/developers-handbook/sockets/chapter.sgml
  1.5 +136 -125 de-docproj/books/developers-handbook/testing/chapter.sgml
  1.3 +5 -5 de-docproj/books/developers-handbook/tools/chapter.sgml
  1.11 +2048 -2048 de-docproj/books/developers-handbook/x86/chapter.sgml
  
  Index: chapter.sgml
  ===================================================================
  RCS file: /home/cvs/de-docproj/books/developers-handbook/dma/chapter.sgml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -I$FreeBSDde.*$ -r1.6 -r1.7
  --- chapter.sgml 31 Aug 2007 01:42:15 -0000 1.6
  +++ chapter.sgml 31 Aug 2007 06:13:08 -0000 1.7
  @@ -1,4 +1,4 @@
  -<!--
  +<!--
        The FreeBSD Documentation Project
        The FreeBSD German Documentation Project
   
  @@ -16,13 +16,13 @@
           <contrib>&Uuml;bersetzt von </contrib>
         </author>
       </authorgroup>
  - </chapterinfo>
  + </chapterinfo>
   
     <title>DMA</title>
   
     <sect1 id="dma-basics">
       <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
         1997.</emphasis></para>
  @@ -88,7 +88,7 @@
   
       <sect2>
         <title>Beispiel eines DMA-Transfers</title>
  -
  +
         <para>Hier ist ein Beispiel f&uuml;r die notwendigen Schritte,
           welche einen DMA-Transfer veranlassen und durchf&uuml;hren.
           In diesem Beispiel hat der Diskettencontroller (floppy disk
  @@ -97,7 +97,7 @@
           0x00123456 abzulegen. Der Prozess beginnt damit, da&szlig; der
           FDC das DRQ2-Signal (die DRQ-Linie f&uuml;r DMA-Kanal 2)
           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,
           da&szlig; der DMA-Kanal 2 programmiert und unmaskiert
  @@ -109,7 +109,7 @@
           Bus freizugeben, damit der DMA-Controller ihn nutzen kann.
           Diese Anforderung erfolgt mittels des HRQ-Signals, welches zur
           CPU geht.</para>
  -
  +
         <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
  @@ -118,26 +118,26 @@
           (entweder hoch oder niedrig) und die CPU teilt dem
           DMA-Controller mittels des HLDA-Signals mit, da&szlig; er nun
           die Kontrolle &uuml;ber den Bus hat.</para>
  -
  +
         <para>Abh&auml;ngig vom Prozessor kann die CPU noch einige
           zus&auml;tzliche Instruktionen ausf&uuml;hren ohne die
           Kontrolle des Bus, aber sie mu&szlig; unter Umst&auml;nden
           warten, wenn sie Instruktionen abarbeiten will, welche etwas
           aus dem Speicher lesen m&uuml;ssen, was nicht im internen
           Prozessor-Cache oder der Pipeline ist.</para>
  -
  +
         <para>Da der DMA-Controller nun <quote>verantwortlich
           ist</quote>, aktiviert er -MEMR, -MEMW, -IOR, -IOW
           Output-Signale und der Output des DMA-Controllers wird auf
           0x3456 gesetzt, damit das zu transferierende Byte zu einem
           bestimmten Speicherbereich gelangt.</para>
  -
  +
         <para>Der DMA-Controller verst&auml;ndigt nun das Ger&auml;t,
           welches die Anforderung veranlasst hat, da&szlig; der Transfer
           beginnt. Dies geschieht mittels einf&uuml;gen des Signals
           -DACK signal oder wie hier in unserem Beispiel mittels
           -DACK2.</para>
  -
  +
         <para>Der Floppy-Controller ist nun verantwortlich f&uuml;r
           das Setzen des Bytes f&uuml;r den Transport auf den
           Datenlinien des Bus. Sofern der Floppy-Controller nicht mehr
  @@ -148,28 +148,28 @@
           -IOR widerrufen, damit der Speicher das Byte auf dem Bus
           sperrt und speichert und der FDC wei&szlig;, da&szlig; das
           Byte &uuml;bertragen wurde.</para>
  -
  +
         <para>Da der DMA-Zyklus nur ein einzelnes Byte zugleich
           transferiert, wird der FDC nun das Signal DRQ2 absetzen und
           der DMA-Controller wei&szlig;, da&szlig; es nicht l&auml;nger
           ben&ouml;tigt wird. Der DMA-Controller f&uuml;gt das -DACK2
           -Signal wieder ein und der FDC registriert, da&szlig; er
           aufh&ouml;ren mu&szlig; Daten an den Bus zu senden.</para>
  -
  +
         <para>Der DMA-Controller wird nun &uuml;berpr&uuml;fen, ob
           andere DMA-Kan&auml;le irgendwelche Arbeiten bereithalten.
           Falls keiner der Kan&auml;le DRQ-Linien eingef&uuml;gt hat,
           wei&szlig; der Controller, da&szlig; er seine Arbeit beendet
           hat und versieht -MEMR, -MEMW, -IOR, -IOW und die
           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
           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 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
  @@ -185,7 +185,7 @@
           jeweils ein DMA-Kanal gleichzeitig aktiv sein kann, mu&szlig;
           der aktive DMA-Kanal auch derjenige sein, welcher soeben seine
           Aufgabe beendet hat.</para>
  -
  +
         <para>Falls ein Peripherieger&auml;t einen Interrupt erzeugen
           will, wenn der Transfer eines Pufferspeichers beendet ist,
           dann kann es &uuml;berpr&uuml;fen, ob sein -DACK-Signal und
  @@ -200,7 +200,7 @@
           Interrupts verantwortlich, welcher auftritt. In der Folge gibt
           es Peripherieger&auml;te, welche DMA nutzen aber keine
           Interrupts.</para>
  -
  +
         <para>Es ist wichtig zu verstehen, da&szlig; obwohl die CPU
           jedesmal den Bus an den DMA-Controller freigibt, wenn dieser
           ihn anfordert, dieser Vorgang sowohl f&uuml;r das
  @@ -213,16 +213,16 @@
           Peripherieger&auml;t empfangen, um sicher zu sein,
           da&szlig; ein bestimmter DMA-Transfer beendet wurde.</para>
       </sect2>
  -
  +
       <sect2>
         <title>DMA-Seitenregister und 16
           Megabyte-Adressraumbeschr&auml;nkungen</title>
  -
  +
         <para>Sie haben vielleicht vorhin bemerkt, da&szlig; der
           DMA-Controller die Adress-Linien nicht auf 0x00123456 gesetzt
           hat, wie wir angaben, sondern auf 0x3456. Der Grund
           hierf&uuml;r erfordert ein wenig Erkl&auml;rung.</para>
  -
  +
         <para>Als der originale IBM PC entworfen wurde hat IBM
           entschieden sowohl DMA als auch Interrupt-Controller
           einzusetzen, welche f&uuml;r den 8085 entwickelt worden waren,
  @@ -238,14 +238,15 @@
           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>
  -
  + (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>Da das Seitenregister unabh&auml;ngig vom DMA-Chip ist,
           weist der zu lesende oder zu beschreibende Speicherbereich
           keine auf 64K limitierte Gr&ouml;&szlig;e auf. Wenn der
  @@ -254,7 +255,7 @@
           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.</para>
  -
  +
         <note>
           <para><quote>Physikalische</quote> 64K-Grenzen sollten nicht
             mit 8086-Modus 64K-<quote>Segmenten</quote> verwechselt
  @@ -264,7 +265,7 @@
             Adress&uuml;berhang und werden durch ein mathematisches OR
             zusammengef&uuml;gt.</para>
         </note>
  -
  +
         <para>Um die Angelegenheit noch komplizierter zu machen weisen
           die externen DMA Signalspeicher auf dem PC/AT nur 8 Bytes auf,

----------------------------------------------
Diff block truncated. (Max lines = 200)
----------------------------------------------

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Fri 31 Aug 2007 - 08:14:33 CEST

search this site