对内存储器和I/O接口,控制器主要向它们提供读写操作用到的全部控制信号。内存储器和I/O接口的组成和运行原理等知识尚未讲到,但前面已经简单地提到,要读写内存储器,应先把要读写的存储单元的地址送到地址总线上,再向内存储器发出读写命令,为读操作时,还要把读出的内容保存到相关的寄存器中,为写操作时,还要把准备写入内存储器的数据事先送到数据总线上。要完成对输入/输出设备的读写操作,多数情况下,是在CPU与相应设备的接口卡的某一寄存器之间完成。应先把这一输入/输出设备的入出端口地址送到地址总线上,再向接口卡发出读写命令,为读操作时,还要把读出的内容保存到相关的寄存器中,为写操作时,还要把准备写到接口卡的寄存器中的数据事先送到数据总线上。这些操作涉及到对内存储器和I/O接口的读写操作控制,为此,必须区分:
要还是不要读写内存或I/O接口,是读写内存储器还是I/O接口,到底是读还是写操作。从实际应用需要出发,可以把这些要求组合成以下5种情形:
写内存,在写数据到内存时要用,用于教学机的STO、PUSH等指令的写内存操作;
读内存,在从内存读数据时要用,用于教学机的LOD、POP等指令的读内存操作;
写接口,在写数据到接口时要用,用于教学机的IN指令的写I/O接口操作;
读接口,在从接口读数据时要用,用于教学机的OUT指令的读I/O接口操作;
既不读写内存也不读写接口,在许多指令的大部分时间里是这样运行的,此时应禁止内存和接口的读写操作。设计中一定不能忘记这一运行要求,在想到应该做什么操作的同时,还应该想到不能够做什么操作。在TEC-3计算机系统中,通过3位编码(/MIO,REQ,/WE)来区分上述5种情形,具体安排如下。
/MIO REQ /WE 操作功能
0 0 0 内存写
0 0 1 内存读
0 1 0 I/O写
0 1 1 I/O读
1 X X 无读写
可以看到,/MIO信号为低,要读写内存或I/O接口,为高则不读写内存和I/O接口;
在/MIO信号为低时,REQ信号为低,是内存工作(读写),为高则是I/O接口工作;
在/MIO信号为低时,/WE信号为低是写操作,为高则是读操作。
这里的X符号表示"无关位",即/MIO信号为高时,无论REQ和/WE处于什么状态,都是既不读写内存也不读写I/O接口。
向内存和I/O接口提供的读写信号,通过对/MIO REQ /WE这3位码的译码来实现。
|
|