计算机组成原理

第一章 计算机系统概论

一、计算机的分类

计算机分为电子数字计算机(按位运算)和电子模拟计算机(数值由连续量来表示,运算过程也是连续的)

电子数字计算机又分为专用计算机和通用计算机

通用计算机

  • 多核机
  • 单片机
  • PC机
  • 服务器
  • 大型机
  • 超级计算机

计算机系统包括硬件(计算机的物质基础)和软件(上层建筑)

二、计算机的硬件

1、计算机的硬件组成要素:

  • 运算器
  • 存储器
  • 控制器
  • 输入设备
  • 输出设备

2、冯诺依曼机的特点:

  • 计算机由五大部件组成
  • 指令和数据以同等地位存于存储器,可按地址访问
  • 指令和数据用二进制表示
  • 指令由操作码和地址码组成
  • 存储程序
  • 以运算器为中心

3、软硬件的关系

元器件构成的有形部件称为硬件

有各种用途的程序,称为软件

三、计算机系统的层次结构图

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

第五到第一级分别为

高级语言级:编译程序

汇编语言级:汇编程序

操作系统级:操作系统

一般机器级:微程序

微程序设计级:直接由硬件执行

第二章 运算方法与运算器

一、数据

一个数要考虑数的类型和数的范围

数据包括

  • 数值型数据
  • 非数值型数据

二、数值型数据

定点数:小数点的位置固定不变。
浮点数:小数点的位置允许浮动。

在这里插入图片描述

1、定点数

即纯整数

原码:+化为1,-化为0

范围:
− ( 2 n − 1 ) … … + ( 2 n − 1 ) -(2^n-1)……+(2^n-1) (2n1)……+(2n1)
反码:

范围:
− ( 2 n − 1 ) … … + ( 2 n − 1 ) -(2^n-1)……+(2^n-1) (2n1)……+(2n1)
补码:

范围:
− ( 2 n ) … … + ( 2 n − 1 ) -(2^n)……+(2^n-1) (2n)……+(2n1)
**移码:**移码和补码尾数相同,符号位相反

将补码的符号位取反

2、浮点数

在这里插入图片描述

双精度:

Ms(1位)(符号)E(11位)(阶码)M(52位)(尾数)

单精度:

Ms符号位(1位)E阶码位(8位)M尾数位(23位)

指数=阶码-127

三、字符串

汉字的实现使用点阵

四、全加器

FA全加器可以提高ALU的速率,加速串行进位和并行进位

一片182CLA可以连四片181ALU/182CLA

182连181前:组内先行进位,组间串行进位

182连181后:组内先行进位,组间先行进位

P49

第三章 存储系统

一、cache

简介

  • 位于内存和CPU之间,解决CPU和主存之间的速度不匹配问题。一般采用高速的SRAM构成。主存就是那个内存条,辅存就是硬盘,现在的Cache 一般在处理器芯片内部

  • 缓存-主存层次主要解决CPU和主存速度不匹配的问题

    主存-辅存层次主要解决存储系统的容量问题。

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

化成位/秒

公式

  • 命中率:Nc表示cache完成存取的总次数,Nm表示主存完成存储的总次数
    h = N c / ( N c + N m ) h=N_c/(N_c+N_m) h=Nc/(Nc+Nm)

  • cache/主存系统的平均访问时间ta:tc代表命中时的cache访问时间,tm代表未命中时的cache访问时间
    t a = h ∗ t c + ( 1 − h ) ∗ t m t_a=h*t_c+(1-h)*t_m ta=htc+(1h)tm

  • 访问效率:
    e = t c / t a = t c / ( h ∗ t c + ( 1 − h ) ∗ t m ) e=tc/ta=tc/(h*t_c+(1-h)*t_m) e=tc/ta=tc/(htc+(1h)tm)

  • 主存与cache的访问时间之比
    r = t m / t c r=t_m/t_c r=tm/tc
    命中率h与程序的行为、cache的容量、组织方式、块的大小有关

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

二、存储器的技术指标

在这里插入图片描述

**存储容量:**存储器能存放二进制代码的总数,存储容量=存储单元个数×存储字长(存储单元的位数),存储容量常用字数或字节数来表示,如64KB、512KB、64MB等。

在这里插入图片描述

存储容量由字节化成位=32 *220 *8

单字长(32位):32 *220 *8/32 = 8M

半字长(16位):32 *220 *8/16 = 16M

双字长(64位):32 *220 *8/64 = 4M

速度:

  • **存取时间:**又称存储器访问时间,是指从启动一次存储器操作到完成该操作所经历的时间
  • **存储周期(存取时间):**连续启动两次读操作所需间隔的最小时间
  • 存储器带宽: 单位时间里存储器所存取的信息量。若总线宽度为W位,则带宽=W/存储周期(bit/s)

三、存储器容量的扩充

位扩展

如128Kx4位扩展到128Kx8位,则需要2片SRAM芯片,8根数据线,4根连1,4根连2

地址线和控制线公用,数据线分高4位和低4位,分别与SRAM芯片的IO端相连接,两片同时工作

在这里插入图片描述

字扩展

如256Kx8位扩展到2048x8位,则需要8片SRAM芯片

地址总线A17~A0同时连接到8片SRAM的片内地址输入端,地址总线高位的A20~A18通过三八译码器分别产生8个片选信号,这8个芯片不会同时工作

在这里插入图片描述

字位扩展

先进行位扩展,再进行字扩展

小结
在这里插入图片描述

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

四、多模块交叉存储器

在这里插入图片描述

m为模块数,T为存储周期,t为总线传送周期

顺序存储器

t 2 = m T t_2=mT t2=mT

交叉存储器

t 1 = T + ( m − 1 ) ∗ て t_1=T+(m-1)*て t1=T+(m1)

信息容量

q = 字长 ∗ 读出的字 q=字长*读出的字 q=字长读出的字

带宽

W = q / t 1 或 q / t 2 W=q/t_1或q/t_2 W=q/t1q/t2

在这里插入图片描述

五、主存与cache的地址映射

全相联映射方式

标记s字地址W

w: 块大小=行大小=2w字节

s: 主存寻址单元数=2(s+w)字节=主存容量

在这里插入图片描述

在这里插入图片描述

直接映射方式

标记s-r行r字地址w

w: 块大小=2w

r: 行大小=2r

s: 主存块数=2(s)

标记=s-r

用主存容量的位数-r-w
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

组相联映射方式

标记s-d组号d字地址w

w: 块大小=行大小=2w

d: 共64行,每组4行,则有16组,16=2d

s: 主存的块数=2s

主存地址长度=s+w

主存寻址单元数=2s+w
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

虚拟存储器

页式虚拟存储器

快表和慢表,包括有效位和主存页面号

段式虚拟存储器

内有段表,段表有三个层次,分别是有效位、段起址、段长

优点:

  • 段的逻辑独立性易于编译、管理
  • 段长可以根据需要动态改变,允许自由调度

缺点:

  • 分配较为麻烦
  • 留下需要碎片,造成存储空间利用率低
  • 需要更多的硬件支持

段页式虚拟存储器

每个程序先按逻辑结构分段,每段再按照实存的页大小分页,程序按页进行调入和调出操作,但也可按段进行编程、保护和共享

每道程序都通过一个段表和多个页表进行两级定位。段表中每个表项对应一个段,有一个指针指向该段的页表,然后通过页表找到在主存中的位置

六、存储器的读写周期波形图

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

第四章 指令系统

重点需要掌握:

  • 进程管理=CPU管理
  • 指令系统
  • 指令
  • 指令的寻址方式
  • 指令的格式特点

一、概念

指令: 机器指令,每一条指令可完成一个独立的算术运算或逻辑运算操作

指令系统: 一台计算机中所有机器指令的集合

