计算机组成原理

计算机组成原理

第一章

1.1 计算机的发展

计算机系统 = 硬件 + 软件。计算机性能的好坏取决于两者功能的总和。

软件又分为:

  • 系统软件:用于管理整个计算机系统,例如:操作系统、数据库管理系统…
  • 应用软件:按任务需要编制成的各种程序,例如:QQ、微信…

机器字长:计算机一次整数运算所能处理的二进制位数。

硬件的发展:

  • 第一代:电子管
  • 第二代:晶体管
  • 第三代:中小规模集成电路
  • 第四代:大规模、超大规模集成电路

1.2.1 计算机硬件的基本组成

冯诺依曼提出的“存储程序”:将指令以二进制代码的形式事先输入计算机的主存储器,然后按照存储中的首地址执行程序的指令,直到程序执行结束。

冯诺依曼计算机的特点:

  • 五大部件组成
  • 指令和数据以同等地位存在存储器,可以按地址寻访
  • 指令和数据用二进制表示
  • 指令由操作码和地址码组成
  • 存储程序
  • 以运算器为中心
    在这里插入图片描述
    现代计算机:以存储器为中心。cpu = 运算器 + 控制器。在这里插入图片描述

1.2.2 认识各个硬件部件

主存储器的基本组成:
cpu可以读出数据,也可以写入数据。
在这里插入图片描述

运算器的基本组成:
在这里插入图片描述

控制器的基本组成:
在这里插入图片描述

计算机工作过程:
在这里插入图片描述

1.2.3 计算机系统的层次结构

在这里插入图片描述

1.3 计算机的性能指标

在这里插入图片描述

第二章 数据的表示和运算

2.1.1 进位计数制

任意进制——>十进制
基数:每个数码位所用到的不同符号的个数,r进制的基数为r。例如:16进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。
ps:在进行加法运算的时候,要注意是逢几进1。
在这里插入图片描述

