计算机组成原理——部分速成总结存档

这篇用来存档 基本并不能帮助大家速成 只是博主突击时用来巩固时用的(假装大家都看不见)

教材:《计算机组成原理》唐朔飞版

内容:第四章到第八章不完全总结

chapter 4

存储器

存储器的层次结构:缓存-主存 提高速度 主存地址 实地址 物理地址

                             主存-辅存 提高容量 虚拟存储器 虚地址 逻辑地址

 

2^地址线 * 数据线 =存储容量

半导体存储器芯片的译码驱动方式:线选法 重合法

动态RAM刷新:

  1. 1.       集中刷新

在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读、写操作。存在“死时间

  1. 2.       分散刷新

对每行存储单元的刷新分散到每个存储周期内完成,不存在读写操作死时间,但存取周期长了,整个系统速度降低了

  1. 3.       异步刷新

是两种方式的结合 既可缩短死时间,又充分利用最大刷新间隔为2ms的特点。

海明码:2^k >=n+k+1

              K=3                     1 3 5 7   2 3 6 7   4 5 6 7

              K=4                      3 5 7 9 11      3 6 7 10 11     5 6 7       9 10 11

 

Cache-主存地址映射

直接映射:有固定的映射关系,某一主存块只能固定映射到某一缓存块

              优点:实现简单,只要利用主存地址的某些位直接判断,即可确定所需字块是否在缓存中

缺点:不够灵活。

全相联映射:某一主存块可以映射到任一缓存块

              优点:方式灵活 命中率更高 缩小了块冲突率

              缺点:逻辑电路甚多 成本较高

组相联映射:是直接映射和全相联映射的一中折中。某一主存块能映射到某一缓存组中的任一块

              性能及复杂度介于直接映射和全相联映射之间。

chapter 5

I/O设备与主机信息传送的控制方式

程序查询方式:CPU启动I/O设备后便不断查询I/O设备是否已做好准备。启动I/O设备,CPU便不断查询I/O设备的状态,若查得I/O设备未准备就绪,就继续查询;若查得I/O设备准备就绪,就将数据从I/O接口送至CPU,再由CPU送至主存,一个字一个字地传送,直至全部结束,CPU回到原现行程序。

特点:

  1. 只要一启动I/O设备,CPU便不断查询I/O设备的准备情况,从而终止了原程序的进行,反复查询过程进入“原地踏步
  2. CPU和I/O设备串行工作,CPU效率低

 

程序中断方式:启动I/O设备后,不查询设备是否已准备就绪,继续执行自身程序,当I/O设备准备就绪并向CPU发出中断请求后才给予响应。处理完中断后返回原程序断点处,继续执行原程序

特点:

  1. 不必不断查询I/O设备准备情况,没有“踏步”现象
  2. 中断了现行程序
  3. CPU执行程序和I/O设备准备同时进行,CPU和I/O并行工作(部分)。
  4. 相比程序查询方式提高了CPU利用率

(硬件需增加相应电路,软件必须编制中断服务程序)

过程:

  1. 中断请求、中断判优、中断响应、中断服务(保护现场、中断服务、恢复现场、中断返回)、中断返回
  2. (宏观上CPU与I/O并行工作,微观上CPU中断现行程序为I/O服务)
  3. INTR中断请求触发器           MASR中断屏蔽触发器

D设备准备就绪           EINT允许中断触发器(开中断、关中断)

DMA方式:主存与I/O设备之间有一条数据通路,无需调用中断服务程序,若CPU和DMA同时访存,总是把总线占有权给DMA,DMA窃取或挪用一个存取周期。

特点:

  1. 主存与I/O设备之间有一条数据通路
  2. 不中断现行程序,省去了保护现场和恢复现场
  3. 周期挪用/周期窃取
  4. CPU和I/O并行工作
  5. 相比程序查询方式和程序中断方式更提高了CPU利用率

DMA与主存交换数据的三种方法(优缺点?):

  1. 停止CPU访问主存
  2. 周期挪用
  3. DMA与CPU交替访问

DMA的数据传送过程:

预处理 数据传送 后处理

DMA接口类型:

选择型 多路型

DMA与程序中断方式比较:

chapter 6

无符号数和有符号数,定点表示和浮点表示

X=0时,[+0]原=0,0000      [-0]原=1,0000  [+0][-0]

