~ National ~ Semiconductor - Al Kossow's Bitsavers
~ National ~ Semiconductor - Al Kossow's Bitsavers
~ National ~ Semiconductor - Al Kossow's Bitsavers
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 />
Latched Write<br />
This mode executes a write without waiting the Remote<br />
Processor-XACK isn't normally taken low. The complete<br />
flow chart for the Latched Write mode is shown in Figure 33.<br />
Until a Remote Write is initiated (RAE*REM-WR true), the<br />
state machine (RASM) loops in state RSA. If the BCP CPU<br />
needs to access Data Memory at this time (and LOCK is<br />
high), it can still do so. A local access is requested by the<br />
Timing Control Unit asserting the Local Bus Request<br />
(LCL-BREQ) signal. A local bus grant will be given by RASM<br />
if the buses are not being used (as is the case in RSA).<br />
RASM will move into RSs on the next clock after<br />
RAE*REM-WR is asserted. XACK is not taken low<br />
and therefore the RP is not waited. The state machine will<br />
loop in RSs until the RP terminates its write cycle-until<br />
RAE*REM-WR is no longer true. The external address and<br />
data latches are typically latched on the trailing edge of<br />
REM-WR. A local bus request will still be serviced in this<br />
state.<br />
Next, RASM enters RSc and WR-PEND is asserted to prevent<br />
overwrite of the external latches. Since the RP has<br />
completed its write cycle, another write or read can happen<br />
at any time. Any Remote Read cycle (RAE*REM-RD) or<br />
Remote Write cycle (RAE*REM-WR) occurring after the<br />
state machine enters RSc will take XACK low. A local access<br />
initiated before or during this state must be completed<br />
before RASM can move to RSo. Once RSo is entered,<br />
though, no further local bus requests will be granted until<br />
the BCP enters the Termination Phase. If the BCP CPU initiates<br />
a Data Memory Access after RSc, the Timing Control<br />
Unit will be waited and the BCP CPU will remain in state<br />
T Wr, until the RASM enters RSH.<br />
On the first clock where there is no local bus request the<br />
state machine enters RSE. WR-PEND and LCL continue to<br />
be asserted in this state and the data and instruction wait<br />
state counters, iow and ilW, are loaded from [DW2-0] and<br />
[IW1-0], respectively, in {DCR}. Any remote accesses now<br />
occurring will take XACK low and wait the Remote Processor.<br />
The state machine will move into one of several states on<br />
the next clock, depending on the state of CMD and<br />
[MS1-0]. WR-PEND and LCL are still asserted in all the<br />
possible next states. If CMD is high, the access is to {RIC}<br />
and the next state will be RSF1. The path from AD to {RIC}<br />
opens 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 RSF2 or RSF3 and the low or high<br />
bytes of the Program Counter, respectively, will be loaded.<br />
[MS1-0] = 00 designates a Data Memory access and<br />
moves RASM into RSF4. WRITE will be asserted in this<br />
state and A and AD continue to be at TRI-STATE. This allows<br />
the Remote Processor to drive the Data Memory address<br />
and data for the write. Since DMEM is subject to wait<br />
states, RSF4 is looped upon until all the wait states have<br />
been inserted.<br />
The last possible Memory Selection is Instruction Memory,<br />
[MS1-0] = 01. The two possible next states for IMEM depend<br />
on if RASM is expecting the low byte or high byte.<br />
Instruction words are accessed low byte then high byte and<br />
RASM powers up expecting the low Instruction byte. The<br />
internal flag that keeps track of the next expected Instruction<br />
byte is called the High Instruction Byte flag (HIB). If HIB<br />
is low, the next state is RSF5 and the low instruction byte is<br />
written Into the holding register, ILAT. If HIB is "I", the high<br />
instruction byte is moved to 115-8 and the value in ILAT is<br />
moved to 17 -0. At the same time IWR rises and the write to<br />
Instruction Memory is begun. An IMEM access, like a<br />
DMEM access, is subject to wait states and these states will<br />
be looped on until all programmed instruction memory wait<br />
states have been inserted.<br />
<strong>Al</strong>l the RSF states converge to a single decision box that<br />
tests WAIT. If WAIT is low then the state machine loops<br />
back to RSF, otherwise RASM will move on to RSG. LCL<br />
and WR-PEND are still asserted in this state but the actions<br />
specific to the RSF states have ended (i.e. WRITE will no<br />
longer be asserted).<br />
The next CPU-CLK moves RASM into RSH, the last state in<br />
the state machine. LCL is no longer asserted, but<br />
WR-PEND is still low. XACK will be taken low if a Remote<br />
Access is initiated. If the just completed access was to<br />
IMEM, HIB will be switched. <strong>Al</strong>so, the PC will be incremented<br />
if the high byte was written. A local access will be granted<br />
if LCL-BREQ is asserted in this state.<br />
If another Remote Write is pending, the state machine takes<br />
the path to RSs where that write will be processed. A pending<br />
Remote Read will return to the RSA in either the Buffered<br />
or Latched Read sections (not shown in Figure 33) of<br />
the state machine. And if no Remote Access is pending, the<br />
machine will loop in RSA until the next access is initiated.<br />
In Figure 35, the BCP is executing the first of two Data<br />
Memory writes when REM-WR goes low. The BCP takes no<br />
action until REM-WR goes back high, latching the data and<br />
making a remote access request. The BCP responds to this<br />
by taking WR-PEND low. At the end of the first instruction<br />
although the BCP begins its second write by taking ALE<br />
high, RASM now takes control of the bus and deasserts<br />
LCL at the end of T 1. A one T -state delay is built into this<br />
transfer to ensure that WRITE has been deasserted before<br />
the data bus is switched. Timing Control Unit is now waited,<br />
inserting remote access wait states, T Wr, as RASM takes<br />
over.<br />
The remote address is permitted one T -state to settle on the<br />
BCP address bus before WRITE goes low. WRITE then returns<br />
high one T-state plus the programmed Data Memory<br />
wait state, T Wd later, having satisfied the memory access<br />
time, and one T -state later LCL is reasserted, transferring<br />
bus control back to the BCP.<br />
In this example, REM-WR goes low again during the remote<br />
write cycle which, since WR-PEND is still low, causes XACK<br />
to go low to wait the Remote Processor. XACK and<br />
WR-PEND go back high at the same time as LCL goes low,<br />
allowing the second data byte to be latched on the next<br />
trailing edge of REM-WR.<br />
The BCP is now shown executing a local memory write, with<br />
remote data still pending in the latch. At the end of this<br />
instruction, the BCP begins executing a series of internal<br />
operations which do not require the bus. RASM therefore<br />
takes over and, without waiting the Timing Control Unit, executes<br />
the Remote Write.<br />
2-163