Java教程

计算机组成原理与体系结构

本文主要是介绍计算机组成原理与体系结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

计算机组成原理与体系结构

一、计算机结构

1.硬件基本组成

  • 计算机系统是由硬件与软件组成的
  • 计算机系统的基本硬件系统由运算器、控制器、存储器、输入设备、输出设备
  • 运算器与控制器集成为CPU
  • 存储器分内存与外存
  • 输入设备与输出设备统称为外部设备

2.中央处理单元CPU

2.1.组成

运算器、控制器、寄存器组

2.2.CPU的功能

(1)程序控制:CPU通过执行指令来控制程序的执行顺序,这是CPU的重要功能。

(2)操作控制:一条指令功能的实现需要若干操作信号配合来完成,CPU产生每条指令的操作信号并将操作信号送往不同的部件,控制相应的部件按指令的功能要求进行操作。

(3)时间控制:CPU对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。

(4)数据处理:CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利用。所以,对数据的加工出来也是CPU最根本的任务。

(5)CPU还需要对系统内部和外部的中断(异常)做出响应,进行相应的处理。

2.3.运算器
  • 算术逻辑单元ALU:负责处理数据,实现对数据的算术运算和逻辑运算
  • 累加寄存器AC:为ALU提供一个工作区,维持ALU的运算
  • 数据缓冲寄存器DR:对内存储器进行读/写操作时,暂时存放其指令或数据字,将不同时间段的数据分隔
  • 状态条件寄存器PSW:保存由指令运行或测试的结果建立的各种条件码内容
2.4.控制器
  • 指令寄存器IR:当CPU执行一条指令时,先将它从内存储器取到缓冲寄存器中,再送入IR暂存
  • 程序计数器PC:寄存信息、计数功能
  • 地址寄存器AR:保存当前CPU所访问的内存单元的地址
  • 指令译码器ID:对指令中的操作码字段进行分析解释,识别操作
  • 寄存器组
    • 分专用寄存器、通用寄存器

二、数据的表示

1.R进制转十进制

  • R进制转十进制使用按权展开法,其具体操作方式为:将R进制数的每一位数值用R^k形式表示,即幂的底数是R,指数为k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1。

2.十进制转R进制

  • 十进制转R进制使用短除法

3.二进制转八进制与十六进制

4.四种码

  • 原码
  • 反码
  • 补码
  • 移码

  • 正数的原码反码补码都是一样的,负数的反码除符号位以外与原码相反,补码就在反码的基础上加一。

  • 移码用在浮点运算中的阶码,移码是在补码的基础上将最高位取反。

  • 将补码转换为真值:[[X]补]补=[X]原

5.数值的表示范围

n代表的是几位

补码的数值范围会比原码和反码多一个??

假设n=8,原码和反码都是:-127-127,而补码是:-128-127

+0的原码0000 0000 反码0000 0000 补码 0000 0000

-0的原码1000 0000 反码 1111 1111 补码 0000 0000

补码中的-0=+0,所以多出一个负数的位置-,所以最小值为-128

6.浮点数运算

定点数与浮点数

计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分、又有小数部分的数,一般用浮点数表示。

1、定点数

定点整数:小数点的位置固定在最低位的右边,不占位
定点小数:小数点的位置固定在符号位与最高数值位之间,表示一个纯小数。
2、浮点数
用类似科学计数法来表达,即
N=M*Re
M称为尾数,R称为基数,e为阶码(指数)
比如 1001.101 的规范浮点数表达为 1.001101 ×23

浮点数利用指数达到了浮动小数点的效果,从而灵活地表达更大范围的实数。

原码定点整数-(-1+2(n-1)) - +(-1+2(n-1)),定点小数-(1-2(1-n)) - +(1-2(1-n))

反码定点整数-(-1+2(n-1)) - +(-1+2(n-1)),定点小数-(1-2(1-n)) - +(1-2(1-n))

补码定点整数-2(n-1) - +(-1+2(n-1)),定点小数-1 - +(1-2^(1-n))

移码定点整数-2(n-1) - +(-1+2(n-1)),定点小数-1 - +(1-2^(1-n))

三、Flynn分类法

四、CISC与RISC

五、流水线技术

1.概念

  • 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,,以提高各部件的利用率和指令的平均执行速度。

2.流水线计算

①理论公式:(2+2+1)ns+(100-1)*2 ns=203 ns

②实践公式:(3+100-1)*2=204 ns (其中的3是分成取指,分析,执行三段)

3.流水线吞吐率计算

  • 流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率的最基本的公式如下:

  • 流水线最大吞吐率:

指令条数是100,流水线执行时间是203ns,所以TP=100/203=49%

4.流水线的加速比

  • 完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。计算流水线加速比的基本公式如下:

不适用流水线执行时间=(2+2+1)*100=500ns

使用流水线执行时间=203ns

S=500/203

5.流水线的效率

  • 流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比

其实是计算图中阴影的面积占总面积的比值

六、存储系统

1.层次化存储结构

2.Cache概念

  • Cache的功能:提高CPU数据输入输出的速率,突破冯·诺依曼瓶颈,即CPU与存储系统间数据传送带宽限制。
  • 在计算机的存储系统体系中,Cache是访问速度最快的层次。
  • 使用Cache改善系统性能的依据是程序的局部性原理。

3.局部性原理

  • 时间局部性
  • 空间局部性
  • 工作集理论:工作集是进程运行时北频繁访问的页面集合

4.主存-分类

5.主存-编址

(1)一般是大的数加一然后减去小的数,即C7FFFH+1=C8000H

C8000H-AC000H=1C000H个地址单元,而题目问的是K个,所以将1C000H十六进制转换为十进制,为114688,再114688/2¹⁰=112K个地址单元

(2)设该芯片每个存储单元存储X位,所以112k×16=28×16K×X

得X=4

6.磁盘结构与参数

(48):366ms

(49): 66ms

七、总线系统

1.总线分类

根据总线所处的位置不同,总线通常被分成三种类型,分别是:

  • 内部总线

    • 数据总线
    • 地址总线
    • 控制总线
  • 系统总线

  • 外部总线

八、可靠性

1.系统可靠性分析-串联系统与并联系统

2.系统可靠性分析-模冗余系统与混合系统

九、校验码

1.校验码的概念

  • 什么是检错和纠错?
  • 什么是码距?
    一个编码系统的码距是整个编码系统中任意(所有)两个码字的最小距离。
    例:
    若用1位长度的二进制编码。若A=1,B-0。这样A,B之间的最小码距为1。
    若用2位长度的二进制编码,若以A=11,B=OO为例,A、B之间的最小码距为2。
    若用3位长度的二进制编码,可选用111,000作为合法编码。A,B之间的最小码距为3。
  • 码距与检错、纠错有何关系?
    1.在一个码组内为了检测e个误码,要求最小码距d应该满足:d>=e+1
    2.在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2t+1

2.循环校验码CRC

模2除法进行的是异或操作

试题:

原报文后要补的0的位数为:题中多项式为5位,所以补的0的位数位5-1等于四位,所以为11001010101 0000,最后通过模2除法进行运算,得到四位余数,为0011,所以将其替换之前补的0,所以其进行CRC编码后的结果为:11001010101 0011

3.海明校验码

此题答案

课程地址

这一章主要知识点学习结束

这篇关于计算机组成原理与体系结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!