[+0]补=0,0000      [-0]补=0,0000  [+0][-0]

[+0]反=0,0000      [-0]反=1,1111  [+0][-0]

[+0]移=1,0000      [-0]移=1,0000  [+0][-0]

补码或移码唯一

原码小数点(小数)或逗号(整数)前永远是符号位

[y]补求[-y]补连同符号位,每位取反,末位加一

移码:补码符号位取反

IEEE754: 短实数 符号位1 阶码8 位数23 总位数32

定点运算

有符号数的移位:算术移位              无符号数的移位:逻辑移位

现代计算机使用补码加减法

补码加减法(符号位也做运算,由于模2,溢出丢掉即可):

[A]补+[B]补=[A+B]补          [A-B]补= [A]补+[-B]补  (记得溢出判断)

补码:参与加减的两个数符号相同但与结果符号不同,则溢出

变形补码:结果的符号位不用则溢出,高位为真正的符号

原码一位乘:逻辑移位、移位次数判断结束、n次加法和n次移位

原码两位乘:算术移位、移位次数判断结束、n/2+1次加法和n/2次移位(n为偶)

补码乘法(booth算法,被乘数和乘数符号均任意的情况):

原码乘符号位单独处理,补码乘符号位自然形成

chapter 7

指令的一般格式

操作码:长度固定(集中放在指令字的一个字段内,用于指令字较长的情况)、

长度不固定(分散在指令字的不同字段中,增加译码和分析的难度)、

扩展操作码(位数随地址数减少而增加)

扩展操作码:

地址码(通常是形式地址而不是有效地址):两个源操作数、结果、下一条指令

四地址:四次访存、A1(OP)A2 →A3

三地址:四次访存、A1(OP)A2 →A3、PC代替A4

二地址:四次访存(若结果存于ACC则三次访存)、A1(OP)A2 →A1、结果存于A1

一地址:两次访存、ACC(OP)A1→ACC、ACC代替原A1

零地址:无地址码

指令字长:取决于操作码长度、操作数地址的长度、操作数地址的个数

指令字长固定:指令字长=存储字长

指令字长可变:按字节的倍数变化

寻址方式

寻址方式:确定本条指令地址的数据地址、确定下一条将要执行的指令地址,包括指令寻址数据寻址

指令寻址:顺序寻址、跳跃寻址

数据寻址:

  1. 立即寻址:形式地址A内放操作数(立即数)、指令执行阶段不访存、A的位数限制了立即数的范围
  2. 直接寻址:形式地址内放有效地址、执行阶段只访存一次、操作数的地址不易修改(必须修改A)
  3. 隐含寻址:操作数的地址隐含在操作码中(例如MUL被乘数在AX或AL中)、指令字中少了一个地    址字段所以可以缩短指令字长
  4. 间接寻址:有效地址由形式地址间接提供、指令执行阶段访存两次以上、指令执行时间变长、扩大寻址范围、便于编制程序
  5. 寄存器寻址:有效地址即为寄存器编号、执行阶段不访存 只访问寄存器 执行速度快、寄存器个数有限 可缩短指令字长
  6. 寄存器间接寻址:有效地址在寄存器中 操作数在存储器中 执行阶段访存、便于编制循环程序
  7. 基址寻址
    •   采用专用的寄存器做基址寄存器(隐式):扩大寻址范围、便于程序搬家、BR内容由操作系统或管理程序确定、程序执行过程中BR中内容不变,A的内容可变
    •   采用通用的寄存器做基址寄存器(显式):用户指定哪个寄存器做基址寄存器、基址寄存器的内容由操作系统决定、在程序执行过程中R0内容不变,形式地址A可变
  8. 变址寻址:IX为变址寄存器(通用寄存器也可以作为变址寄存器)、可扩大寻址范围、IX内容由用户给定、程序执行过程中IX内容可变、形式地址A不变、便于处理数组问题
  9. 相对寻址:A是相对于当前指令的位移量(可正可负,补码)、A的位数决定操作数的寻址范围、程序浮动、广泛用于转移指令     
  10. 堆栈寻址

RISC的特点

chapter 8

CPU的结构(ALU、CU、寄存器、中断系统)

CPU功能指令控制(控制程序的顺序执行)、操作控制(产生完成每条指令所需的控制命令)时间控制(对各种操作加以时间上的控制)、数据加工(对数据进行算术运算和逻辑运算)、处理中断