二进制<——>八进制、十六进制
八进制就是3个一组,十六进制就是4个一组,不够的填0
在这里插入图片描述
各种进制常见的书写方式除了下标直接标明数字以外,二进制也可以数字后面+B;十进制后面+D;十六进制后面+H,或者前面+0x。
十进制——>任意r进制:对于整数部分:除基取余法,先得到的“余”是整数的低位。对于小数部分:乘基取整法,先得到的“整”是小数的高位。(有的十进制小数无法用二进制精确表示,如:0.3
在这里插入图片描述

可以用拼凑法:先把每个权重写出来,再拼凑。
在这里插入图片描述
真值:实际的带正负号的数值。
机器数:把正负号数字化的数。(例如:原码、反码、补码…)

2.1.2 BCD码

BCD:用二进制编码的十进制。
8421码:用4位数去表示,一一对应。
重点掌握加法运算:先十进制的数相加,如果超出了9,就在二进制基础上再+0110(就是再+6),得到最后的结果。
在这里插入图片描述

其他码:映射规则不一样。
在这里插入图片描述

2.1.3 字符与字符串

字符常见用ASCII码,汉字用国际机码
在这里插入图片描述

2.1.4 奇偶校验码

  • 码字:若干位代码组成的一个字。
  • 两个码字间的距离:两个码字逐位进行比较,具有不同的位的个数。
  • 码距:一种编码方案可能有若干合法码字,各合法码字间的最小距离。(d = 1,无检错能力;d = 2,有检错能力; d >= 3,设计合理,可能具有检错、纠错能力。

奇偶校验就是d = 1,在信息位的首部或尾部加上一个奇偶校验位。

  • 奇校验码:整个校验码中1的个数为奇数。
  • 偶校验码:整个校验码中1的个数为偶数。
  • 有局限性。

偶校验的硬件实现:各个信息进行异或(模2加)运算,得到的结果就是偶校验位。

进行偶校验:所有位进行异或,若结果为1则表明错误。(仍然有局限性,若变换了偶数个,还是看不出来错误。

2.1.5 海明校验码

海明码设计思路:将信息位分组进行偶校验——>多个校验位——>多个校验位标注出错位置。(多个校验位能携带多种状态信息,对/错,错在哪。

海明码求解步骤:

  • 确定校验位数量:2^k >= n + k + 1
  • 确定校验位的分布:校验位Pi放在海明位号为2^(i - 1)的位置上,信息位按顺序放到其余位置
  • 求校验位的值:将信息位的位置序号用k位二进制数表示出来,校验位Pi与位置序号第i位为1的信息位归为同一组,进行偶校验
  • 检错纠错:对P1,P2,P3…所属各个分组进行异或,求得S1,S2,S3…
    • S3S2S1 = 000,则说明无错误
    • 不为000,其值反映出错位置。海明码有1位纠错,2位检错能力,为了区分1位错和2位错,还要添加“全校验位”对整体进行偶校验
      在这里插入图片描述

2.1.6 循环冗余校验码(CRC码)

思想:数据发送、接受方约定一个“除数”,K个信息位+R个校验位作为“被除数”,添加校验位后需保证除法的余数为0,收到数据后,进行除法检查余数是否为0,若非0则说明出错。

在这里插入图片描述在这里插入图片描述

2.2.1 定点数的表示

定点数:小数点的位置固定。
浮点数:小数点的位置不固定。eg:科学计数法
无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。n位的无符号数表示范围为:0~2^n - 1。(通常只有无符号整数,而没有无符号小数

原码
在这里插入图片描述

反码

  • 符号位为0,则反码与原码相同。
  • 符号位为1,则数值位全部取反。

补码

  • 正数的补码 = 原码

  • 负数的补码 = 反码末位 + 1(要考虑进位在这里插入图片描述
    移码

  • 补码的基础上将符号位取反。ps:只能用于整数。

  • 移码表示的整数很方便对比大小。

原码和反码的真值0有两种表示。补码和移码的真值0只有一种表示。补码和移码可以多表示一个负数。

技巧:由[x]补快速求[-x]补:符号位、数值位全部取反,末位+1。
在这里插入图片描述

2.2.2 移位运算

移位:通过改变各个数码位和小数点的相对位置,从而改变各数码位的位权。可用移位运算来实现乘法、除法。

原码的算数移位:符号位保持不变,仅对数值位进行移位。

  • 右移:高位补0,低位舍弃。若舍弃位 = 0,则相当于÷2;若不是,则会丢失精度。
  • 左移:低位补0,高位舍弃。若舍弃位 = 0,则相当于×2;若不是,则会出现严重误差。

反码的算数移位:

  • 正数的反码和原码相同,因此与原码的规则一样。
  • 负数的反码数值位与原码的相反,因此规则如下:
    • 右移:高位补1,低位舍弃。
    • 左移:低位补1,高位舍弃。

补码的算数移位:
在这里插入图片描述

总结
在这里插入图片描述
逻辑移位:可以看作是对“无符号数”的算数移位

  • 右移:高位补0,低位舍弃。
  • 左移:低位补0,高位舍弃。

循环移位
在这里插入图片描述

2.2.3 溢出判断

实际上都是用补码来进行加减运算,通常转换成加法,符号位参与运算。
溢出判断:

  • “正数+正数”产生上溢:正+正=负
  • “负数+负数”产生下溢:负+负=正

方法一:一位符号位
在这里插入图片描述

方法二:一位符号位,根据数据位进位情况来判断
在这里插入图片描述

方法三:双符号位
在这里插入图片描述

符号拓展
在这里插入图片描述

总结
在这里插入图片描述

2.2.4 乘法运算

原码一位乘法实现
在这里插入图片描述

补码一位乘法:
与原码的对比
在这里插入图片描述

手动模拟
在这里插入图片描述

2.2.5 除法运算

手算除法(二进制
在这里插入图片描述

原码除法:恢复余数法
在这里插入图片描述

手算模拟
在这里插入图片描述

原码除法:加减交替法(不恢复余数
在这里插入图片描述

补码除法:加减交替法
在这里插入图片描述

总结
在这里插入图片描述

2.2.6 强制类型转换

在这里插入图片描述

2.2.7 数据的存储和排列

大小端模式
在这里插入图片描述

边界对齐
在这里插入图片描述

2.3.1 浮点数的表示

在这里插入图片描述

浮点数尾数的规格化
在这里插入图片描述

规格化浮点数的特点
在这里插入图片描述

总结
在这里插入图片描述

2.3.2 IEEE 754

标准
在这里插入图片描述

阶码全1、全0
在这里插入图片描述

总结
在这里插入图片描述

2.3.3 浮点数的运算

运算步骤
在这里插入图片描述

舍入
在这里插入图片描述

强制类型转换
在这里插入图片描述

总结
在这里插入图片描述

第三章

3.1 主存简单模型和寻址概念

在这里插入图片描述

存储器芯片的基本结构
在这里插入图片描述

寻址
在这里插入图片描述

3.2.1 半导体存储器RAM

半导体存储芯片的基本结构
在这里插入图片描述

DRAM的刷新:不需要cpu控制;只需要行地址;存储器所有芯片同时刷新。
在这里插入图片描述

3.2.2 半导体存储器ROM在这里插入图片描述

3.2 3 存储器基本概念

存储器的分类
在这里插入图片描述

存储器的性能指标
在这里插入图片描述

存储器层次化结构
在这里插入图片描述

3.3 主存与cpu的连接

主存容量扩展——位扩展
在这里插入图片描述

主存容量扩展——子扩展

  • 线选法在这里插入图片描述
  • 译码片选法在这里插入图片描述

系统程序区用ROM,用户程序区用RAM。
在这里插入图片描述

3.4 双口RAM和多模块存储器

存取周期 = 存取时间 + 恢复时间。
作用:提高存储器的存储速度。(利用恢复时间
双端口RAM
在这里插入图片描述

多模块存储器
在这里插入图片描述

多体并行存储器
在这里插入图片描述

3.5.1 局部性原理及性能分析

局部性原理
在这里插入图片描述

性能分析
在这里插入图片描述在这里插入图片描述

3.5.2 Cache 地址映射

在这里插入图片描述

3.5.3 替换算法及写策略

替换算法
在这里插入图片描述

写策略
在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.6 虚拟存储器

虚拟存储器是个逻辑模型。

  • 功能:用户给出一个地址,叫做虚地址或逻辑地址,虚拟存储器要给出该地址对应的数据。
  • 实现:由辅助硬件将虚地址映射到内存某个单元,主存单元地址叫做实地址或物理地址。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

第四章 指令系统

4.1 指令格式

指令(机器指令):指示计算机执行某种操作的指令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。ps:一台计算机只能执行自己指令系统的指令,不能执行其他系统的指令。

一条指令通常要包括操作码和地址码两个部分。

指令格式——地址码

在这里插入图片描述

指令格式——操作码

  • 定长操作码:n位——> 2^n条指令
  • 扩展操作码:操作码长度可变在这里插入图片描述在这里插入图片描述

操作类型
在这里插入图片描述

4.2.1 指令寻址

数据存放
在这里插入图片描述
边界对齐:起始地址是字长(按字节算)的整数倍。

指令寻址
在这里插入图片描述

4.2.2 数据寻址1

立即寻址
在这里插入图片描述

直接寻址
在这里插入图片描述

间接寻址
在这里插入图片描述

寄存器寻址
在这里插入图片描述

寄存器间接寻址
在这里插入图片描述

隐含寻址
在这里插入图片描述

总结
在这里插入图片描述

4.2.3 数据寻址2——偏移寻址

基址寻址
在这里插入图片描述

变址寻址
在这里插入图片描述

相对寻址
在这里插入图片描述

4.2.4 数据寻址3——堆栈寻址

在这里插入图片描述

4.3 CISC和RISC

在这里插入图片描述

第五章 中央处理器

5.1 CPU的功能和基本结构

cpu的功能
在这里插入图片描述

运算器和控制器的功能
在这里插入图片描述

运算器的基本结构
在这里插入图片描述

控制器的基本结构
在这里插入图片描述

5.2 指令周期的数据流

指令周期
在这里插入图片描述

指令周期流程
在这里插入图片描述

取指周期
在这里插入图片描述

间址周期
在这里插入图片描述

中断周期
在这里插入图片描述

指令执行方案
在这里插入图片描述

5.3.1 数据通路1——cpu内部单总线方式

数据通路:数据在功能部件之间传送的路径。
在这里插入图片描述

5.3.2 数据通路2——专用数据通路

取址周期
在这里插入图片描述

例题
在这里插入图片描述在这里插入图片描述

5.4.1 控制器1——硬布线

控制器的结构和功能
在这里插入图片描述

控制单元的输入和输出
在这里插入图片描述

硬布线控制器
在这里插入图片描述

cpu的控制方式

在这里插入图片描述

安排微操作时序

  • 取指周期在这里插入图片描述
  • 间址周期在这里插入图片描述
  • 执行周期在这里插入图片描述
  • 中断周期在这里插入图片描述

5.4.2 控制器2——微程序

微程序的基本思想
在这里插入图片描述

微程序控制器的基本结构
在这里插入图片描述

控制存储器
在这里插入图片描述

微指令的格式
在这里插入图片描述

微指令的编码方式
在这里插入图片描述

微指令的地址形成方式
在这里插入图片描述

微程序控制的基本概念
在这里插入图片描述

微程序控制单元的设计
在这里插入图片描述

硬布线和微程序的比较
在这里插入图片描述

5.5.1 指令流水线的基本概念及性能指标

指令流水的定义
在这里插入图片描述

流水线的表示方法
在这里插入图片描述

流水线的性能指标:在理想状态下进行的分析:每个阶段花费的时间一样;每个阶段结束后能够立即进入下一个阶段。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

5.5.2 影响流水线的因素和分类

影响流水线的因素
在这里插入图片描述

流水线的分类
在这里插入图片描述

流水线的多发技术
在这里插入图片描述在这里插入图片描述在这里插入图片描述

第六章 总线

6.1.1 概念及分类

总线的定义
在这里插入图片描述

总线的特性
在这里插入图片描述

总线的分类
在这里插入图片描述

  • 按数据传输格式
    在这里插入图片描述- 按总线功能在这里插入图片描述系统总线的结构在这里插入图片描述在这里插入图片描述

四总线简介
在这里插入图片描述

6.1.2 总线的性能指标

总线的性能指标
在这里插入图片描述在这里插入图片描述

6.2 总线仲裁

基本概念
在这里插入图片描述

集中仲裁方式

在这里插入图片描述在这里插入图片描述

小结
在这里插入图片描述

分布仲裁方式

在这里插入图片描述

6.3 总线的操作和定时

总线传输四个阶段
在这里插入图片描述

同步定时方式
在这里插入图片描述

异步定时方式
在这里插入图片描述在这里插入图片描述

半同步通信
在这里插入图片描述

分离式通信
在这里插入图片描述

6.4 总线标准

基本概念
在这里插入图片描述

系统总线标准
在这里插入图片描述

局部总线标准
在这里插入图片描述在这里插入图片描述

设备总线标准
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

第七章

7.1 IO系统基本概念

IO系统的演变过程
在这里插入图片描述

基本组成
在这里插入图片描述

IO方式简介
在这里插入图片描述

7.2 输入输出

在这里插入图片描述

外存储器
在这里插入图片描述

磁盘存储器
在这里插入图片描述在这里插入图片描述

磁盘阵列
在这里插入图片描述

光盘存储器
在这里插入图片描述

7.3 IO接口

接口可以看作两个部件之间的交接部分。
IO接口的功能
在这里插入图片描述

基本结构
在这里插入图片描述

接口与端口
在这里插入图片描述在这里插入图片描述

接口的类型
在这里插入图片描述

7.4.1 程序查询方式

程序流程图
在这里插入图片描述

接口结构
在这里插入图片描述

例题
在这里插入图片描述

7.4.2 中断系统

在这里插入图片描述

中断请求的分类
在这里插入图片描述

中断请求标记
在这里插入图片描述

中断判优的实现

在这里插入图片描述

优先级设置
在这里插入图片描述

中断处理过程——硬件向量法
在这里插入图片描述

单重中断和多重中断
在这里插入图片描述

中断屏蔽技术
在这里插入图片描述

例题(掌握
在这里插入图片描述

7.4.3 程序中断方式

在这里插入图片描述

例题
在这里插入图片描述

7.4.4 DMA方式

DMA控制器的基本功能

在这里插入图片描述

DMA传送过程
在这里插入图片描述

DMA传送方式
在这里插入图片描述

特点
在这里插入图片描述

DMA与中断
在这里插入图片描述

cpu占用情况
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值