· 现代计算机系统的层次;
· 应用程序、语言处理系统、操作系统、指令体系结构、计算机硬件。
· 语言处理系统包括:各种语言处理程序(如汇编、编译、链接)、运行时系统(如库函数、调试、优化等功能)。
· 操作系统包括人机交互的界面、提供服务功能的内核例程。
· ISA(指令集体系结构):
· ISA是一种规约,规定了如何使用硬件。
· 是可执行的指令的集合,包括指令格式、操作种类以及每种操作对应的操作数的相应规定;
· 指令·可以接受的操作数的类型;
· 操作数所能存放的寄存器组的结构,包括每个寄存器的名称、编号、长度和用途;
· 操作数在储存空间时按照大端还是小端方式存放;
· 操作数所能存放的储存空间的大小和编址方式;
· 指令获取操作数的方式,既寻址方式;
· 指令执行过程的控制方式,包括程序计数器(PC)、条件码定义等。
· 定点数与浮点数:
· 小数点位置约定在固定位置的数称为定点数;
· 小数点位置约定为可浮动位置的数称为浮点数。
· 定点小数用来表示浮点数的尾数部分。
· 定点整数用来表示整数,分带符号整数和无符号整数。
· 任何是实数(浮点数)X都可以表示为:
其中S取值为0或1,用 来表示数X的符号;M是一个二进制定点小数,称为X的尾数;E是一个二进制定点整数,称为数X的阶或指数;R是基数,可以为1、 4、 16等。计算机中只要表示S、M和E三个信息就能确定X的值,这就是浮点数。
· 原码、移码、补码、反码:
· 原码: 首位表示正负,其余用二进制表示。
· 移码: 将每一个数值加上一个偏置常数(bias)。通常,当编码位数为n时,bias取2n-1或2n-1-1。此时移码和补码仅第一位不同,移码用来表示浮点数的阶(便于浮点数加减运算时的对阶操作,比较大小),例如:
· 补码: 实