计算机组成原理课本

1.概论

1.1计算机系统简介

1.1.1计算机系统的软硬件概念(从物理本质分)

  • 硬件:计算机的实体部分,看得见摸得着
  • 软件:程序,通常寄寓于各类媒体,存放在主存或辅存内
    • 系统软件:用来管理整个计算机系统,合理调度资源(标准程序库,语言处理程序,操作系统,服务程序,数据库管理程序,网络软件)
    • 应用软件:用户根据任务编制

1.1.2计算机系统的层次结构(从功能分)

  • 虚拟机器M4(高级语言机器)高级语言翻译成汇编语言——软件实现

  • 虚拟机器M3(汇编语言机器)汇编语言翻译成机器语言——软件实现

  • 虚拟机器M2(操作系统机器)操作系统解释成机器语言——软件实现

  • 传统机器M1(机器语言机器)微程序解释机器语言——硬件实现

  • 微程序机器M0(微指令系统)硬件直接执行微指令——硬件实现

    注:软硬件交界界面有向上发展的趋势(软件部分固化)

1.1.3计算机组成和计算机体系结构的区别

  • 计算机体系结构:计算机系统的的属性(传统机器的属性/功能),如指令系统

  • 计算机组成:如何实现计算机体系结构,如如何实现加法

    注:体系结构可能维持许多年,组成一直变化

1.2计算机的基本组成

1.2.1冯诺依曼计算机特点

  1. 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。(五大部件)+总线

  2. 指令和数据以同等地位存放千存储器内,并可按地址寻访。(储存方式)

  3. 指令和数据均用二进制数表示。(二进制)

  4. 指令由操作码(6位)和地址码(10位)组成,操作码用来表示操作的性质,地址码用来表示操作数在存

    储器中的位置。(指令组成)

  5. 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果

    或根据设定的条件改变执行顺序。(顺序存储)

  6. 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。(运算中心)

    注:现代计算机以储存器为中心。

1.2.2计算机的硬件框图

![截屏2023-10-19 15.59.22](/Users/sunqiuyan/Desktop/markdown/截屏2023-10-19 15.59.22.png)

  1. 运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内。

  2. 存储器用来存放数据和程序。

  3. 控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果。

  4. 输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠

标等。

  1. 输出设备可将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输

出等。

![截屏2023-10-19 16.02.02](/Users/sunqiuyan/Desktop/markdown/截屏2023-10-19 16.02.02.png)

一些说法:

  • 运算器(主要为算数逻辑单元ALU)+控制器(主要为控制单元CU)=中央处理器(CPU) && 输入输出设备=I/O设备

    ->现代计算机可认为由三大部分组成: CPU 、I/0 设备、主存储器

  • CPU +主存储器=主机 && I/O设备=外设

    ->现代计算机=主机+外设

关于CPU:

  • ALU:完成算术逻辑运算
  • CU:解释指令、控制I/O设备等

1.2.3计算机的工作步骤

  • 上机准备

    • 建立数学模型
    • 确定计算方法
    • 编制解题程序(编写若干条机器指令)
  • 计算机的工作过程

    ![截屏2023-10-19 16.28.15](/Users/sunqiuyan/Desktop/markdown/截屏2023-10-19 16.28.15.png)

  1. 主存储器(主存、内存)——包括存储体 M、各种逻辑部件及控制电路等。

    • 构成是什么?:存储体M——存储单元(存的代码叫存储字,长度叫存储字长)——存储元件(大楼房间床位)

    • 工作方式?:主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写入)、取(读出)。这种存取方式称为按地址存取方式,即按地址访间存储器(简称访存)。(作用——避免重复,提高利用率)

    • 如何实现这种工作方式?:配置两个寄存器 MAR(存储器地址寄存器)MDR(存储器数据寄存器)

      • MAR:位数为存储单元个数对2的幂,存放欲访间的存储单元的地址

      • MDR:位数为存储字长,存放从存储体某单元取出的代码或者准备往某存储单

      元存入的代码

      • 现在大多集成在CPU中
    • 关于字长:存储字长、指令字长、数据字长三者可各不相同,但它们必须是字节的整数倍。

  2. 运算器——至少三个寄存器(ACC累加器、MQ乘商寄存器、X操作数寄存器)+算数逻辑单元(ALU)

![截屏2023-10-19 16.49.26](/Users/sunqiuyan/Desktop/markdown/截屏2023-10-19 16.49.26.png)

  1. 控制器(三个阶段)——程序计数器 ( PC) 、指令寄存器 (IR) 以及控制单元 (CU) 组成。

    • PC:PC 用来存放当前欲执行指令的地址,它与主存的 MAR 之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址。

    • IR:IR 用来存放当前的指令, IR 的内容来自主存的 MDR IR 中的操作码 (OP (IR) )送至 CU ,记作 OP (IR)->CU ,用来分析指令;其地址码 (Ad(IR) )作为操作数的地址送至存储器的 MAR ,记作 Ad (IR) ->MAR

    • 取指过程:要命令存储器读出一条指令,称为取指过程(也称取指阶段)(PC自动+1到MAR)

    • 分析过程:它要对这条指令进行分析,指出该指令要完成什么样的操作,并按寻址特征指明操作数的地址,称为分析过程。(IR分析MDR取出的操作码和地址码,由CU送给CU和MAR)

    • 执行过程:根据操作数所在的地址以及指令的操作码完成某种操作。(CU分析指令,完成操作)

  2. I/O设备

    • 每一种 I/0 设备都由I/0接口与主机联系,它接收 CU 发出的各种控制命令,并完成相应的操作。
  3. 一个例子

启动机器后,控制器立即将 PC 的内容送至主存的 MAR (记作 PC-+MAR) ,并命令存储器做读操作,此刻主存 “0” 号单元的内容 “0000010000001000" (表 1.2 所列程序的第一条指令)便被送入 MDR 内。然后由 MDR 送至控制器的 IR (记作 MDR-+IR) ,完成了一条指令的取指过程。经 CU 分析(记作 OP (IR)-+CU) ,操作码 “000001” 为取数指令,于是 CU 又将 IR 中的地址码 “0000001000“ 送至 MAR (记作 Ad(IR)-+MAR) ,并命令存储器做读操作,将该地址单元中的操作数 送至 MDR ,再由 MDR 送至运算器的 ACC (记作 MDR-+ACC) ,完成此指令的执行过程。此刻,也即完成了第一条取数指令的全过程,即将操作数 送至运算器 ACC 中。与此同时,PC 完成自动加 的操作,形成下一条指令的地址 ”1” 号。同上所述,由 PC 将第二条指令的地址送至 MAR ,命令存储器做读操作,将 “0001000000001001“ 送入 MDR ,又由 MDR 送至 IR 。接着CU 分析操作码 “000100" 为乘法指令,故 CU 向存储器发出读命令,取出对应地址为"0000001001“ 单元中的操作数 ,经 MDR 送至运算器 MQ,CU 再向运算器发送乘法操作命令,完ax 的运算,并把运算结果 ax 存放在 ACC 中。同时 PC 又完成一次 (PC)+l-+PC ,形成下一条指令的地址 “2” 号。依次类推,逐条取指、分析、执行,直至打印出结果。最后执行完停机指令后,机器便自动停机。

1.3计算机硬件的主要技术指标

  1. 机器字长:机器字长是指 CPU 一次能处理数据的位数,通常与 CPU 的寄存器位数有关。
    • 机器字长越大表示范围越大,精度越高,运算越快,造价越高
  2. 存储容量:包括主存容量和辅存容量。主存容量是指主存中存放二进制代码的总位数。
    • 存储容量=存储单元个数 存储字长=2^MAR位数^ MDR位数
    • 通常/8以后用字节数表示,记为xB
  3. 运算速度:
    • 吉普森法,它综合考虑每条指令的执行时间以及它们在全部操作中所占的百分比
    • 单位时间内执行指令的平均条数来衡量,单位MIPS(百万条指令每秒)
    • CPI(Cycle Per Instruction) 即执行一条指令所需的时钟周期(机器主频的倒数)
    • FLOPS(Floating Point Operation Per Second ,浮点运算次数每秒)来衡量运算速度。

2.计算机的发展及应用

1.第一台ENIAC
2.计算机的发展经历了电子管—晶体管—集成电路3个阶段,通常称为计算机的3代。
3.“微芯片上集成的晶体管数目每3年翻两番"的规律,这就是人们常说的 Moore (摩尔)定律。
4.发展重点
  1.进一步提高复杂度来提高处理器性能。
  2.通过线程/进程级并行性的开发提高处理器的性能,即通过开发线程级并行性或进程级并行性来提高性能,简化硬件设计。
  3.将存储器集成到处理器芯片内来提高处理器性能。
  4.发展嵌入式处理器。
5.计算机应用
  科学计算、数据处理、工业控制、实时控制、网络技术、虚拟现实、办公自动化和管理信息系统,(CAD、CAM、CIMS)、多媒体技术、人工智能

3.系统总线

4.存储器

5.输入输出系统

6.计算机的运算方式

6.1无符号数与有符号数

6.1.1无符号数

没有符号位

6.1.2有符号数

1.机器数与真值

机器数-把符号数字化(0正1负)

真值-带“+”“-”的数

2.原码

![截屏2023-10-23 10.41.50](/Users/sunqiuyan/Desktop/markdown/截屏2023-10-23 10.41.50.png)

![截屏2023-10-23 10.41.58](/Users/sunqiuyan/Desktop/markdown/截屏2023-10-23 10.41.58.png)

优点:简洁明了

缺点:1.两个数符号不同要做加法,需要判断两数大小

​ 2.加法要用减法器实现

3.补码
(1)补数
  • 一个负数可用它的正补数来代替,而这个正补数可以用模加上负数本身求得。

  • 一个正数和一个负数互为补数时,它们绝对值之和即为模数。

  • 正数的补数即该正数本身。

![截屏2023-10-23 11.21.18](/Users/sunqiuyan/Desktop/markdown/截屏2023-10-23 11.21.18.png)

![截屏2023-10-23 11.32.43](/Users/sunqiuyan/Desktop/截屏2023-10-23 11.32.43.png)

变形补码:2^2^+x

求补码—取反+1

+y->-y补码 =>连同符号位每位取反再加1

4.反码

求反码-取反不加一

![截屏2023-10-23 17.17.56](/Users/sunqiuyan/Desktop/markdown/截屏2023-10-23 17.17.56.png)

![截屏2023-10-23 17.18.02](/Users/sunqiuyan/Desktop/markdown/截屏2023-10-23 17.18.02.png)

5.移码

![截屏2023-10-23 19.19.52](/Users/sunqiuyan/Desktop/截屏2023-10-23 19.19.52.png)

相当于补码符号位取反后的结果

6.总结

最高位均为符号位,用“.”“,”分隔小数和整数

真值为正,表示相同

真值为负,原码,补码取反加1,反码取反

![截屏2023-10-23 19.00.41](/Users/sunqiuyan/Desktop/截屏2023-10-23 19.00.41.png)

6.2定点表示和浮点表示

1.定点表示

只能表示纯整数或者纯小数,若不是,需要乘上一个比例因子

2.浮点表示

7.指令系统

8.CPU的结构和功能

9.控制单元的功能

10.控制单元的设计

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注