软考架构师(1)——计算机组成与体系结构

发布时间 2023-12-01 15:40:25作者: Bear-Run

一:计算机系统概述

1:计算机发展历程

2:结构

(1)冯诺依曼机:由运算器,控制器,存储器,输入,输出五部分组成,以运算器为中心

(2)计算机层次结构:应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层-硬件逻辑层

3:分类

单指令单数据流:冯诺依曼体系结构

单指令多数据流:向量处理器

多指令单数据流:不存在

多指令多数据流:多处理器

3:基本概念

机器字长:CPU一次能处理数据的位数,与CPU中寄存器位数有关

存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码位数,与MDR位数有关,数据总线

指令字长:计算机指令字的位数

数据字长,计算机数据存储所占用的位数

 

总线宽度:总线上同时能够传输的数据位数,即数据总线的根数

总线带宽:单位时间内总线上传输数据的位数,通常每秒传输的字节数来衡量  总线带宽 = 总线工作频率* (总线宽度/8)

主存带宽:数据传输率

 

总线传输周期:一次总线操作所需的时间(申请,寻址,传输,结束),由若干总线时钟周期构成

总线时钟周期:及其时钟周期

CPU时钟周期:主拍脉冲或T周期,为主频的倒数

 

吞吐量:单位时间内数据输出数量

响应时间:从事件开始到事件结束的时间

CPU时钟周期:机器主频的倒数

CPI:执行一条指令所需的平均时钟周期

MIPS:每秒百万条指令

MFLOPS:程序中浮点数的运算次数

 

二:数制与编码

进制转换:

BCD码:8421码(加6修正)余3码,2421码

ASCII码:

校检原理:

码距:

奇偶校检码:

海明校检码:

循环冗余码:

定点数:

无符号数与有符号数

原码

补码

反码

移码

转换:

x为正数【x】

x为负数

无论正负【x】补——连同符号位取反加一——>【-x】

运算:

加法

移位运算:逻辑移位(无符号)算术移位()

算术运算:

 

 

循环移位

例一:定点数加法运算

假设两个带符号整数x , y .用8位补码表示,x=63 ,y = -31,则x - y 的表示及溢出标识OF是——

解:【x】原 = 0011  1111 ,[y]原 = 1001 1111  ,

  【x】补 = 0011  1111 [y]补 = 1110 0001,[-y]补 = 0001 1111

  【x-y】 = 【x】补 +【-y】补 = 5EH ,没有溢出 OF =0

例二:溢出判断:进位丢弃最高位不一定溢出,超出表示范围才算溢出,(当最高位进位与符号位进位的值不同是才溢出,可能是正负反转)

 

 

浮点数:

IEEE754标准:

规格化后的短浮点数的真值为:(-1)^s X 1.M X  2^(E-127)

浮点数的加减运算:对阶,尾数相加,规格化,舍入,判溢出

溢出:阶码是否超出了表示范围

注意C语言中运算以补码表示运算

 例一:浮点数加减运算以及溢出判断

浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位),数X=2^7  *  29/32

Y = 2^5   *   5/8 ,则用浮点加法计算X + Y 的最终结果为——

解:x =  00,111;00,11101    y= 00 ,101; 00,101 

1:对阶:小阶向大阶看起:y = 00,111;00,00101

2:尾数相加  00,11101

    +   00,00101

    ——————

         01,00010

3:规格化:尾数右移一位,阶码加一   01,000;00,10001

4:判溢出:阶码符号位为01 溢出

 

三:存储系统

体系结构化层次:

 

基本概念:

边界对齐:

大端小端存储方式:

    • 大端:最高字节地址是数据地址(0123存成0123)
    • 小端:最低字节地址是数据地址(0123存成3210)

 

1:存储器月CPU的链接

(1)主存容量扩展:

字扩展:

位扩展:

字位同时扩展:

(2)双口RAM与多模块存储器

双端口RAM

 

两个端口对同一主存:可同时读,不可同时写,也不能边读边写

 

多提并行存储器

高位交叉编址:

地位交叉编址:

 

 

 

2:半导体存储器:

 

 

 (1)随机存储器

 DRAM存储器的刷新

分散刷新:

集中刷新:

异步刷新:

(2)只读存储器ROM

MROM(掩膜式只读存储器):

PROM(一次可编程只读存储器)

EPROM(可编程可擦除)

FlashMermory(闪存存储器):U盘

固态硬盘

3:Cache

(1)地址映射方式:

全相连:主存字块标记|字块内地址

直接映射:

组相连:

(2)替换算法:

随机

先入先出

最近最少使用(LRU)

最不经常使用(LFU)

(3)写策略

命中:全写法 和写会法

不命中:写分配法和非写分配法

 

 

 

 

 

 4:虚拟存储器

解决主存容量不足,希望向程序员提供更大的编程空间

页式虚拟存储器

转换:虚拟地址= 虚拟页号+页内偏移------->物理页号+页内偏移

段式虚拟存储器

段页式虚拟存储器

快表TLB:

页表,段表放在主存中,收到虚拟地址后先访问主存,查询页表段表进行虚实地址转换

 

 四:总线

1:基本概念

总线:一组能为多个部件分时共享的公共信息传送线路

总线特性:机械特性(尺寸,形状,管脚数),电气特性(传输方向和有效的电平范围),功能特性(每根传输线的功能),时间特性(信号的时序关系)

分类:

按数据传输格式:串行总线和并行总线

