第一部分 系统概述和可执行文件的生成
冯·诺依曼结构的主要思想是什么呢?
计算机应由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。
各基本部件的功能是:
存储器不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令;
控制器应能自动取出指令来执行;
运算器应能进行加/减/乘/除四种基本算术运算,并且也能进行一些逻辑运算和附加运算;
操作人员可以通过输入设备、输出设备和主机进行通信。
内部以二进制表示指令和数据。每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作数的地址。由一串指令组成程序。
采用“存储程序”工作方式。
程序由指令组成,指令由OP、ADDR字段组成,,程序起始地址置PC
开始执行程序
第一步:根据PC取指令
第二步:指令译码
第三步:取操作数
第四步:指令执行
第五步:回写结果
第六步:修改PC的值
继续执行下一条指令
rs和rt为通用寄存器编号;addr为主存单元地址
R型:op=0000,寄存器间传送(mov); op=0001,加(add)//传送、加
M型:op=1110,取数(load);op=1111,存数(store)//取数、存数
问题:指令 1110 0111的功能是什么?
答:因为op=1110,故是M型load指令,功能为: R[0] ←M[0111],即:将主存地址0111(7号单元)中的 8位数据装入到0号寄存器中。
程序和指令执行过程举例
指令中需给出的信息:
操作性质(操作码)
源操作数1 或/和 源操作数2 (立即数、寄存器编号、存储地址)
目的操作数地址 (寄存器编号、存储地址)
存储地址的描述与操作数的数据结构有关!
用汇编语言开发程序、用助记符和标号来表示的指令(与机器指令一一对应)
需将汇编语言转换为机器语言! 用汇编程序转换
ISA是一种规约(Specification),它规定了如何使用硬件
可执行的指令的集合,包括指令格式、操作种类以及每种操作对应的操作数的相应规定;
指令可以接受的操作数的类型;
操作数所能存放的寄存器组的结构,包括每个寄存器的名称、编号、长度和用途;
操作数所能存放的存储空间的大小和编址方式;
操作数在存储空间存放时按照大端还是小端方式存放;
指令获取操作数的方式,即寻址方式;
指令执行过程的控制方式,包括程序计数器、条件码定义等。