《计算机组成原理》王道考研课程笔记
《计算机组成原理》王道考研课程笔记
|惜取少年时
士不可以不弘毅,任重而道远。
展开
-
计算机组成原理笔记目录(2019 王道考研)
计算机组成原理笔记目录(2019 王道考研)第一章 计算机系统概论1.1 计算机发展历程1.2.1 计算机硬件的基本组成1.2.2 认识各个硬件部件1.2.3 计算机系统的层次系统1.3 计算机的性能指标第二章 计算机的运算方法2.1 数制与编码2.2 定点数的表示与运算...原创 2020-09-13 16:26:49 · 4503 阅读 · 4 评论 -
7.4 I/O方式
7.4 I/O方式本节主要内容 1.程序查询 2.程序中断 3.DMA方式1.程序查询 1.程序查询方式流程图 2.程序查询方式接口结构 受到寄存器的限制,一次只能传输一个字的数据 3.例题 4.程序查询的主要特点、优点和缺点 1.主要特点:CPU有“踏步等待现象”,CPU与I/O串行工作 2.优点:接口设计简单、设备量少 3.缺点:CPU在信息传送过程中要花费很多时间用原创 2020-09-27 15:08:57 · 364 阅读 · 0 评论 -
7.3 I/O接口
7.3 I/O接口本节主要内容 1.主要功能 2.组成 3.I/O端口及编址 1.I/O接口的功能 I/O接口(I/O控制器)是主机与外设之间的交接界面, 通过接口可以实现主机和外设之间的信息交换。 1.接口的功能(要解决的问题) 1.实现主机和外设的通信联络控制 2.进行地址译码和设备选择 3.实现数据缓冲 4.信号格式的转换 5.传送控制命令和状态信息原创 2020-09-27 12:23:59 · 319 阅读 · 0 评论 -
7.2 I/O外部设备
7.2 I/O外部设备本节主要内容 1.输入设备:键盘、鼠标 2.输出设备:显示器、打印机 3.外存储器:磁盘存储器、磁盘阵列、光存储器、SSD等外部设备也称为外围设备,是除了主机以外的、能直接或间接与计算机交换信息的装置输入设备: 用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。输出设备 用于将计算机系统的信息输出到计算机外部进行显示、交换等的部件。 显示器和打印机是最基本的输出设备外存设备 是指除了原创 2020-09-27 12:22:18 · 409 阅读 · 0 评论 -
7.1 I/O基本概念
7.1 I/O基本概念本节主要内容 1.演变过程 2.I/O系统的组成 3.I/O控制方式简介 1.I/O系统的演变过程2.I/O系统的组成 一般来说,I/O系统由I/O软件和I/O硬件两部分构成 1.I/O软件 包括驱动程序、用户程序、管理程序、升级补丁等 通常采用I/O指令和通道指令实现CPU和I/O设备的信息交换 1.I/O指令(CPU指令的一部分) 命令格式:操作码|命令原创 2020-09-27 12:19:01 · 452 阅读 · 0 评论 -
6.4 总线标准
6.4 总线标准易于实现系统的模块化设计1.总线标准 1.系统总线标准:ISA、EISA、VESA、PCI、PCI-Express等。 2.设备总线标准:IDE、AGP、RS-232C、USB、SATA、SCSI、PCMCIA等. 3.局部总线标准:在ISA总线和CPU总线之间增加了一级总线或管理层。 如PCI、PCI-E、VESA、AGP等,可以节省系统的总带宽。2.两个概念 1.即插即用 2.热拔插:带电拔插3.系统总线标准ISA和E原创 2020-09-27 12:17:27 · 4053 阅读 · 2 评论 -
6.3 操作与定时
6.3 操作与定时本节解决的问题是占用总线的一对设备如何进行数据传输?1.总线周期的四个阶段 1.申请分配阶段 由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定 将下一传输周期的总线使用权授予某一申请者。 也可将此阶段细分为传输请求和总线仲裁两个阶段 2.寻址阶段 获得使用权的主模块通过总线发出本次要访问的从模块的地址及相关命令, 启动参与本次传输的从模块 3.原创 2020-09-27 12:12:42 · 229 阅读 · 0 评论 -
6.2 总线仲裁
6.2 总线仲裁1.前言 1.仲裁要解决的问题:如何解决多个多个设备争用总线的问题? 2.同一个时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接受数据 3.主设备与从设备 主设备:获得总线控制权的设备 从设备:被主设备访问的设备,只能响应从主设备发来的各种总线命令。 4.为什么要仲裁? 总线作为一种共享设备,不可避免地会出现同一时刻有多个主设备竞争总线控制权问题 2.总线仲裁的定义: 多个主设原创 2020-09-27 11:41:57 · 628 阅读 · 0 评论 -
6.1 总线概述
6.1 总线概述1.总线是一组能为多个部件分时共享的公共信息传送线路 1.共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过 这组线路分时共享。 2.分时是指同一时刻只允许由一个部件向总线发送信息,如果系统中有多个部件, 则它们只能分时地向总线发送信息。2.为什么要用总线? 1.早期计算机外部设备少时,大多采用分散连接方式,不易实现随时增减外部设备。 2.为了更好地解决I/O设备和主机之间连接的灵活性问题,计算机的结构从分原创 2020-09-26 14:04:31 · 879 阅读 · 0 评论 -
5.5 流水线
5.5 流水线1.指令流水线的定义 一条指令的执行过程可以分成多个阶段(或过程) 根据计算机的不同,具体分法也不同。 1.设取指、分析、执行3个阶段的时间都相等,用t表示,按以下几种执行方式分析n条指令的执行时间。 1.顺序执行方式 总耗时T=n*3*t 传统冯诺依曼机采用顺序执行方式,又称串行执行方式。 优点: 控制简单,硬件代价小 缺点原创 2020-09-26 14:02:32 · 747 阅读 · 0 评论 -
5.4 控制器
5.4 控制器本节主要内容 1.控制器如何指挥整个系统的工作? 2.控制器的设计 1.硬布线(不是重点) 2.微程序 1.控制器的结构和功能2.控制器是计算机控制系统的指挥中心,控制器的主要功能有: 1.从主存中取出一条指令,并指出下一条指令在主存中的位置 2.对指令进行译码和测试,产生相应的操作控制信号,以便启动规定的动作 3.指挥并控制CPU、主存、输入输出设备之间的数据流动方向3.控制器的输入和输出4.C原创 2020-09-26 14:00:08 · 286 阅读 · 0 评论 -
5.3 数据通路功能和基本结构
5.3 数据通路功能和基本结构数据通路:数据在功能部件之间传送的路径。研究数据通路时需要关注的问题 1.信息从哪里开始? 2.中间经过哪些部件? 3.最后传到哪里?由控制部件产生的控制信号建立数据通路数据通路的基本结构: 1.CPU内部单总线方式 2.CPU内部多总线方式 3.专用数据通路方式 内部总线是指:同一部件,如CPU内部链接个寄存器和运算部件之间的总线系统总线是指:同一台计算机系统的各个部件(如CPU、内存、通道和各类I/O接口)原创 2020-09-26 13:57:03 · 850 阅读 · 1 评论 -
5.2 指令执行过程
5.2 指令执行过程1.指令周期:CPU从主存中取出并执行一条指令所需要的的全部时间 1.指令周期常常用若干个机器周期来表示,机器周期又叫CPU周期 2.一个机器周期又包括若干个时钟周期(也称为节拍、T周期或CPU时钟周期) 他是CPU操作的时间基本单位 3.每个指令周期内机器数可以不等,每个机器周期内的节拍数也可以不等 因为每个指令的任务是不一样的2.指令周期流程 1.四个工作周期都有CPU访存操作,只是访存的目的不同。原创 2020-09-26 13:55:40 · 1033 阅读 · 0 评论 -
5.1 CPU的功能和基本结构
5.1 CPU的功能和基本结构本章总览 1.CPU的功能和结构 1.需要提供哪些功能? 2.对应这些功能需要有哪些结构? 2.指令执行过程 1.指令周期的概念:一条指令的执行分为不同的阶段 2.数据流:不同阶段要求依次访问的数据序列 3.指令执行方案:如何安排多条指令的执行? 3.数据通路的功能和基本结构 1.如何设置部件之间的连接路径? 2.描述指令执行过程中信号和数据原创 2020-09-26 13:52:39 · 657 阅读 · 0 评论 -
4.4 CISC和RISC
4.4 CISC和RISC1.CISC(Complex Instruction Set Computer,复杂指令集) 设计思路:一条指令完成一个复杂的基本功能 代表:×86架构,主要用于笔记本、台式机 主要用于性能要求比较高、比较大的平台上2.RISC(Reduced Instruction Set Computer,精简指令集) 80-20规律:典型程序中80%的语句仅仅使用处理机中的20%的指令 设计思路:一条指令完成一个基本“动作”原创 2020-09-26 13:47:44 · 206 阅读 · 0 评论 -
4.3 数据寻址
4.3 数据寻址操作数类型 1.地址(无符号数) 2.数字 定点数、浮点数、十进制数(BCD码) 3.字符 ASCII码 4.逻辑数 逻辑运算1.数据寻址指令格式2.数据寻址方式--1 1.立即寻址 形式地址就是操作数本身,又称为立即数,一般使用补码表示 2.直接寻址 形式地址就是操作数的真实地址EA=A 3.间接寻址 形式地址不是操作数的真正地址,而是操作数真实地址原创 2020-09-26 13:46:49 · 637 阅读 · 0 评论 -
4.2 指令寻址
4.2 指令寻址1.数据存放的总结 1.按字节编址:每个字节存储单元都有一个地址编号 2.按字编址:每个字存储单元对应一个地址编号 3.按字节寻址:给出一个字节地址,就可以取出长度为一个字节的数据 按字地址寻址的好处是:一次可以取出一个字节大小的数据 4.按字地址寻址:给出一个字地址,可以取出长度为一个字的数据 每个字最小的字节地址作为字地址 每次只能取出一个字的数据,而不能取出一个字节的数据 5.大端方式与小端方式原创 2020-09-26 13:42:55 · 368 阅读 · 0 评论 -
4.1 指令格式
4.1 指令格式本章总览 1.指令格式 如何用二进制代码表示指令 2.指令寻址方式 给出下一条指令的地址 给出要操作的对象的地址 3.CISC和RISC 两种设计方向1.指令(又称机器指令) 是提示计算机执行某种操作的命令,是计算机运行的最小功能单位 一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。 注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。2.指令格原创 2020-09-26 13:41:47 · 585 阅读 · 0 评论 -
3.8 Cache与主存的地址映射方式、替换算法及写策略
3.8 Cache与主存的地址映射方式、替换算法及写策略本节主要内容 1.主存中的快放到Cache中的哪个位置? 方式1:空位随意放:全相联映射 方式2:对号入座:直接映射 方式3:按号分组,组内随意放:组相联映射 2.对于方式1,Cache满了如何处理?对于方式2和3,对应位置被占用了如何处理? 四种策略 1.随机(RAND)算法 2.先进先出(FIFO)算法 3.近期最少使用原创 2020-09-19 23:26:48 · 1244 阅读 · 0 评论 -
3.7 局部性原理及性能分析
3.7 局部性原理及性能分析前言 使用多模块存储器可以提高存储器的速度,但是优化后的速度与CPU差距依然很大 可以使用更高速的存储元设计,但是这样之后存储器价格变高了,存储容量下降了 后来发现了程序访问的局部性原理: CPU实际访问到的存储器的地方实际上是很小的地方,如果把这个很小的一块地方 放在贵的存储器中,就可以提高整个系统的工作速度 基于局部性原理引入层次化设计理念:“Cache-主存”层次 1.局部性原理 1.空间局原创 2020-09-19 23:26:09 · 333 阅读 · 0 评论 -
3.6 双口RAM和多模块存储器
3.6 双口RAM和多模块存储器前言 CPU运算速度呈指数型增长(摩尔定律) 主存储器的容量呈指数型增长(摩尔定律),数据传输速度呈线性增长 这样导致CPU和主存之间的速度差距越来越大 双口RAM和多模块存储器是提高存储器的工作速度两种方案 原理:使用特殊的存储器的管理结构 1.存取周期 衡量整个住存储器的工作速度,见《3.4 存储器的基本概念》 存取周期实际上是比存取时间长的 提高工作速度的主要思路是把存取周期中的原创 2020-09-19 23:25:37 · 409 阅读 · 0 评论 -
3.5 主存与CPU的连接
3.5 主存与CPU的连接1.主存容量扩展--位扩展 CS代表片选信号 WE代表读写信号[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xa32FaE1-1600529087510)(img_CC/3.15.png)]2.主存容量扩展--字扩展 1.线选法 片选法的送入主存储器的片选地址只能有一位为1,代表选中该芯片 使用不连续 当使用字扩展的芯片很为n时,用于选择芯片的地址线也应该有n条,即片选地原创 2020-09-19 23:24:58 · 361 阅读 · 0 评论 -
3.4 存储器的基本概念
3.4 存储器的基本概念1.存储器的分类 1.从层次的角度来分 1.高速缓冲存储器(cache) 2.主存储器(主存、内存) 主存和cache可以直接与CPU交换信息 3.辅助存储器(辅存、外存) 2.从存储器使用材料的不同来分 1.磁表面存储器:磁盘、磁带 2.磁芯存储器 3.半导体存储器 4.光存储器:光盘 不同的材料表现出不同的特性,进而表现原创 2020-09-19 23:24:23 · 438 阅读 · 0 评论 -
3.3 半导体存储器ROM
3.3 半导体存储器ROM前言 1.RAM是易失性存储器,掉电之后,里面的内容会丢失 2.辅存在掉电之后,内容不会丢失,但是辅存是不会跟CPU直接通信, 它是通过IO接口连接到主机的 3.ROM在掉电后,内容不会丢失,并且还能跟CPU直接通信 容量不会很大,但是会存储一些关键性的信息 比如:会存储操作系统在辅存的哪个位置,和如何把这个系统通过IO接口调到RAM中 4.主存储器=RAM+ROM ROM负责存放一些原创 2020-09-19 23:23:42 · 337 阅读 · 0 评论 -
3.2 半导体存储器RAM
3.2 半导体存储器RAM(Random Access Memory,RAM)易失性的存储器1.半导体存储芯片的基本结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vaSPnQGl-1600528961353)(img_CC/3.5.png)]2.半导体随机存取存储器 1.SRAM(Static Random Access Memory) 需要同时送行列地址 触发器实现 2.DRAM(Dynamic Random A原创 2020-09-19 23:23:03 · 636 阅读 · 0 评论 -
3.1 主存简单模型及寻址概念
3.1 主存简单模型及寻址概念本章的主要内容存储系统 1.存储器与CPU的协同工作(重点) 1.存储器的简单模型及寻址的概念 2.主存与CPU的连接 3.双口RAM和多模块存储器 4.高速缓冲存储器 5.虚拟存储器 2.半导体存储器 1.存储芯片的基本结构 2.SRAM、DRAM的工作原理 3.ROM的特点和基本类型 3.基本概念 1.分原创 2020-09-19 23:22:09 · 896 阅读 · 0 评论 -
2.4 算术逻辑单元设计
2.4 算术逻辑单元设计本节主要内容 1.ALU 1.功能 2.基本结构 2.加法器(ALU核心部件) 1.一位全加器 2.串行加法器 3.并行加法器 1.进位产生原理 2.串行进位 3.并行进位1.ALU(Arithmetic and Logic Unit,算术逻辑单元) 运算器=PSW+X+ALU+ACC+MQ(运算器五大部原创 2020-09-19 00:14:15 · 809 阅读 · 0 评论 -
2.3 浮点数的表示与运算
2.3 浮点数的表示与运算本节主要内容 1.基本格式 2.规格化 3.表示范围 4.IEEE754标准 5.浮点数的加减运算 6.浮点数的强制类型转换1.基本格式[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-auHvBiEU-1600444322324)(img_CC/2.13.png)]2.规格化 规定尾数的最高数位必须是一个有效值 1.左规 当浮点数运算的结果为非规格化时,要进行规原创 2020-09-19 00:08:57 · 466 阅读 · 0 评论 -
2.2 定点数的表示与运算
2.2 定点数的表示与运算本节内容 1.定点数的表示 无符号数 有符号数:原码、补码、反码、移码 2.定点数的运算 移位、加减、溢出判断、乘除、强制类型转换 1.无符号数与原码 1.无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值 取值范围:0~2^无符号位数-1 **有符号数与小数怎么表示? 符号位,定点数 2.纯小数原码原创 2020-09-15 07:57:25 · 893 阅读 · 0 评论 -
2.1 数制、编码和3种校验码
2.1 数制、编码和3种校验码一进制二进制:计算机选择二进制,方便对应到物理器件的状态,高电平、低电平四进制八进制十进制十六进制1.基数:每个数位所用到的不同符号的个数基数大(十进制)基数小(二进制)位数少多运算(乘法为例)100种情况4种情况 基数大(十进制)vs基数小(二进制)位数 少 多运算(乘法为例)100种情况 4种情况2.进制转换 1.任意原创 2020-09-13 16:56:56 · 827 阅读 · 0 评论 -
1.3 计算机的性能指标
1.3 计算机的性能指标1.存储器的性能指标 1.MAR位数反应存储单元的个数(最多支持多少个,实际上可能比这个小) 2.MDR位数=存储字长=每个存储单元的大小 3.总容量=存储单元个数*存储字长(bit) =2^MAR位数*MDR位数(bit)2.CPU的性能指标 1.CPU主频:CPU内数字脉冲信号振荡的频率 CPU时钟周期=1/CPU主频 表示一秒有多少个时钟周期 2.CPI(Clock cycle Per原创 2020-09-13 16:47:02 · 696 阅读 · 0 评论 -
1.2.3 计算机系统的层次结构
1.2.3 计算机系统的层次结构1.计算机系统的层次结构示意图**注解 1.微程序机器M0(微程序指令系统),由硬件直接执行微指令 微指令是什么? 传统机器(用机器语言的机器),执行取数指令,只用执行一段二进制代码 但事实上,这段二进制代码的执行要经过好几步,就像前一节一样,取数指令要经过9个步骤 而这每一个步骤都是一个微指令 2.汇编语言与机器语言一一对应2.三级别的语言 高级语原创 2020-09-13 16:45:43 · 855 阅读 · 0 评论 -
1.2.2 认识各个硬件部件
1.2.2 认识各个硬件部件1.主存储器2.运算器3.控制器1.主存储器的基本组成 主存储器=存储体+MAR+MDR MAR(Memory Address Register,存储地址寄存器) MDR(Memory Data Register,存储数据寄存器) 1.存储体 存储单元:每个存储单元存放一串二进制代码 存储字:存储单元中二进制代码的组合 存储字长:存储单元中二进制代码的位数(通常是:k*8bit)原创 2020-09-13 16:43:33 · 524 阅读 · 0 评论 -
1.2.1 计算机硬件的基本组成
1.2.1 计算机硬件的基本组成1.早期冯诺依曼机的结构2.现代计算机的结构(冯诺依曼机的优化)1.早期冯诺依曼机 ENIAC(手动接线来控制计算) 冯·诺依曼是顾问 首次提出:存储程序: 将指令以二进制代码的形式事先输入计算机的主存储器。 然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令, 直至程序执行结束 第一台采用冯诺依曼结构的计算机EDVAC2.冯诺依曼计算机的组成特点 1原创 2020-09-13 16:32:18 · 649 阅读 · 2 评论 -
1.1 计算机的发展历程
1.1 计算机的发展历程计算机的发展历程 1.什么是计算机系统 2.硬件的发展 3.软件的发展 4.目前的发展趋势1.什么是计算机系统 计算机系统=硬件+软件 软件 1.系统软件 操作系统 数据库管理系统 网络软件 2.应用软件 微信 QQ2.硬件的发展 第一台电子数字计算机:ENIAC(1946) 发展阶段 第一代 1946-1957 电子管 几千-几万 机器语言编程 第二代原创 2020-09-13 16:26:23 · 994 阅读 · 0 评论 -
深入探讨整数的原码与补码
深入探讨整数的原码与补码1.按位取反加一操作用数学公式如何表示? 假设对一个四位二进制数[D4 D3 D2 D1]进行按位取反操作 1111-[D4 D3 D2 D1]即是按位取反操作(1-0=1,即:将0取反;1-1=0,即:将1取反), 然后加上0001即表示加一 2^4=1111+0001 故,按位取反加一操作可以表示为:1111-[D4 D3 D2 D1]+0001=2^4-[D4 D3 D2 D1] 由上例可知,对一个n位二进制数进行按位取反加一操作可以用数学公式表示为:原创 2020-09-13 15:50:12 · 470 阅读 · 0 评论