Page 7 - 8237A (1)
P. 7

8237A


                   With Rotating Priority in a single chip DMA system,  Current Word RegisterÐEach channel has a 16-
                   any device requesting service is guaranteed to be  bit Current Word Count register. This register deter-
                   recognized after no more than three higher priority  mines the number of transfers to be performed. The
                   services have occurred. This prevents any one  actual number of transfers will be one more than the
                   channel from monopolizing the system.   number programmed in the Current Word Count reg-
                                                           ister (i.e., programming a count of 100 will result in
                   Compressed TimingÐIn order to achieve even  101 transfers). The word count is decremented after
                   greater throughput where system characteristics  each transfer. The intermediate value of the word
                   permit, the 8237A can compress the transfer time to  count is stored in the register during the transfer.
                   two clock cycles. From Figure 11 it can be seen that  When the value in the register goes from zero to
                   state S3 is used to extend the access time of the  FFFFH, a TC will be generated. This register is load-
                   read pulse. By removing state S3, the read pulse  ed or read in successive 8-bit bytes by the micro-
                   width is made equal to the write pulse width and a  processor in the Program Condition. Following the
                   transfer consists only of state S2 to change the ad-  end of a DMA service it may also be reinitialized by
                   dress and state S4 to perform the read/write. S1  an Autoinitialization back to its original value. Auto-
                   states will still occur when A8–A15 need updating  initialize can occur only when an EOP occurs. If it is
                   (see Address Generation). Timing for compressed  not Autoinitialized, this register will have a count of
                   transfers is found in Figure 14.        FFFFH after TC.
                   Address GenerationÐIn order to reduce pin count,  Base Address and Base Word Count RegistersÐ
                   the 8237A multiplexes the eight higher order ad-  Each channel has a pair of Base Address and Base
                   dress bits on the data lines. State S1 is used to out-  Word Count registers. These 16-bit registers store
                   put the higher order address bits to an external latch  the original value of their associated current regis-
                   from which they may be placed on the address bus.  ters. During Autoinitialize these values are used to
                   The falling edge of Address Strobe (ADSTB) is used  restore the current registers to their original values.
                   to load these bits from the data lines to the latch.  The base registers are written simultaneously with
                   Address Enable (AEN) is used to enable the bits  their corresponding current register in 8-bit bytes in
                   onto the address bus through a three-state enable.  the Program Condition by the microprocessor.
                   The lower order address bits are output by the  These registers cannot be read by the microproces-
                   8237A directly. Lines A0–A7 should be connected  sor.
                   to the address bus. Figure 11 shows the time rela-
                   tionships between CLK, AEN, ADSTB, DB0–DB7  Command RegisterÐThis 8-bit register controls
                   and A0–A7.                              the operation of the 8237A. It is programmed by the
                                                           microprocessor in the Program Condition and is
                   During Block and Demand Transfer mode services,  cleared by Reset or a Master Clear instruction. The
                   which include multiple transfers, the addresses gen-  following table lists the function of the command
                   erated will be sequential. For many transfers the  bits. See Figure 6 for address coding.
                   data held in the external address latch will remain
                   the same. This data need only change when a carry  Mode RegisterÐEach channel has a 6-bit Mode
                   or borrow from A7 to A8 takes place in the normal  register associated with it. When the register is being
                   sequence of addresses. To save time and speed  written to by the microprocessor in the Program
                   transfers, the 8237A executes S1 states only when  Condition, bits 0 and 1 determine which channel
                   updating of A8–A15 in the latch is necessary. This  Mode register is to be written.
                   means for long services, S1 states and Address
                   Strobes may occur only once every 256 transfers, a  Request RegisterÐThe 8237A can respond to re-
                   savings of 255 clock cycles for each 256 transfers.  quests for DMA service which are initiated by soft-
                                                           ware as well as by a DREQ. Each channel has a
                                                           request bit associated with it in the 4-bit Request
                   REGISTER DESCRIPTION                    register. These are non-maskable and subject to pri-
                                                           oritization by the Priority Encoder network. Each reg-
                   Current Address RegisterÐEach channel has a  ister bit is set or reset separately under software
                   16-bit Current Address register. This register holds  control or is cleared upon generation of a TC or ex-
                   the value of the address used during DMA transfers.  ternal EOP. The entire register is cleared by a Reset.
                   The address is automatically incremented or decre-  To set or reset a bit, the software loads the proper
                   mented after each transfer and the intermediate val-  form of the data word. See Figure 5 for register ad-
                   ues of the address are stored in the Current Address  dress coding. In order to make a software request,
                   register during the transfer. This register is written or  the channel must be in Block Mode.
                   read by the microprocessor in successive 8-bit
                   bytes. It may also be reinitialized by an Autoinitialize
                   back to its original value. Autoinitialize takes place
                   only after an EOP.

                                                                                                7
   2   3   4   5   6   7   8   9   10   11   12