微型计算机的工作原理
如图所示,是一台简单模型主机的结构示意图。存储器从0号地址单元起,共存放了4条指令(图中以文字形式表示,实际为二进制代码)。这段程序执行过程如下:
1)控制器将指令计数器(PC)置0;
2)取第1条指令:PC中的指令地址0被送往地址寄存器,经地址译码器译码后选中0号存储单元;控制器发出读命令,第一条指令被读出,经数据缓冲器、数据总线进入指令寄存器(IR)。
4)取第2条指令:其过程同取第1条指令,只是现在PC的内容为1,故将1号存储单元中的指令取出,并送往IR。
3)执行第1条指令:这是一条取数指令,将8号存储单元的内容读出,并送往寄存器A。指令寄存器(IR)中的地址码8被送往地址寄存器,经译码后选中8号存储单元;IR中的操作码为取数,微操作命令产生电路根据操作码的译码结果和时序标志发出读命令,8号存储单元的内容(00001011)被读出,经数据缓冲器进入数据总线;待传输稳定后,微操作命令产生电路发出命令BUS->A,于是读出的数据进入寄存器A。此期间PC的微操作命令“+1”的作用下加1,形成要执行的下一条指令的地址。
5)执行第2条指令:其过程同执行第1条指令,将9号存储单元中的内容(00000101)读出并送往寄存器B。此期间PC在命令“+1”的作用下再加1,变成2。
6)取第3条指令:其过程同前。
7)执行第3条指令:这是一条加法指令(A)+(B)->A。微操作命令产生电路A->L、B->R和ADD,相加运算的结果(00010000)被送上数据总线,待传输稳定后微操作命令产生电路发出BUS->A,于是该结果被送入寄存器A。此期间PC同样被加1,变成3。
8)取第4条指令:其过程同前。
9)执行第4条指令:这是一条存数指令(A)->10号存储单元。IR中的地址码为10,经译码后选中10号存储单元;微操作命令产生电路根据操作码发出A->L 和MOV(MOV是传送微操作命令,此时右路选中控制信号全为0,即关闭右路选择器),这时ALU仅起到数据通路的作用,于是寄存器A的内容通过左路选择器和ALU进入数据总线;待传输稳定后微操作命令产生电路发出写命令,数据总线中的数据(00010000)经数据缓冲器被写入10号存储单元。此期间PC通用被加1,变成4。
10)继续执行后面的程序。
从上述程序执行过程可以看出,微型计算机的执行过程是将内存中的指令逐条取出并加以执行的过程,这个过程是自动的、连续的,不需要人工干涉。 需要指出的是,指令的执行过程包括对指令的译码。控制器通过指令译码才能知道这条指令是什么指令,才能发出相应的微操作命令。
计算机中的编码
信息的编码是计算机在进行人机交换信息时用到的信息(如数字、字母、符号等)的二进制编码。在计算机中常用的信息编码有两种:ASCII码和BCD码
字符的表示—ASCII码 ASCII码(AmericanStandard Code for Information Interchange—美国标准信息交换码):
是用一个字节来表示一个字符,低7位为字符的ASCII码,最高位一般用作校验位。7位二进制代码能表示27=128种不同的字符,其中包括数字(0~9),英文大小写字母,标点符号及控制字符等。
十进制数的表示—BCD码。
BCD码是用二进制编码表示的十进制数(Binary-CodedDecimal)。BCD码可分为两种:压缩型BCD码和非压缩型BCD码。
1)压缩型BCD码:是用一个字节表示两位十进制数(每个十进制数用4个二进制数表示);
2)非压缩型BCD码是用一个字节表示一位十进制数(一位十进制数占用低4位二进制数,高4位二进制数为0)。
如:69.81=(0110 1001.1000 0001)BCD 压缩型BCD码
69.81=(0000 0110 0000 1001.0000 1000 0000 0001)BCD 非压缩型BCD码
计算机中的数制
1.数制的定义与表示 数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。数制是以表示数值所用的数字符号的个数来命名的,并按一定进位规则进行计数的方法。任何一个数制都包含两个基本要素:基数和位权。
数码:是指数制中表示基本数值大小的不同数字符号。例如,十进制有10个数码:0、1、2、3、4、5、6、7、8、9。
基数:是指数制所使用数码的个数。例如,十进制的基数为10。
位权:数制中每一固定位置对应的单位值称为位权。对于多位数,处在某一位上的“1”所表示的数值的大小,称为该位的位权。例如,十进制第2位的位权为10,第3位的位权为100;