1 微型计算机结构及原理
以一个简化的微型计算机为例,微型计算机的简化结构。
1.1 微型计算机结构
微型计算机由PC(程序计数器)、IR(指令寄存器)、CON(控制部件)、MAR(存储地址寄存器)、ROM(只读存储器)、A(累加器)、ALU(算术逻辑部件)、B(寄存器)、OUTREG(输出寄存器)、DLEDDIS(数码管动态扫描模块)及DECL7S(显示模块)等组成。这里仅介绍有所改变或不同的模块,其余可见文献[1]。
L为数据载入控制信号,E为三态输出选通信号,clk为时钟信号,clr为清零信号,Cp为控制PC加1信号,S0-S3为控制ALU进行加减或逻辑运算的选择信号。所有的控制、时钟及清零信号由CON模块给出,而CON模块由外部时钟clkin及清零信号rst控制。PC可以置数,即可执行跳转指令。OUTREG可清零,便于多次调试。DLEDDIS及DECL7S用来把地址及结果在数码管上显示出来。
1.2 微型计算机原理
虽然这台微型机可以实现16条指令,但本文对指令不做扩展,仅以5条指令为例。LDA为将数据装入累加器A(操作码0000);ADD为进行加法运算(操作码0001);SUB为进行减法运算(操作码0010);OUT为输出结果(操作码1110);HLT为停机(操作码1111)。
在程序和数据装入后,当外部给出时钟信号及清零信号无效时,由CON模块发出信号及控制字,开始取出和执行每条指令。如控制字顺序为ErLrS3S2S1SOEuLm LbEaLaEi LiCpEpLp,这里Lr可用于存储器为RAM时做写使能信号。由于采用的是数据总线与地址总线合一的总线结构,一条指令的执行需要6个机器节拍,即前3节拍取指周期与后3节拍执行周期。如执行ADD 0AH,机器码为1AH(0001 1001)。第1节拍将PC内容送入MAR,控制字为“0000 0001 00000010”,即Ep与Lm为1;第2节拍将ROM中对应地址单元中的内容送到IR,IR高4位送至CON,控制字为“1000 0000 0000 1000”,即Er与Li为1;第3节拍使PC加1,控制字中Cp为1,其余为0;第4节拍将IR的低4位送至MAR,Ei与Lm为1;第5节拍将ROM中的内容送入累加器A中,Er与La为1;第6节拍为加法运算,Eu与La为1,同时S0-s3选择为加法运算。
1 微型计算机结构及原理
以一个简化的微型计算机为例,微型计算机的简化结构。
1.1 微型计算机结构
微型计算机由PC(程序计数器)、IR(指令寄存器)、CON(控制部件)、MAR(存储地址寄存器)、ROM(只读存储器)、A(累加器)、ALU(算术逻辑部件)、B(寄存器)、OUTREG(输出寄存器)、DLEDDIS(数码管动态扫描模块)及DECL7S(显示模块)等组成。这里仅介绍有所改变或不同的模块,其余可见文献[1]。
L为数据载入控制信号,E为三态输出选通信号,clk为时钟信号,clr为清零信号,Cp为控制PC加1信号,S0-S3为控制ALU进行加减或逻辑运算的选择信号。所有的控制、时钟及清零信号由CON模块给出,而CON模块由外部时钟clkin及清零信号rst控制。PC可以置数,即可执行跳转指令。OUTREG可清零,便于多次调试。DLEDDIS及DECL7S用来把地址及结果在数码管上显示出来。
1.2 微型计算机原理
虽然这台微型机可以实现16条指令,但本文对指令不做扩展,仅以5条指令为例。LDA为将数据装入累加器A(操作码0000);ADD为进行加法运算(操作码0001);SUB为进行减法运算(操作码0010);OUT为输出结果(操作码1110);HLT为停机(操作码1111)。
在程序和数据装入后,当外部给出时钟信号及清零信号无效时,由CON模块发出信号及控制字,开始取出和执行每条指令。如控制字顺序为ErLrS3S2S1SOEuLm LbEaLaEi LiCpEpLp,这里Lr可用于存储器为RAM时做写使能信号。由于采用的是数据总线与地址总线合一的总线结构,一条指令的执行需要6个机器节拍,即前3节拍取指周期与后3节拍执行周期。如执行ADD 0AH,机器码为1AH(0001 1001)。第1节拍将PC内容送入MAR,控制字为“0000 0001 00000010”,即Ep与Lm为1;第2节拍将ROM中对应地址单元中的内容送到IR,IR高4位送至CON,控制字为“1000 0000 0000 1000”,即Er与Li为1;第3节拍使PC加1,控制字中Cp为1,其余为0;第4节拍将IR的低4位送至MAR,Ei与Lm为1;第5节拍将ROM中的内容送入累加器A中,Er与La为1;第6节拍为加法运算,Eu与La为1,同时S0-s3选择为加法运算。
举报