MITSUBISHI
DIGITAL ASSP
M66221SP/FP
256
×
9-BIT MAIL-BOX
3
This comes into question. When both ports are operating in the write
mode as given in (4), reverse data is written into each port and the
contents of memory may become uncertain. Consequently, no result
will be guaranteed.
The M66221 incorporated an arbitration function circuit to solve such
problems when contentionally selecting an address from both ports.
The arbitration function decides which of A and B ports determines
an address first, and unconditionally assigns access priority to the
first-in port (At this time, the Not Ready signal holds “H”). As for the
last-in port operation, the function inhibits any write to that port from
MPU at the same time when “L” is output to the Not Ready output pin
at the port regardless of a read or write operation during the period of
address matching of both ports. If the address of the first-in port
changes after that and both ports do not have the same address, the
Not Ready output is reset to “H” and the access in the stopped state
is accepted from the last-in port. If the same address is selected by
an address input from both ports simultaneously, a decision by the
arbitration function on the chip also affords access only from one
port, and outputs “L” to the Not Ready output for the other port
invalidate any access from MPU. Tables 3 and 4 give the relationship
between the port arbitration function and port access.
FUNCTIONAL DESCRIPTION
Arbitration Function
The M66221 has asynchronous accessibility from two independent
ports to shared memory, thus remarkably improving the throughput
of the entire processor system used in the multiport mode. On the
other hand, this accessibility causes a problem of contending for
selecting the same address in shared memory during the addressing
from both ports.
If the same address is contentionally selected, the following four basic
operations are possible depending on an access mode set from both
ports:
(1) A port .......... Read
B port .......... Read
(2) A port .......... Read
B port .......... Write
(3) A port .......... Write
B port .......... Read
(4) A port .......... Write
B port .......... Write
In this case, when both ports are operating in the read mode as given
in (1), correct data is read to both ports and the contents of memory
are not destroyed. There is no special problem. If the other port is in
the read mode while one port is operating in the write mode as given
in (2) or (3), however, data is written correctly but the data read from
the other port in the read mode may change during the same cycle.