CPU的寄存器

  1. 用户可见寄存器(通用寄存器、数据寄存器、地址寄存器、条件码寄存器)
  2. 控制和状态寄存器(控制:PC→MAR→M→MDR→IR,PC可见 状态:状态寄存器放条件码  PSW寄存器放程序状态字)

CU控制单元:产生全部指令的微操作命令部件(两种方法:组合逻辑设计方法(硬连线逻辑)、微程序设计方法(存储逻辑))

指令周期

指令周期=取指周期(取指、分析)+间址周期+执行周期(执行)+中断周期

指令流水

为什么要用指令流水?提高细粒度并行性,开发系统的并行性,提高机器速度——小圆想的,错了不挨打

指令的二级流水:如果指令的执行阶段不访问主存,就可以利用这段时间取下一条指令,使得取下一条指令的操作和执行当前指令的操作同时进行,这就是两条指令的重叠

指令预取:由指令部件取出一条指令,并将它暂存起来,如果执行部件空闲,就将暂存的指令传给执行部件执行。与此同时,指令部件又可取出下一条指令并暂存起来。

如果取值和执行阶段时间上完全重叠,指令周期减半,速度提高一倍。影响效率加倍的因素

  1. 指令执行时间一般大于取指时间。
  2. 当遇到条件转移指令时,下一条指令是不可知的。(用猜测法解决)