按总线功能:片内总线,系统总线(数据总线,地址总线,控制总线),通信总线

按时序控制方式:同步总线,异步总线

结构:单总线结构,双总线结构,三总线结构

性能指标:

总线的传输周期(总线周期):一次总线操作所需的时间(包括申请阶段、 寻址阶段、传输阶段和结束阶段),通常 由若干个总线时钟周期构成。

总线时钟周期: 即机器的时钟周期。

总线的工作频率:为总线周期的倒数。 实际上指一秒内传送几次数据。

总线的时钟频率  : 即机器的时钟频率,为时钟周期的倒数。 若时钟周期为T,则时钟频率为1/T。 实际上指一秒内有多少个时钟周期。

总线宽度:是总线上同时能够传输的数据位数, 通常是指数据总线的根数

总线带宽:可理解为总线的数据传输率,即单位时间内总线上可传输 数据的位数

2:总线仲裁

集中仲裁

 

 

链式查询

计数器定时查询

 

 

独立请求

 

 

分布式

3:操作和定时

4:总线标准

系统总线标准:ISA,EISA,VESA,PCI,PCI-Express

设备总线标准:IDE,AGP,RS-232C,USB,SCSI

局部总线标准:

 五:中央处理器

1:CPU的功能与结构

2:指令执行过程

 

3:数据通路的功能的基本结构

主存与CPU之间的数据传送

CPU从主存读取指令,实现传送操作的流程及控制信号为:

(PC)→Bus→MAR PCout和MARin有效,现行指令地址→MAR

1→R   CU发读命令(通过控制总线发出,图中未画出)

MEM(MAR)→MDR MDRin有效 MDR

MDR→Bus→IR MDRout和IRin有效,现行指令→IR

4:控制器的功能和工作原理

5:指令流水线

 

六:指令系统

基本概念

数据通路:执行部件间传送信息的路径,分为共享通路和专用通路

指令集:一台机器所有指令的集合

RISC(精简指令集)和CISC(复杂指令集)

指令字长:指令中包含的二进制位数,有等长指令、变长指令。

指令分类

零地址指令:

一地址指令:访存2次

二地址指令:访存3次

三地址指令:访存4次

寻址方式

指令寻址方式:顺序寻址,跳跃寻址

操作数寻址方式:

立即数寻址:地址码字段是操作数本身 MOV AX, 200H

寄存器寻址:地址码字段是寄存器地址 MOV AX, BX

直接寻址:地址码字段是内存地址 MOV AX, [200H]

间接寻址:地址码字段是内存地址的地址 MOV AX, I[200H]

寄存器间接寻址:地址码字段是存内存地址的寄存器地址 MOV AX, [BX]

相对寻址:操作数地址 + 当前PC的值

基址寻址:操作数地址 + 基址寄存器的值(一段程序中不变) MOV AX, 32[B]

变址寻址:操作数地址 + 变址寄存器的值(随程序不断变化) MOV AX, 32[SI]

 指令格式:R型指令,I型指令,J型指令

 

微指令

微指令的编码方式:目标尽量缩短指令字长

(1)直接编码方式:无须译码,以为代替一个微指令

(2)字段直接编码:互斥的放在同一字段,留出一个状态(000)

(3)字段间接编码

微指令格式

水平型             垂直型

微程序短,速度快        微程序长,速度慢

微指令长,编码麻烦      微指令端,好编码

流水线

 

 

七:输入输出系统

1:IO系统

 (1)IO软件

IO指令:CPU指令的一部分

通道指令

(2)IO硬件:外部设备,设备控制器和接口,IO总线

 

(3)IO接口

统一编址和独立编址

(4)IO子系统结构层次

用户层I/O软件:实现与用户交互的接口,用户可以直接调用在用户层提供的、与I/O操作有关的库函数,对设备进行操作。

设备独立软件:用于实现用户程序与设备驱动器的统一接口、设备命令、设备保护以及设备分配与释放等,同时为设备管理和数据传送提供必要的存储空间。

设备驱动程序:与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。

中断处理程序:用于保护被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完并恢复被中断进程的现场后,返回到被中断进程。

2:IO方式

程序查询方式

 

程序中断方式

中断:

 

中断判优:

中断隐指令:

关中断:

保存断点:

引出中断服务程序:

DMA方

3:外部设备

输入设备:键盘,鼠标

输出设备:显示器,打印机

外存储器:磁盘,光驱

磁盘存储器:

 

 记录密度:道密度(磁盘延半径方向的磁道数,),位密度(磁道单位长度上能记录的二进制代码位数),面密度(位密度与道密度的乘积)

 平均存取时间=寻道时间(磁头移动到目的磁道)+旋转延迟时间(磁头固定到所在扇区)+传输时间(传输数据所花的时间)

数据传输率:单位时间内向主机传送数据的字节数

磁盘阵列:

RAID0:无冗余和无校检的磁盘阵列,条带均匀分布

RAID1:以镜像为冗余方式

RAID2:纠错海明码

RAID3:位交叉奇偶校检

RAID4:块交叉奇偶校检

RAID5:无独立校检的奇偶校检

 

 八:专题专解

1:各种实现

程序查询:纯软件

程序中断:软件传递+硬件中断

DMA:纯硬件

通道:软硬件结合

中断系统:隐指令(硬件)中断程序(软件)

时钟管理:专用统一计数器

地址映射:寄存器+加法器+其他

 

计算专题: