计算机组成原理

第一章 计算机系统概论

一、计算机的分类

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

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

通用计算机

  • 多核机
  • 单片机
  • 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
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
计算机组成原理是研究计算机硬件和软件之间相互关系的学科。它涉及到计算机的各个组成部分,包括中央处理器(CPU)、存储器、输入输出设备等。计算机组成原理的实际应用非常广泛,以下是一些实际应用的例子: 1. CPU设计:计算机组成原理的研究可以帮助设计和优化CPU的结构和功能。通过了解CPU的工作原理,可以提高CPU的性能和效率。 2. 存储器管理:计算机组成原理的研究可以帮助设计和管理计算机的存储器系统。了解存储器的层次结构和访问方式可以提高存储器的速度和容量。 3. 输入输出设备:计算机组成原理的研究可以帮助设计和开发各种输入输出设备。了解输入输出设备的工作原理可以提高设备的性能和可靠性。 4. 操作系统:计算机组成原理的研究可以帮助理解操作系统的工作原理。了解操作系统如何管理和调度计算机的资源可以提高系统的性能和稳定性。 5. 网络通信:计算机组成原理的研究可以帮助理解计算机网络的工作原理。了解网络通信的协议和技术可以提高网络的性能和安全性。 6. 并行计算:计算机组成原理的研究可以帮助设计和开发并行计算系统。了解并行计算的原理和技术可以提高计算的速度和效率。 以上是计算机组成原理的一些实际应用。通过深入研究计算机组成原理,可以更好地理解计算机系统的工作原理,并应用于实际的计算机系统设计和开发中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值