微机总线 重庆大学 陈育华 1992-06-12 一、数据总线 数据总线是CPU和存储器、外设之间传送指令和数据的通道,其宽度反映了CPU_次处理,传送数据的二进制位数。据此,可将微机分成4、6、8、16、32位等种类。典型的有8位、16位微处理器及单片机。其中,8088微处理器和8089单片机,因其外部数据总线宽度为8位、内部仍是16位结构而俗称为准16位机。数据总线一般记为D0_Dn(8位机,n=7;16位机,n=15)。 二、地址总线 地址总线用来给存储器,I/O口编号,以便CPU按地址对其读写。一般,存储器的编址使用全部地址线,故地址线的根数反映了微处理器的寻址能力。用n根地址线编址的存储空间可达2n个单元。8位机有16根地址线,因此,最大寻址范围为64K字节(216)。8088/8086有20根地址线,则有1M(220)的寻址空间。地址总线通常记为A0_An(八位机,n=15;8088/8086十六位机,n=19)。 I/O接口编址的方法有两种。一种是利用部分地址线编址,CPU使用专门的输入/输出指令和读写控制信号访问接口。如Z80、8085的I/O寻址,使用地址总线的低8位A0~A7,可直接选择256个I/O端口。8088/8086则使用16根地址线寻址I/O口,允许选择64K个端口。第二种方法是把I/O口视作存储单元,与存贮器统一编址,对存储器操作的指令完全适用于对I/O口操作。如6502、6800就采用这种方法。 三、控制总线 控制总线用来传递CPU的控制信号,控制所要执行的操作的种类和顺序,以协调系统各部件的动作。各种微处理器都有本质上相同的数据总线和地址总线,其主要差别在于控制总线。三组总线中,控制总线最为复杂。它主要包括下述几方面: 1、读写控制线。决定数据线上数据流动的方向,以及提存储器读写还是I/O操作。如8085和最小工作方式下的8088/8086的读写控制线为IO/M,RD和WR。当IO/M=1,表示进行I/O操作;反之,IO/M=0,则是存储器操作。RD有效时,CPU众数据线上获取来自存储器或I/O设备的数据。WR有效时,信息传送方向则是由CPU向外部。Z80有类似的控制线,只是它采用两条控制线IORQ和MREQ代替上述的IO/M,以区别存储器和I/O设备。6502和6800系统中,因I/O设备和存储器统一编址,故只需一条读写线R/W。 2、中断信号线。包括可屏蔽中断输入线、非屏蔽中断输入线和中断响应线。 3、总线控制线。当其它主设备(如DMAC)欲使用总线时,通过这灯控制线,使CPU暂时挂起,放弃对总的占用。一般有总线请求线与总线响应线。 4、复位线。CPU接收到复位信号,就进行初始化,并以指定的复位入口处开始执行程序。8085、Z80微处理器和MCS_51单片机复位后,程序计数器PC清零,CPU从0000H单元开始执行程序。8089/8096单片机的复位入口是2080H。6502复位时,往程序计数器PC装入的是FFFCH和FFFDH单元的内容,而6800则是把FFFEH、FFFFH单元的内容装入PC。8088/8086在系统复位后,便从绝对地址为FFFFOH的存储单元起执行指令。这个单元中一般存有一条段间直接转移指令(JMP),以转到系统程序的真正起点。 5、等待线或准备就绪线。用于CPU与慢速的存储器和I/O装置同步。 6、主控时钟线。产生CPU各种基本操作的时基。 7、其它。如8085、8088/8086、8098/8096的地址锁存允许信号(ALE),8085的串行输入、输出数据线(SID、SOD),Z80的刷新信号线(RFSH)、停机线(HALT),6502的置溢出位线(S.O),6800的状态控制线(TSC)等。 最后,应指出,现代的通用或专用微机系统大都采用模块式结构,其通用性强,组态灵活,规模可大可小,这些系统一般由主机板和各种功能板(如A/D、D/A转换板、打印机接口板、CRT接口板、内存扩展板、串并行通信板、开关量接口板、音乐合成板、语言识别板等)组成。为了便于各模块之间、系统之间相互连接,组态灵活,通常采用统一的标准总线。在标准总线中,对插件尺寸、插头线数、各引脚的定义及时序等,都作了明确的规定。常用的标准总线有STD_BUS、S_100BUS、IEEE_488、RS_232C等,限于篇幅,就不介绍了(附表)〉(完 ) ┏━━━━━━━━┯━━━━━━━┯━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ │ │ 数据线 │ 控 制 线 ┃ ┃ 机 型 │ 地址线 │ ├─────┬───────┬────┬──────┬────┬─────────┨ ┃ │ │ │ 读 写 │ 中 断 │总线控制│ 复 位 │ 等 待 │ 其它 ┃ ┠─┬───┬──┼───────┼─────┼─────┼───────┼────┼──────┼────┼─────────┨ ┃微│ │8085│ AD0~AD7 │与地址线低│ IO/M │INTR、RST5.5─7│ HOLD │ RESET IN │ READY │ALE、SID、SOD、S0 ┃ ┃ │ │ │ │ 8位复用 │ RD、WR │ TRAP、INTA │ HLDA │ RESET OUT │ │S1、CLK OUT ┃ ┃ │ ├──┼───────┼─────┼─────┼───────┼────┼──────┼────┼─────────┨ ┃处│ 8位 │Z80 │ A0~A15 │ D0~D7 │IORQ MREQ │ INT、NAI、 │ BUSRQ │ RESET │ WAIT │ RFSH、HALTΦ ┃ ┃ │ │ │ │ │RD、WR │ MI与IORQ │ BUSAK │ │ │ ┃ ┃ │ ├──┼───────┼─────┼─────┼───────┼────┼──────┼────┼─────────┨ ┃理│ │6502│ A0~A15 │ D0~D7 │ R/W │ IRQ、NMI │ │ RES │ RDY │ S,O、SYNCΦi ┃ ┃ ├───┼──┼───────┼─────┼─────┼───────┼────┼──────┼────┼─────────┨ ┃ │ │6800│ A0~A15 │ D0~D7 │ R/W │ IRQ、NMI │ BA和VMA│ RESET │ │ TSC、DBEΦi ┃ ┃器│ │ │ │ │ │ │ HALT │ │ │ ┃ ┃ │ ├──┼───────┼─────┼─────┼───────┼────┼──────┼────┼─────────┨ ┃ │准16位│ │ AD0~AD7 │与地址线低│ IO/M │ INTR、NMI │ HVLD │ │ │ALE、MN/MX、TEST ┃ ┃ │ │8088│ A8~A15 │ 8位复用 │ │ │ │ RESET │ READY │ ┃ ┃ │ │ │A16/S3~A19/S6│ │ RD、WR │ INTA │ HLDA │ │ │DT/R、DEN、CLK ┃ ┃ ├───┼──┼───────┼─────┼─────┼───────┼────┼──────┼────┼─────────┨ ┃ │ 16位 │8086│ AD0~AD15 │与地址线低│ 同上 │ 同上 │ 同上 │ 同上 │ 同上 │ 同上 ┃ ┃ │ │ │ │ 16位复用 │ │ │ │ │ │ ┃ ┠─┼───┼──┼───────┼─────┼─────┼───────┼────┼──────┼────┼─────────┨ ┃单│ │MCS─│AD0/P0.0─AD7/P│与地址线低│ RD/P3.7 │ INTO/P3.2 │ │ │ │ALE、EA、RXD/P3.0 ┃ ┃ │ 8位 │ 51 │2.7; A8/P2.0─A│ │ WR/P3.6 │ │ │ RST │ │TXD/P3.1、TO/P3.4 ┃ ┃ │ │ │15/P2.7 │ 8位复用 │ PSEN │ INTI/P3.3 │ │ │ │T1/P3.5、XTAL ┃ ┃片├───┼──┼───────┼─────┼─────┼───────┼────┼──────┼────┼─────────┨ ┃ │准16位│8098│AD0/P0.0~AD7/│ │ │ │ │ │ │ALE、EA、RXD/P2.1 ┃ ┃ │ │ │P3.7; A8/P4.0 │ 同上 │ RD、WR │ EXTINT/P2.2 │ │ RESET │ READY │TXD/P2.0 HSIi─HSOi┃ ┃ │ │ │~A15/P4.7 │ │ │ │ │ │ │ACHi/P0.iXTALi ┃ ┃ ├───┼──┼───────┼─────┼─────┼───────┼────┼──────┼────┼─────────┨ ┃ │ 16位 │8096│AD0/P3.0─AD7/─│ 与地址线 │ │ │ │ │ │  ┃ ┃ │ │ │P3.7; AD8/P4.0│ │ 同上 │ 同上 │ │ 同上 │ 同上 │ 同上 ┃ ┃ │ │ │─AD15/P4.7 │ 复用 │ │ │ │ │ │ ┃ ┗━┷━━━┷━━┷━━━━━━━┷━━━━━┷━━━━━┷━━━━━━━┷━━━━┷━━━━━━┷━━━━┷━━━━━━━━━