影响流水线性能的因素?(看书上的例子)

  1. 结构相关:不同指令争用同一功能部件产生的,也称资源相关

    解决?

    a)       后推法:流水线在完成前一条指令对数据的存储器访问时,暂停(一个时钟周期)取后一条指令的操作

    b)      指令存储器和数据存储器分开,以免取指令和取操作数同时进行时互相冲突

    c)       指令预取技术,适用于访存周期短的情况

  1. 数据相关:各条指令因重叠操作,可能改变对数据的读写访问顺序

    解决?

    a)       后推法:遇到数据相关时,就停顿后继指令的运行,直至前面指令的结果已经生成

    b)      定向技术(旁路技术、相关专用通路技术):不必等某条指令的执行结果送回到寄存器后,再从寄存器中取出该结果,作为下一条指令的源操作数,而是直接将执行结果送到其他指令所需要的地方放。

  1. 控制相关:由转移指令引起

    解决?(了解

    尽早判别法,转移预测法,加快和提前生成条件码,提高猜准率

数据相关分类

流水线性能指标:吞吐率、加速比、效率

 

流水线中的多发技术:

1.  超标量技术:每个时钟周期内同时并发多条独立指令,即以并行操作方式将两条或两条以上指令编译并执行

要求配置多个功能部件,要求通过编译优化技术把可并行的指令搭配起来,硬件不能调整指令执行顺序

2.       超流水技术:将一些流水线寄存器插入到流水线段中,好比将流水线再分段。使得一个时钟周期内一个功能部件使用多次

硬件不能调整指令的执行顺序,靠编译程序解决优化问题

3.       超长指令字技术:由编译程序在编译时挖掘出指令间潜在的并行性后,把多条能并行操作的指令组合成具有多个操作码字段的超长指令

采用多个处理部件。对优化编译器的要求高,对Cache容量要求大。

 

中断系统

中断系统

[Zhōngduàn xìtǒng]

Interrupt System

原文地址:https://www.cnblogs.com/zhanjiahui/p/12234519.html

时间: 2024-08-26 09:18:05

计算机组成原理——部分速成总结存档的相关文章

5. 蛤蟆的计算机组成原理笔记五输入输出系统

5. 蛤蟆的计算机组成原理笔记五输入输出系统 本篇名言:"质朴却比巧妙的言辞更能打动我的心. --莎士比亚" 欢迎转载,转载请标明出:http://blog.csdn.net/notbaron/article/details/48037245 1.  输入输出系统 1.1             I/O 软件 (1) I/O 指令 CPU 指令的一部分 (2) 通道指令 通道自身的指令 1.2             I/O设备与主机信息传送的控制方式 1. 程序查询方式 2. 程序中

3. 蛤蟆的计算机组成原理笔记三系统总线

3. 蛤蟆的计算机组成原理笔记三系统总线 本篇名言:"公正,一定会打倒那些说假话和假作证的人. --赫拉克利特" 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/47988545 1.  总线 总线是连接各个部件的信息传输线,是 各个部件共享的传输介质. 1.1             面向CPU 的双总线结构框图 1.2             单总线结构框图 1.3             以存储器为中心的双总线

计算机组成原理_第四版课后习题答案(完整版)

计算机组成原理_第四版课后习题答案(完整版) ?第一章 1.?比较数字计算机和模拟计算机的特点. 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的: 数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行. 两者主要区别见P1?表1.1. 2.?数字计算机如何分类?分类的依据是什么? 解:分类: 数字计算机分为专用计算机和通用计算机.通用计算机又分为巨型机.大型机. 中型机.小型机.微型机和单片机六类. 分类依据:专用和通用是根据计算机的效率.速度.价格.运行的经济性和适应性来划

《计算机组成原理》知识点复习

                                                                             <计算机组成原理>知识点复习 <一>计算题 1. [x]原=0.11001110           [-x]原=(1.11001110) [-x]反=(1.00110001)      [-x]补=(1.00110010) 2. x=-0.1011=11011,x补=10101 y=-0.0101=10101,y补=11011,

计算机组成原理答疑--来源于南京大学课件

1.数据通路宽度.机器字长.“字”宽.存储单元宽度.编址单位.总线宽度.指令字长各指什么?它们之间有何关系? 答:在计算机内部,有指令和数据两大类信息.指令和数据都以二进制形式存放在存储器中,运行程序时,需要把指令和数据从存储器读出,通过总线传输到CPU,然后,CPU再通过执行指令来对操作数进行相应的运算,最后把结果数据送到寄存器或存储器中.所以,在设计或使用计算机过程中,要涉及到:指令和数据在存储器中按什么长度存放:写入或读出时按什么长度存取:在总线上传输时同时传送多少位:数据和指令送到CPU

软考-计算机组成原理、体系机构与网络安全

计算机组成原理与体系结构,在软考中并不是分值很重的部分,但是知识点比较散,同样的一张图同大家分享. 其中,计算机的组成共分五大部分:运算器.存储器.控制器.输入设备.输出设备五大部分. 计算机的体系结构包括流水线.码制.缓存等. 数据的安全一直在计算机发展过程中是一个非常重要的方面,关于计算机安全性与可靠性,同样总结了一张图. 都说一张图胜过千言万语.软考要考的知识点很多,大家要在看书的同时,通过图编织知识网,以加深对知识的了解.

计算机组成原理——微指令的控制字段

计算机组成原理——微指令的控制字段 1. 综述 机器语言执行时被解释为"由若干微指令组成的微程序",每条微程序又含若干微命令. 微指令又分:水平型微指令和垂直型微指令.参见:http://blog.csdn.net/qust_waiwai/article/details/18632749(水平型微指令与垂直型微指令).微指令-百度百科. 水平型微指令的一般结构:控制字段 判别测试字段 下地址字段 控制字段的位数: 简单的说,如第二题,编码7个.3个.12个.5个.6个微命令分别需要3.

4. 蛤蟆的计算机组成原理笔记四存储器

4. 蛤蟆的计算机组成原理笔记四存储器 本篇名言:"给人幸福的不是身体上的好处,也不是财富,而是正直和谨慎. --德谟可利特" 继续来学习下存储器大概. 欢迎转载,转载请标明出:http://blog.csdn.net/notbaron/article/details/48012237 1.  存储介质分类 (1) 半导体存储器 易失的TTL .MOS (2) 磁表面存储器 磁头.载磁体 (3) 磁芯存储器 硬磁材料.环状元件 (4) 光盘存储器 激光.磁光材料 2.  按存取方式分类

计算机组成原理基本概念汇总

计算机组成原理是计算机科目中偏向于硬件的,我真的没学好,唯一做的好的笔记还是比较完整的.哈哈.这门课真的是博大精深.现在把组成原理的基本知识点与大家分享,希望大家在这门课的学习中少走弯路. 计算机系统概论 把以软件为主实现的机器称为虚拟机器:把由硬件和固件实现的机器称为实际机器. 高级语言的翻译程序有编译程序和解释程序两种. 计算机系统的层次结构从低到高: (1)微程序机器(第0级). (2)传统机器(第1级). (3)操作系统机器(第2级). (4)汇编语言机器(第3级). (5)高级语言机器