二、指令格式

操作码字段OP地址码字段A

在这里插入图片描述

1、操作码

一个包含n位操作码最多可以表示2n条指令

2、地址码

在这里插入图片描述

一地址: A指明操作码的地址,不是操作码本身

二地址: A1、A2分别指明参与操作的两个数在内存中或运算器中通用寄存器的地址,A1兼做存放操作结果的地址

三地址: A1为被操作数地址,A2为操作数地址,A3为存放操作结果的地址

3、二地址指令的类型

存储器存储器型指令(SS): 两个地址都在内存里

寄存器寄存器型指令(RR): 两个地址都需要访问寄存器,而不需要访问内存

寄存器存储器型指令(RS): 既要访问内存单元,又要访问寄存器

4、指令字长度

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

机器字长: 计算机能直接处理的二进制数据的位数(=主存单元的位数)

单字长指令: 指令字长度=机器字长度

半字长指令: 指令字长度=机器字长度/2

双字长指令: 指令字长度=机器字长度*2

5、例题

根据指令格式写指令格式的特点

  • 单字长二地址指令
  • 操作码字段OP可以指定27 =128条指令
  • 源寄存器和目标寄存器都是通用寄存器,所以是RR型指令

变址寄存器+位移量=存储器

在这里插入图片描述

三、指令和数据的寻址方式

采用地址指定方式和数据寻址方式,形成操作数或指令地址的方式,称为寻址方式

1、指令的寻址方式

顺序寻址方式: 内存中的指令地址按序排序,然后依次访问,由程序计数器给出

跳跃寻址方式 :由本条指令给出,即有一部分存放下一个需要访问的指令地址,然后进行访问

在这里插入图片描述

2、操作数基本寻址方式

形成操作数有效地址的方法,称为操作数的寻址方式

操作数

操作数(operand),是 计算机指令中的一个组成部分,它规定了指令中进行数字运算的量 。操作数指出指令执行的操作所需要数据的来源。操作数是汇编语言指令的一个字段。例如:mov a b 操作数(a 和 b)。在操作数这个字段中可以放操作数本身,也可以放操作地址,还可以放操作地址的计算方法。
通常一条指令均包含 操作符和操作数。例如:在比较指令中操作符指定计算机做比较操作,操作数则指定进行比较的两个数值。
操作数是指令执行的参与者,也就是各种操作的对象.与之有关的是 操作码,所谓操作码是说明计算机要执行哪种,如传送,运算,移位,跳转等操作,它是指令中不可缺少的组成部分。

在这里插入图片描述

指令上的:A:操作数的有效地址

  • 立即寻址方式:指令中有立即数的寻址方式,例如:MOV AX,1290H

  • 寄存器寻址方式:操作数在寄存器中的寻址方式,例如:MOV AX,BX

  • 直接寻址方式:操作数的有效地址直接放在指令中,例如:MOV AX,DS:[2000H]

  • 段超越:数据不在数据段中,需要在指令中用段超越前缀(段寄存器名加冒号)指出

  • 寄存器间接寻址方式:EA是间接从寄存器得到,例如:MOV AX,[BX]

  • 寄存器相对寻址方式:EA是一个基址或变址寄存器内容再加上8或16位位移量之和,例如:MOV AX,[BX+1234H]

    • 注意:位移量可以为TOP[],TOP为符号地址,即位移量,或者在中括号里,也可以用小点连接
  • 基址变址寻址方式:EA为一个基址寄存器加变址寄存器的内容,例如: MOV AX,[BX+DI]

  • 相对基址变址寻址方式:EA为一个基址寄存器加变址寄存器加位移量,例如:MOV AX,[MASK+BX+SI]

直接寻址: 在指令格式的地址字段中直接指出操作数在内存的地址

寄存器间接寻址: 指令格式中的寄存器内容不再是操作数,而是操作数的地址

