码迷,mamicode.com
首页 > 其他好文 > 详细

大学生的自我救赎:计算机组成原理大纲

时间:2020-06-25 19:22:02      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:大小   jmp   两种   控制   算数   存储空间   图片   访问   block   

计算机组成原理

走在前面
计算机的概念
计算机组成的概念

计算机系统概论

定义:

计算机中的CPU是指运算器、控制器和cache
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620184600892.png =250x280)

计算机系统的层次结构

级数 分类
0 硬联逻辑级机器
1 微程序级机器
2 传统级机器
3 操作系统级机器
4 汇编语言级机器
5 高级语言级机器
6 应用语言级机器

运算方法和运算器

定义

  • 真值
  • 机器数
  • 机器码

进制转换

  • 非十进制转换为十进制:按权展开后相加

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620185250872.png =400x30)

  • 十进制转换为非十进制:整数部分除基取余法;小数部分乘基取整数法

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620185429597.png =200x160)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620185503643.png =200x130)

数据表示方法

定点表示法

  • 定点纯小数:符号位 + 量值

纯小数的表示范围:$-(1-2^{-n}) <= x <= 1-2^{-n}$

  • 定点纯整数:符号位 + 量值

纯整数的表示范围:$-(2^n - 1) <= x <= 2^n - 1$

浮点表示法

$N=R^E.M$
基数R、比例因子E、尾数M
机器中的表示:

阶符 阶码 数符 尾数
  • 机器零
    阶码E为0并且尾数M也为0
    由符号位决定正零还是负零
  • 无穷
    阶码E全为1并且尾数M全为0
    由符号位决定正负无穷
IEEE 754标准
  • 符号位, 1位(0表示正, 1表示负)
  • 尾数, 23位, 用小数表示
  • 阶码,8位,用移码方式来表示正负指数
    $X=(-1)^S\times (1.M)\times 2^(E-127)$
    $e=E-127$
浮点数转换

解法:

  1. 首先将浮点数转化为二进制数
  2. 规格化
  3. 计算S, E,M
  4. 按标准整合为二进制存储格式
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620191949485.png =400x280)
数的机器码表示

-原码

存在两个0,最高位表示符号位

  • 补码

正数和原码同,负数,反码加一

  • 反码

存在两个零, 后面位为原码的反

  • 移码

传统定义为$(-2^n <= x <= 2^n)$
IEEE标准为(-127~128)阶码中除去全零全一为(-126~127)

运算方法

符号位也要参与运算,进位舍弃

  1. 0检查
  2. 比较阶码大小完成对阶
  3. 尾数求和运算
  4. 结果规格化
  5. 舍入处理
  6. 溢出处理

运算器

定点运算器

全加器:基本的二进制加法/减法器
多功能算术/逻辑运算单元(ALU)

浮点运算器

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620201805290.png =400x220)

多层次的存储器

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620202817232.png =300x150)

定义

  • 处理机字
  • 处理机字长
  • 字存储单元
  • 字节存储单元
  • 存储容量
  • 存取时间
  • 存储周期

SRAM(静态读写存储器)

存储器的读写周期波形图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620204158776.png =400x280)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620204221374.png =400x280)
CS:判断是否允许选片
OE:可读
WE:可写

DRAM(动态读写存储器)

DRAM 的刷新

  • 集中式
    DRAM中的所在行在每个刷新周期中都被刷新

  • 分散式

隔相同时间间隔后刷新一行
在刷新周期中刷新完全部行

  • 异步式

存储器容量的扩充

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620205604954.png =400x280)
地址线分片

设计计算机主存储器
数据线分片、地址线分片
若规定地址
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620205804701.png =150x120)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620205743478.png =400x280)

并行存储器

双端口存储器
双端口存储器是指同一个存储器具有两组相互独立的读写控制线路,是一种高速工作的存储器。
多模块交叉存储器
交叉存储器实质上是一种多模块存储器,它用资源重复方式执行多个独立的读写操作

基本结构
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019062021060570.png =400x280)
$t = T+(m-1)\tau$
$W = q/{t_1}$
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620210957917.png =400x280)

cache(程序访存的局部性原理)

程序中的大部分可放在容量较大工作速度较慢及成本较低的慢速存储部件中,而只需将其中的一小部分(如10%-20%)存放在高速的存储部件中,这便是虚存、Cache高速缓存得以实现的具体根据。

Cache
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620211206677.png =400x280)
CPU与Cache之间数据交换以字为单位
Cache与主存之间的数据交换是以块为单位

命中率
$h = N_c / {N_c +N_m}$
平均访问时间
$t_a = ht_c +(1-h)t_m$
访问效率
$r = t_m / t_c$主存慢于cache的倍率
$e= t_c / t_a$
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190620211712264.png =400x280)

主存与cache之间的地址映射

  • 全相联映射方式
  • 直接映射方式
  • 组相联映射方式

替换策略
常用:最不经常使用法(LFU),近期最少使用法(LRU),随机替换

写操作策略
常用:写回法,全写法,写一次法

虚拟存储器

虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。
它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。
它指的是主存-外(辅)存层次。以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间

指令系统

  • 微指令
    微命令的组合,属于硬件
  • 机器指令
    简称为指令,每一条指令可完成一个独立的算术运算或者逻辑运算操作
  • 宏指令
    由若干机器指令组成的软件指令,属于软件
  • 指令系统
    一台计算机中所有机器指令的集合

