在计算机中能执行的程序是由指令组成的,因此计算机执行程序的过程就是按给定次序执行一组指令的过程。
一条指令分为两部分:(1)操作码(2)地址码
组成计算机的基本部件有:中央处理器(CPU,运算器和控制器)、存储器和输入输出设备。
翻译程序有编译程序和解释程序两种。
编译程序是将人们编写的源程序中全部语句翻译成机器语言程序后,再执行机器语言程序。
解释程序则是在将源程序的一句语句翻译成机器语言以后立即执行它,然后再翻译执行下一条语句。
4.1主存储器分类、技术指标和基本操作
主存储器的类型:(1)随机存储器RAM:可读、可写、易失,掉电后数据消失
技术指标:主存容量、存储器存取时间和存储周期
基本操作:
CPU与主存之间采取异步工作方式
4.3非易失性的半导体存储器
(1)只读存储器ROM:由制造商再制造时写入内容,以后只能读而不能再写入
(2)可编程序的只读存储器PROM:一次性写入的存储器
(3)可擦可编程序的只读存储器(EPROM):紫外线擦除,编程次数不受限制
(4)可电擦可编程序只读存储器(E2PROM):用电擦除,重复改写的次数有限制
(5)快擦除读写存储器Flash Memory:用电擦除,是唯一具有大存储量、非易失性、低价格、可在线改写和高速度读等特性的存储器,又称闪存
4.4存储器的组成与控制
位扩展指的是用多个存储器芯片对字长进行扩充。其连接方式是将多片存储器的地址、片选、读写控制端、数据端分别引出。采用2个16K*4位的芯片组成16K*8位的存储器,存储器字长8位,每个芯片字长4位,每片有14条地址线引出端和4条数据线引出端。
字扩展指的是增加存储器中字的数量。静态存储器进行字扩展时,将各芯片的地址线、数据线和读写控制线相应并联,而由片选信号来区分各芯片的地址范围。
刷新逻辑是为动态MOS随机存储器准备的,通过定时刷新保证存储器的信息不致丢失。动态存储器采用“读出”方式进行刷新。从上一次对整个存储器刷新开始到本次对整个存储器刷新开始之间的时间间隔称作再生周期或刷新周期,一般为2ms。
假设存储器有1024行,采取再2ms时间内分散的将1024行刷新一遍的方法,称为分布式刷新。具体做法是将刷新周期除以行数,得到的两次刷新操作之间最大的时间间隔t,利用逻辑电路每隔时间t产生一次刷新请求。
4.5多体交叉存储器
计算机中大容量的主存由多个存储体组成,每个存储体都有自己的读写路线、地址寄存器和数据寄存器,称为存储模块。这种多模块存储器可以实现重叠与交叉存取。如果在M个模块上交叉编址(M=2^m),则称为模M交叉编址。
设存储器包括M个模块,每个模块的容量为L,各存储模块进行低位交叉编址,连续的地址分布在相邻的模块中。第i个模块Mi的地址编号应按下式给出:
M*j+i,其中j=0,1,2,……,L-1 i=0,1,2……,M-1
这种编址方式使用地址码的低位字段经过译码选择不同的存储模块,而高位字段指向相应的模块内部的存储字,这种编址方式将大大地提高主存地有效访问速度。
CPU和IOP对存储器的访问是通过主存控制部件实现的。
当CPU发出读或写请求操作时,由交叉编址位选择存储体,并查询该存储体控制部件中的忙触发器是否为1。当该触发器为1时,表示该存储体正在进行读或写操作,需要等待这次操作结束后将忙触发器置0,才能响应新的读或写请求,当存储体完成读写操作时,向CPU发送回答信号,如果CPU还要继续读写操作,则将下一个地址码及其读写命令送至存储控制部件。
5.2指令格式
1条指令一般包含下列信息:(1)操作码(2)操作数的地址(3)操作结果的存储地址(4)下一条指令的地址。一条指令包括两种信息即操作码和地址码。
根据程序中指令出现频率高低而赋以不同长度的操作码,称为霍夫曼编码
5.3寻址方式
在计算机中设置一个专用的基址寄存器,或由指令指定一个通用寄存器为基址寄存器。操作数的地址由基址寄存器的内容和指令的地址码A相加得到,在这种情况下,地址码A通常被称为位移量。
指令地址码部分给出的地址A和指定的变址寄存器X的内容通过加法器相加,所得的和作为地址从存储器中读出所需的操作数。当计算机中还有基址寄存器时,那么在计算有效地址时还要加上基址寄存器的内容。
注意:基址寻址和变址寻址的不同:地址在基址寻址中是偏移量,在变址寻址中是首地址,寄存器在基址寻址中存放的内容是基址,变址寻址中是偏移量。
取指令、分析指令、执行指令、控制程序和数据的输入与结果输出、对异常情况和某些请求的处理(中断请求,DMA请求信号)
6.1.3指令执行过程
以加法为例
控制信号:
PC->AB:指令地址送地址总线
W/R=0:进行读操作
M/IO=1:存储器
DB->IR:取值到指令寄存器
PC+1:程序计数器+1
存储器在地址总线上读出指令地址,取出相应地址的指令给DB
控制信号:
①取两个源操作数(计算地址用)
rs1->GR:寄存器地址送通用寄存器
(rs1)->ALU:寄存器内容送ALU
disp->ALU:偏移量送ALU
②加法运算
“+”:
③有效地址送地址寄存器:ALU->AR
①数据地址送地址总线:AR->AB
②发访存控制命令
M/IO=1
W/R=0
③数据送数据寄存器:DB->DR。
①两个源操作数送ALU
rs->GR:另一寄存器送入通用寄存器GR
rs->ALU:GR送入ALU
DR->ALU:数据寄存器中的数送入ALU
②加法运算+
③送结果:ALU->GR
6.2.1微程序控制的基本概念
微操作:一条指令的功能是通过一次序执行一系列的基本操作,这些操作称为微操作
微指令:一组微操作。
微命令:组成微指令的微操作
微程序:一条指令一个微程序。微指令序列的集合就叫微程序。
控制存储器:微程序一般是存放在专用的存储器中的,由于该存储器主要存放给控制命令(信号)与下一条执行的微指令地址,所以被称为控制存储器。
6.2.2实现微程序控制的基本原理
当指令取入IR后,根据操作码进行译码,得到相应指令的第一条微指令地址。
指令译码部件可用只读存储器组成,将此操作码作为只读存储器的输入地址,该单元的内容即为相应的微指令在控制存储中的地址,根据此地址从控制存储器取出微指令,并将它存放在微指令寄存器中。
CLK2经过二分频得到CLK,再将CLK分频得到T1,而T2由T1反相得到。
机器周期:执行时间最长的微操作时间
7.3.1主存-辅存层次信息传送单位和存储管理
段式管理:段是利用程序模块化的性质,按照程序的逻辑结构划分成的多个独立部分。用段表来指明各段在主存中的位置。每段都有它的名称、段起点地址、段长等。
优点:段的分界与程序的分界对应;逻辑独立性,易于编译、管理、修改、保护,共享
缺点:容易在段间留下许多空余的零碎存储控件不好利用,造成浪费
页式管理:信息传送单位是定长的页,主存的物理空间也被划分为等长的固定区域,称为页面。
优点:空间浪费小很多
缺点:不易于保护、修改、共享
段页式管理:按模块分段、段内再分页,出入主存仍以页为信息传送单位,用段表和页表进行两级管理。