偏移寻址:

  • 相对寻址:EA=A+PC(程序计数器)
  • 基址寻址:EA为一个基址寄存器加变址寄存器的内容,例如: MOV AX,[BX+DI]
  • 变址寻址:EA为一个基址寄存器加变址寄存器加位移量

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

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

5。根据寻址方式的不同,指令可以是RR型、SS型、RS型
在这里插入图片描述
在这里插入图片描述

第五章 中央处理器

一、CPU

控制器和运算器是CPU的两大核心部件

CPU中的主要寄存器:

  • 数据缓冲寄存器(DR)
  • 数据地址寄存器(AR)
  • 指令寄存器(IR)
  • 程序计数器(PC)
  • 通用寄存器(GR)
  • 程序状态字寄存器(PSWR)

在这里插入图片描述

在这里插入图片描述

二、指令周期

在这里插入图片描述

P157 例5.1
在这里插入图片描述
在这里插入图片描述

三、微程序控制器

用软件的方法来设计硬件

思路:把操作控制信号编制成微指令,存放到控制存储器里。运行时,从存储器中取出微指令,产生指令运行所需的操作控制信号。

在这里插入图片描述

1、微命令和微操作

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

2、微指令与微程序

在这里插入图片描述

3、微程序控制器

img

  • 控制存储器(CM)

    这是微程序控制器的核心部件,用来存放微程序。其性能(包括容量、速度、可靠性等)与计算机的性能密切相关。

  • 微指令寄存器(μIR) 用来存放从CM取出的正在执行的微指令的信息

    • 微地址寄存器(μMAR):决定将要访问的下一条微指令的地址
    • 微命令寄存器(它是 构成μIR的一部分):保存一条微指令的操作控制字段和判别测试字段的信息
  • 地址转移逻辑(微地址形成部件)
    用来产生初始微地址和后继微地址,以保证微指令的连续执行。一般情况下,微指令由控存读出后就直接给出了下一条微指令的所在地址;当微程序发生转移时,需要通过判别测试字段P和执行部件的“状态条件”反馈信息,来修改微地址寄存器的内容来形成。

微程序控制器的工作过程:

  • 执行取指令的公共操作,从主存中取出的机器指令就已存入指令寄存器IR中了
  • 操作码字段通过微程序的入口地址,并送入微地址寄存器
  • 从控制存储器中逐条取出对应的微指令并执行之,每条微指令都能自动产生下一条微指令的地址。
  • 一条机器指令对应的微程序的最后一条微指令执行完毕后,其下一条微指令地址又回到取指微程序的入口地址,从而继续第(1)步

4、机器指令与微指令的关系

  • 一条机器指令对应一个微程序,这条微程序是由若干条微指令序列组成的
  • 对应的硬件设备不同,从指令与微指令的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关
  • 每一个CPU周期对应一条微指令

在这里插入图片描述

四、流水CPU

在这里插入图片描述

第六章 总线系统

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

一、分类

  • 内部总线: CPU内部连接各寄存器及运算部件之间的总线
  • 系统总线:
  • I/O总线:

总线带宽P190:换算单位成字节

在这里插入图片描述

二、信息传送方式

串行传送: 只有一条传输线,且用脉冲传送,且不同时传输

并行传送: 对每个数据位都需要单独一条数据线,且同时传输

分时传送: 总线复用(某个传输线上既传送地址又传送数据信息,分时输出)或是共享总线的部件分时使用总线。

三、波特率

P198页

波特率=数据传送速率*每个字符格式的比特位

每个比特位占用时间Td是波特率的倒数

在这里插入图片描述

四、总线仲裁

1、分类

按照总线仲裁电路的位置不同,可分为集中式仲裁和分布式仲裁。。集中式仲裁又分为链式查询方式、计时器定时查询方式、独立请求方式

集中式仲裁: 集中式仲裁中每个功能模块有两条线连到总线控制器:一条是送往总线控制器的总线请求信号线BR,一条是仲裁器送出的总线授权信号线BG