指令格式

[操作码字段OP,地址码字段A]

  • 零地址指令
    [OP]:停机、清楚
  • 一地址指令
    [OP,A]:累加寄存器
  • 二地址指令
    [OP,A1,A2]:
    A1存放操作结果的地址
    SS RS RR
    慢<-快
  • 三地址操作数
    [OP, A1, A2, A3]
    A1被操作数地址(源操作数地址)
    A2操作数地址(终点操作数地址)
    A3 存放结果的地址

指令字长度
一个指令字中包含二进制代码的位数

  • 单字长指令
  • 半字长指令
  • 双字长指令
    多字长指令能够提供足够的地址来解决访问内存任何单元的寻址问题,缺点为必须两次或者多次访问内存来取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。

等长指令字结构
变长指令字长度

指令助记符

指令和数据的寻址方式

指令和操作数都在存储器中的地址

指令寻址方式

  • 顺序寻址方式
    使用程序计数器来计数指令的顺序号,该顺序号就是指令在内存中的地址
  • 跳跃寻址方式
    下条指令的地址码由本条指令给出,程序计数器中的内容也做出相应的改变
    可以实现程序转移或者构成循环结构,缩短程序长度

操作数寻址方式

  • 隐含寻址
    专用寄存器
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190621122722670.png =150x120)
  • 立即寻址
    地址字段直接指出操作数本身而不是操作数的地址
  • 直接寻址
    根据操作数地址从内存中找出操作数
  • 间接寻址
    地址字段并不是真正的地址而是操作数地址的指示器
    单元的内容才是操作数的有效地址
  • 寄存器寻址
    操作数放在CPU的通用寄存器中的寻址方式
  • 寄存器间接寻址
    指令格式中的寄存器中存操作数的地址
  • 偏移寻址
    把直接寻址方式和寄存器寻址方式结合
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190621123624403.png =300x250)
  • 段寻址方式
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190621124156167.png =250x160)
  • 堆栈寻址
  • Pentium寻址方式

中央处理器

CPU的功能和组成

是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

  • 指令控制
    程序的顺序控制
  • 操作控制
    操作信号的控制
  • 时间控制
    对各种操作实施时间上的定时
  • 数据加工
    对数据进行算数运算和逻辑运算处理数据

CPU组成
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190621152156285.png#pic_center =300x280)
主要寄存器

  • 指令寄存器
  • 程序计数器
  • 地址寄存器
  • 数据寄存器
  • 累加寄存器
  • 程序状态寄存器

微操作与数据通路

操作控制器
硬布线控制器
微程序控制器
前两种方式

时序发生器

指令周期

  • 指令周期
    CPU从内存中取一条指令并执行这条指令的时间和

  • CPU周期
    机器周期。从内存中读取一条指令字的最短时间
    每个机器周期完成一个基本操作

  • 时钟周期

  • mov指令周期

  1. 取指令阶段
    程序计数器PC中装入第一条指令地址;
    PC的内容放到地址总线上,对指令进行译码,启动读命令
    从主存中读出该条指令,并通过指令总线送往指令寄存器
    程序计数器加1,为取下一条指令做好准备。
    指令寄存器中的操作码被译码或测试;
    CPU识别出是那条指令,至此,取指令阶段即告结束。
  1. 执行指令阶段
    控制器送出相应的控制信号完成指令的执行;
  • LAD指令周期
  • STO指令周期
  • JMP指令周期

方框语言表示指令周期

时序信号

时序信号产生器
一、功能
产生时序信号。
二、构成
时钟源
环形脉冲发生器
节拍脉冲和读写时序
译码逻辑
启停控制逻辑

控制方式
同步控制
异步控制
联合控制

微程序控制器

将微操作序列代码化,存放于控制存储器中
执行指令时,依次读取微指令,产生控制信号

流水CPU

== 并行处理技术 ==

总线系统

总线是构成计算机系统的互连机构,是多个系统功能部件之间进行数据传送的公共通路。

整个总线分成如下部分:
1 数据传送总线: 由地址线、数据线、控制线组成。
2 仲裁总线: 包括总线请求线和总线授权线。
3 中断和同步总线:用于处理带优先级的中断操作,包括中断请求线和中断认可线。
4 公用线: 包括时钟信号线、电源线、地线、系统复位线以及加电或断电的时序信号线等。

CPU总线
PCI总线
PCI是一个与处理器无关的高速外围总线,又是至关重要的层间总线。它采用同步时序协议 和集中式仲裁策略,并具有自动配置能力。
ISA总线

信息的传送方式
串行传送
并行传送
分时传送

总线接口
功能
控制
缓冲
状态
转换
整理
程序中断

总线的仲裁
为了解决多个主设备同时竞争总线控制权,必须具有总线仲裁部件。
集中式仲裁
分布式仲裁

定时

过程
请求总线,
总线仲裁,
寻址(目的地址),
信息传送,
状态返回(或错误报告)

总线数据传送模式
读、写操作
块传送操作
写后读、读修改写操作
和广播、广集操作
四类模式的数据传送:

大学生的自我救赎:计算机组成原理大纲

标签:大小   jmp   两种   控制   算数   存储空间   图片   访问   block   

原文地址:https://www.cnblogs.com/wykxldz/p/13192431.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!