17.05.2015 Views

~ National ~ Semiconductor - Al Kossow's Bitsavers

~ National ~ Semiconductor - Al Kossow's Bitsavers

~ National ~ Semiconductor - Al Kossow's Bitsavers

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.0 Remote Interface and Arbitration System (Continued)<br />

interaction. In addition, two bits allow the BCP CPU to keep<br />

track of remote accesses. These bits are the Remote Write<br />

bit [RW] and the Remote Read bit [RR], and are located in<br />

(CCR[6-5]l. Each bit goes high when its respective remote<br />

access to DMEM reaches its Termination Phase. Once one<br />

of these bits has been set, it will remain high until a "1" is<br />

written to that bit to reset it low.<br />

DETAILED TIMING<br />

In this section, the operation of the Remote Arbitration State<br />

Machine (RASM), is described in detail. Discussed, among<br />

other things, are the sequence of events in a remote access,<br />

arbitration of the data buses, timing of external signals,<br />

when inputs are sampled, and when wait states are<br />

added. Each of the five Interface Modes is described in<br />

functional state machine form. <strong>Al</strong>though each interface<br />

mode is broken out in a separate flow chart, they are all part<br />

of a single state machine (RASM). Thus the first state in<br />

each flow chart is actually the same state.<br />

The functional state machine form is similar to a flow chart,<br />

except that transitions to a new state (states are denoted as<br />

rectangular boxes) can only occur on the rising edge of the<br />

internal CPU clock (CPU-ClK). CPU-ClK is high during the<br />

first half of its cycle. A state box can specify several actions,<br />

and each action is separated by a horizontal line. A signal<br />

name listed in a state box indicates that that pin will be<br />

asserted high when RASM has entered that state. Signals<br />

not listed are assumed low.<br />

Note: This sometimes necessitates using the inversion of the external pin<br />

name). This same rule applies to the A and AD buses. By default,<br />

these buses are active. The A bus will have the upper byte of the last<br />

used data address.<br />

The AD bus will display (RICl. When one of these buses<br />

appears in a state box, the condition specified will be in<br />

effect only during that state. Decision blocks are shown as<br />

diamonds and their meaning is the same as in a flow chart.<br />

The hexagon box is used to denote a conditional state-not<br />

synchronous with the clock. When the path following a decision<br />

block encounters a conditional state, the action specified<br />

inside the hexagon box is executed immediately.<br />

<strong>Al</strong>so provided is a memory arbitration example in the form of<br />

a timing diagram for each of the five modes. These examples<br />

show back to back local accesses punctuated by a<br />

remote access. Both the state of RASM and the Timing<br />

Control Unit are listed for every clock at the top of each<br />

timing diagram. The RASM states listed correspond to the<br />

flow charts. The Timing Control Unit states are described in<br />

the CPU Timing portion of the data sheet.<br />

Buffered Read<br />

The unique feature of this mode is the extension of the read<br />

until REM-RD is deasserted. The complete flow chart for the<br />

Buffered Read mode is shown in Figure 25. Until a Remote<br />

Read is initiated (RAE*REM-RD true), the state machine<br />

(RASM) loops in state RSA. If [lOR] is set high, RASM will<br />

loop in RSA indefinitely. If the BCP CPU needs to access<br />

Data Memory at this time (and lOCK is high), it can still do<br />

so. A local access is requested by the Timing Control Unit<br />

asserting the local Bus Request (lCl-BREQ) signal. A local<br />

bus grant will be given by RASM if the buses are not being<br />

used (as is the case in RSA).<br />

XACK is taken low as soon as RAE*REM-RD is true, regardless<br />

of an ongoing local access. RASM will move into<br />

RSs on the next clock after RAE*REM-RD is true and there<br />

is no local bus request. No further local bus requests will be<br />

granted until the remote access is complete and RASM returns<br />

to RSA.<br />

On the next CPU-ClK, RASM enters RSe and lCl is taken<br />

high along with XACK. The wait state counters, ilw and iow,<br />

are loaded in this state from [lW1-0] and [DW2-0], respectively,<br />

in (DCR l. The A bus (and AD if the access is to Data<br />

Memory) now goes into TRI-STATE and the Access Phase<br />

begins.<br />

The state machine can move into one of several states depending<br />

on the state of CMD and [MS1-0] on the next<br />

clock. XACK and lCl are still asserted in all the possible<br />

next states. If CMD is high, the access is to (RIC l and the<br />

next state will be RS01. Since the default state of AD is<br />

(RIC l. it will not transition in this state.<br />

The five other next states all have CMD low and depend on<br />

the Memory Select bits. If [MS1-0] is 10 or 11 the state<br />

machine will enter either RS02 or RS03 and the low or high<br />

bytes of the Program Counter, respectively, will be read.<br />

[MS1-0] = 00 designates a Data Memory access and<br />

moves RASM into RS04. READ will be asserted in this state<br />

and A and AD continue to be at TRI-STATE. This allows the<br />

Remote Processor to drive the Data Memory address for<br />

the read. Since DMEM is subject to wait states, RSo4 is<br />

looped upon until all the wait states have been inserted.<br />

2-151

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!