2、链式查询方式

在这里插入图片描述

3、计时器定时查询方法

在这里插入图片描述
在BS线为0时计数器开始计时,每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置1BS线,获得总线使用权,此时终止计数查询

优点:计数器的初值可以用程序来设置,可以方便地改变优先次序

缺点:会增加线数

4、独立请求方式

在这里插入图片描述

每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi。当设备要求使用总线时,便发出该设备的请求信号,总线仲裁器有一个排队序列,按一定的优先次序决定先相应哪一个

优点:响应时间快、对优先次序的控制相当灵活、可以屏蔽某个请求方法

小结:

在这里插入图片描述

5、分布式仲裁

在这里插入图片描述

第七章 外围设备

一、磁盘

在这里插入图片描述

二、磁盘存储器的技术指标

  • 存储密度:道密度、位密度、面密度

  • 平均寻址时间:1/(2*r)

  • 平均存取时间:

    平均访问时间(平均寻址时间)=平均寻道时间+平均等待时间

    平均读写操作时间Ta=Ts(平均寻道时间)+ (1/2r)(平均寻址时间)+[b/(r*N)](数据传输时间)

    b表示传送的字节数,N表示每磁道的字节数,r是磁盘旋转速率

  • 数据传输率:=磁盘旋转速率*每条磁道容量

在这里插入图片描述

在这里插入图片描述

第八章 I/O系统

CPU管理外围设备的几种方式:

  • 无条件传送方式(简单I/O方式)

    外设始终处在就绪状态,CPU直接执行I/O指令进行数据传输

  • 程序查询方式(条件查询方式)

    CPU需要通过接口对目标设备的状态进行查询,外设准备就绪之后再进行发送或接收

    优点:CPU的操作与外围设备的操作能够同步,而且软硬件结构都比较简单

    缺点:会白白消耗掉CPU许多时间

  • 程序中断方式

    当第一个中断发生时,CPU暂停其现行程序,而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返回到原来执行的任务,从其停止的地方开始执行程序

    优点:节省了CPU宝贵的时间

    缺点:软硬件相对变复杂,服务开销时间大

  • 直接内存访问方式

    DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和外围设备之间进行,以高速传送数据

    优点:数据传送速率很快,因受到内存访问时间的限制

    缺点:需要更多的硬件支持

    适用于内存和高速外围设备之间大批数据交换的场合

  • 通道和输入/输出处理器

均寻道时间+平均等待时间

平均读写操作时间Ta=Ts(平均寻道时间)+ (1/2r)(平均寻址时间)+[b/(r*N)](数据传输时间)

b表示传送的字节数,N表示每磁道的字节数,r是磁盘旋转速率

  • 数据传输率:=磁盘旋转速率*每条磁道容量

[外链图片转存中…(img-A2U82XFh-1712054550322)]

[外链图片转存中…(img-YajUaFHF-1712054550322)]

第八章 I/O系统

CPU管理外围设备的几种方式:

  • 无条件传送方式(简单I/O方式)

    外设始终处在就绪状态,CPU直接执行I/O指令进行数据传输

  • 程序查询方式(条件查询方式)

    CPU需要通过接口对目标设备的状态进行查询,外设准备就绪之后再进行发送或接收

    优点:CPU的操作与外围设备的操作能够同步,而且软硬件结构都比较简单

    缺点:会白白消耗掉CPU许多时间

  • 程序中断方式

    当第一个中断发生时,CPU暂停其现行程序,而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返回到原来执行的任务,从其停止的地方开始执行程序

    优点:节省了CPU宝贵的时间

    缺点:软硬件相对变复杂,服务开销时间大

  • 直接内存访问方式

    DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和外围设备之间进行,以高速传送数据

    优点:数据传送速率很快,因受到内存访问时间的限制

    缺点:需要更多的硬件支持

    适用于内存和高速外围设备之间大批数据交换的场合

  • 通道和输入/输出处理器

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值