值得拥有的一份详细的计算机系统硬件结构清单:系统总线、存储器、I/O设备

一、系统总线

总线概念

起源:将计算机系统的五大部件共同连到一组公共信息传输线上,就是总线。早期使用的是每个设备都有自己的连接线,分散连接,不方便随时增添和减撤设备。

总线新问题:由于总线是各部件共享的传输介质,所以在某一时刻只能允许其中一个部件向总线发送信息。

总线组成:由许多传输线组成,每一条传输线可一位一位地传输二进制代码。

总线分类

按连接部件不同分类:片类总线、系统总线、通信总线

片类总线:看不见的总线,是指芯片内部的总线,CPU内部中寄存器与寄存器之间、寄存器与算术逻辑单元ALU之间的总线。

系统总线:指五大部件之间的信息传输线。系统总线按传输信息的不同分为:数据总线、地址总线、控制总线

  • 数据总线:用来传输各部件之间的数据信息,数据总线的位数称为数据总线宽度,即一次能传输的最大二进制的个数。
  • 地址总线:用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备上的地址。地址总线的位数与存储单元有关,存储单元个数=2的(地址总线的位数)次方。
  • 控制总线:由于总线是各部件共享的,为了合理分配各部件的总线占用权,需要依靠控制总线发出各种控制信号来完成。常见控制信号:总线请求、总线允许、中断请求、读写……

通信总线:用于计算机系统之间的通信。 

总线特性和性能指标

总线是由许多导线直接印刷在电路板上的。

总线性能指标:

  • 总线宽度:值数据总线的根数
  • 总线带宽(数据传输速率):单位时间内总线上传输数据的总位数 MBps,最大传输率 = 一次可传输的最大字节数*工作频率
  • 同步方式:总线上的数据与时钟是否同步
  • 信号线数:地址、数据、控制的总线数的总和

总线标准:即统一总线建立的标准,视为通用接口。目前流行的总线标准如下

  • ISA总线
  • EISA总线
  • PCI总线:处理图形、多媒体
  • AGP总线:处理三维数据
  • USB总线

总线结构

单总线结构:将CPU、注册、I/O设备都挂在一组总线上。

多总线结构

  • 双总线结构:主存总线、I/O总线。将速度较低的I/O设备从单总线上分离出来,使用通道连接I/O设备。通道是具有特殊功能的处理器,对I/O设备管理。

  • 三总线结构:主存总线、I/O总线、DMA总线。DMA总线用于高速I/O设备与主存之间直接交换信息。注意:三总线结构中任一时刻只能使用一种总线。

  • 四总线结构:局部总线、系统总线、高速总线、扩展总线。

总线控制

概念:由于总线上连接着许多个部件,那么如何避免多个部件同时发送信息,需要总线控制器统一管理。主要包括:判优控制、通信控制

总线判优控制:集中式、分布式

总线上连接的各个设备分为主设备和从设备,主设备对总线有控制权;从设备没有控制权,只能接收响应从主设备发来的总线命令。

问题的产生:当多个主设备向总线发送请求信号使用总线时,就需要总线控制器的判优、仲裁逻辑按一定的优先等级顺序来确实那个主设备先使用总线。

集中式仲裁方式:

  • 链式查询:控制总线中有3根用于总线控制(BS总线忙、BR总线请求、BG总线同意),总线控制部件主动从离自己最近的一个设备开始一个一个的发起BG信号查询,询问该设备是否需要使用总线。一旦有设备接口有BR总线请求就建立BS总线忙信号,表示占用了总线,其他设备就继续等待。
  • 计数器定时查询:少了BG总线同意,多了一组设备地址线。没有了BG同意信号主动询问,只能设备主动发起BR总线请求,此时计数器开始计数,并通过设备地址线向各个设备发出一组地址信号。当某个设备的地址线与计数器一致时,便获得总线使用权,此时计数器停止。
  • 独立请求方式:每一台设备均有一对总线请求BR和总线同意BG。

总线通信控制:

主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。四种方式:同步通信、异步通信、半同步通信、分离式通信。

计算题

总线的时钟频率MHz、总线的传输周期、时钟周期、总线的宽度

求总线带宽、总线的数据传输率MBps  ???

二、存储器

存储器分类

存储器作用:存放程序和数据

按存储介质分类:

  • 半导体存储器
  • 磁表面存储器
  • 磁芯存储器
  • 光盘存储器

按存取方式分类:

  • 随机存储器(Random Access Memory,RAM):主存采用。静态、动态
  • 只读存储器(Read Only Menory,ROM):只能读出,不能重新写入新的。MROM、PROM、EPROM、EEPROM
  • 串行访问存储器

按在计算机中的作用分类:

  • 主存储器
  • 辅助存储器
  • 缓冲存储器

存储器的层次结构

性能指标:速度、容量、每位价格

缓存-主存:解决CPU和主存速度不匹配的问题

主存-辅存:解决存储系统的容量问题

主存储器

主存的内部结构:三大部分组成、细分又多了译码器、驱动器、读/写电路:这些器件是辅助MAR和MDR的。

主存的工作原理:两个大过程

  • 1、MAR访问存储单元:需要经过地址译码器、驱动等电路,才能找到所需访问的存储单元
  • 2、存储单元读到MDR:需要经过读出放大器,才能将选中单元的存储字送到MDR

现代计算机中:MAR、MDR在CPU芯片内;译码器、驱动器、读写电路在存储芯片内。

从主存中读出一个信息字520(假设要读取数据520):

  • 1、CPU把信息字520的地址给MAR
  • 2、MAR通过地址总线把地址送到主存
  • 3、CPU再通过控制总线向主存发出读命令
  • 4、主存此时接收到了地址读命令,就会把该地址里面的信息字520读出来放到数据总线上,再送到MDR

向主存中写入一个信息字520:同上的工作原理

 主存中存储单元地址的分配

一个字节 = 8位二进制,存储字长都取8的倍数。

寻址方式:按字寻址、按字节寻址

主存的技术指标

存储容量:指主存能存放的二进制总位数

  • 以二进制数为单位:存储容量=存储单元个数*存储字长
  • 以字节数为单位:存储容量=存储单元个数*存储字长/8

存储速度:由存取时间和存取周期表示

  • 存取时间:指完成一次读或写到完成操作所需要的全部时间
  • 存取周期:指两次独立的存储器操作(如连续两次读操作)所需的最小间隔时间

存储器带宽:指单位时间内存储器存取的信息量,衡量数据的传输速度,提高带宽方法如下:

  • 缩短存取周期
  • 增加存储字长
  • 增加存储体

半导体存储芯片

基本结构:采用超大规模集成电路制造,在一个芯片内集成具有记忆功能的存储矩阵、译码驱动电路、读写电路等。

存储芯片容量:由地址线、数据线的位数决定。芯片容量=2的地址线位数次方乘以数据线位数。

半导体存储芯片的译码驱动方式

作用:使用地址线来确定要选择的存储单元

地址线的排列方法:线选法、重合法

线选法:一根地址线代表一个存储单元,小容量

重合法:由两根地址线共同决定一个存储单元,大容量 

随机存取存储器

两大类:静态RAM、动态RAM 

静态RAM:

  • 静态RAM基本单元电路:存储器中用于寄存0和1代码的电路称为存储器的基本单元电路,由6个MOS管组成
  • Intel 2114芯片的基本单元电路就是6个MOS管组成,容量为1K*4的2114
  • 2114芯片内部结构图和工作原理

动态RAM 

  • 动态RAM基本单元电路:三管式、单管式;靠电容存储电荷的原理来寄存信息。有电荷表示1、无电荷表示0,电容上的电荷保持时间只有1-2ms,时间太短为了维持状态必须在2ms内恢复一次原状态,即再生或刷新。
  • 三种刷新方式:集中刷新、分散刷新、异步刷新

芯片内部结构:A代表地址线、D代表数据线、CS代表片选信号、WE代表读写允许信号

只读存储器

PROM、EPROM、EEPROM

重点:存储器与CPU的连接

概念介绍

存储容量的扩展:将若干存储芯片连在一起组成大容量的存储器,三种扩展方式:位扩展、字扩展、字位扩展

首先理解芯片组成方式:1K*8位    

是指某个存储器芯片的容量,1K*8代表该存储器芯片具有1K个存储单元,每个存储单元能存储8位二进制数。

位扩展:指增加存储字长——>增加连接到地址线上的线路的数量即可增大一次性读取的位数能力

字扩展:指增加存储器字的数量(即存储单元个数)——>增加地址线的数量即可增加存储单元个数

字、位扩展:既增加存储字的数量、又增加存储字长

存储器与CPU的连接:即如何连接地址线、数据线、控制线、片选线、存储芯片选择???

题型:给出要设计的CPU的地址线数量、数据线数量、访存控制信号、读写控制信号、一些可供选择的存储芯片、74138译码器。设计出该CPU,画出连接图。

要求:设CPU有16根地址线、8根数据线,设计8K的系统程序区。

解题步骤:

  • 第一步芯片选择:根据题目要求的固定地址大小——>确定最合适的芯片(有些芯片需要使用其他芯片先扩展才能获得题目要求的地址大小)。
  • 第二步求实际地址线:根据要求的地址大小——>确定实际需要的地址线数量,即2的X次方=要求的地址大小——>得出x为实际需要的地址线数量。

  • 第三步画A01图:根据实际地址线数量可以得出二进制形式的地址范围,即A的范围,选择13个A,从A0到A12区间的范围都是代表地址的(那么剩余的其他A可能会用于接74138译码器的A/B/C输入端,下面详说)

  • 第四步取余A为输入:在未用完的地址线中选择紧接着的3个作为74138译码器的ABC三个输入端 ,且输出端Y就是由这3根地址线的二进制的十进制数决定。

  • 第五步确定片选信号CS:芯片上的CS信号直接与译码器的输出Y相连。
  • 第六步:最后一步,把读写信号WR、其他信号连起来,根据扩展情况连接地址线、数据线、控制线。

存储器的校验 (汉明码)

首先理解什么是奇偶校验:偶校验——使代码里面的1的个数为偶数个。奇校验——使代码里面的1的个数为奇数个。

概念:在数据存储过程中可能会出现差错,为了及时发现错误并及时纠正错误,将原数据配成汉明码。汉明码就是采用奇偶校验的码。

汉明码纠错能力:具有纠错一位的能力,只错一个数据。

编码的最小距离:任意两组合法代码之间相同位置不同数据的个数,就是最小距离。比如1011和0010两组代码中,在位置1、4数据不相同,所以最小距离就是2

代码长度N不同,其添加的检测位数K也不同。2^k-1>=k+n

 汉明码的原理:当给定一组01代码,此时要在这串代码中某些位置插入k位检测位,插入后的这串代码就是原代码的汉明码。

如何确定检测位的插入位置和检测位的值???

汉明码插入位置:在2的i次方上的位置都是汉明码,1、2、4、8……

汉明码怎么分组:

 

  • 某个编码的二进制符合XXX1,就是C1组,1/3/5/7/9/11……
  • 某个编码的二进制符合XX1X,就是C2组,2/3/6/7/10/11/14/15……
  • 某个编码的二进制符合X1XX,就是C3组,4/5/6/7/12/13/14/15……
  • 某个编码的二进制符合1XXX,就是C4组,8/9/10/11/12/13/14/15/24……

汉明码的值:首先知每位检测位的值由每一小组确定得来,若该小组内1的个数为偶数则检测位值就是0,反之为1。(核心就是检测位的值由该检测小组内二进制是1的个数是否为偶数决定),会发现生成的检测位的值就是用来补充自己小组内1的个数为偶数个的,比如小组C1里面1的个数为奇数个,那么还需要1个1来补成偶数个,那么检测位就是用来补数的,形成偶数个1。

求汉明码步骤:

 

  • 1、首先确定检测位的位数k,2^k-1>=k+n
  • 2、确定每一组小组C,最后异或运算得结果,即检测位的值,每一组确定一位检测位的值C
  • 3、根据检测位的位置插入检测位的值——>就是汉明码

汉明码纠错原理:接收方接收到一串汉明码后,要重新形成新的检测位 ,重新生成每个小组P(包括原检测位C),重新求得新检测位的值。新的检测位的值必须为0才能为真,如果不为0说明原检测位和原小组共同组成的代码里面1的个数不为偶数个,明明不符合要求,所以就能发现哪一个小组有问题。

汉明码确定错误位置:由新检测位P的值先确定哪些位置可能会错,再结合其他小组正确的位置来找出错误位置。汉明码最牛的地方就是可以根据所有新检测位p的值组合(大到小排列)再转换为对应的十进制就是编码中出错的位置。

如p3=1、p2=1、p1=0;大到小排列组合:p3p2p1=110=6,所以就是第6位出错了。

提高访存速度的措施

单体多字系统:

  • 使用场景:指令和数据在主存内是连续存放的
  • 工作原理:在一个存取周期内,从同一地址取出4条指令,再逐条将指令送至CPU
  • 核心:一次访问多个字长

多体并行系统:

  • 工作原理:采用多个独立的模块,每一个模块都是一个完整的小存储器,各模块都有独立的MAR、MDR、地址译码、驱动电路、读写电路。多个独立的存储体构成。
  • 核心:连续访问不同的存储体。
  • 分类:高位交叉编址、低位交叉编址
  • 高位交叉编址:顺序存储的思想,只能一个存储体满了之后,才能存到下一个存储体。高位地址表示存储体的编号、低位地址表示体内地址。
  • 低位交叉编址:交叉存储的思想,连续存放在相邻的存储体中,一个存储体内第一个存储单元存满后,会到下一个存储体的第一个存储单元存,依次类推。低位地址表示存储体的编号、高位地址表示体内地址。

高速缓冲存储器Cache

概念:Cache缓存的作用是CPU可以不直接访问主存,主存提取把CPU要取的信息送至缓存Cache,CPU直接与高速Cache交换信息。

Cache工作原理

首先理解Cache映射:即主存和缓存之间有对应关系,如主存中某块区域对应缓存中某块区域(也就是主存把信息送至了缓存中)。将主存与缓存都分成若干块,一个块里面又包含若干个字,且主存和缓存的块大小相等。

主存地址的结构:分成两部分,前m位二进制表示主存的块地址、后b位表示块内地址,块数量=2的m次方。

缓存地址的结构:分成两部分,前c位二进制表示缓存的块号、后b位表示块内地址,2的b次方=B一个块的大小,块长。

CPU欲读取主存信息时:两种情况,一是所需信息已经在缓存Cache中、二是不在缓存中。

判断信息是否在Cache:此时需要在缓存中设计一个标记,该缓存标记的内容就是主存的块编号,当CPU读信息时,先将主存前m位(即块号)地址与缓存的标记(代表主存的块号)进行比较,相等说明主存信息已经送至缓存。

Cache内部结构

由三部分组成:Cache存储体、地址映射变换机构、Cache替换机构

Cache存储体:以块为单位与主存交换信息

地址映射变换机构:主存地址以某种函数关系映射到Cache中

替换机构:当Cache被装满时,需要移出某些块,而把新的主存中的块装入

Cache读写操作:当写操作时,需要确保Cache与主存保持一致的问题,因为CPU先修改了Cache中数据,而此时主存中还未被修改。

  • 写直达法:即同时修改Cache和主存,但是增加了访存次数
  • 写回法:只写入Cache,不写入主存,当Cache中的数据被替换时才写回主存,此时需要判断该Cache被替换数据是否被修改过,设置两个标志位状态来判断,“清”、“浊”

Cache的改进

单一缓存和两级缓存:指CPU和主存之间只有一个缓存或两个缓存,如今,缓存都是与CPU制作在同一个芯片内的,又称片内缓存;主存与片内缓存之间的缓存叫片外缓存。

统一缓存和分立缓存:指指令和数据是否放在同一个Cache缓存内

Cache——主存地址映射

指将主存地址映射到Cache地址,主要方法:直接映射、全相联映射、组相联映射(前两者的折中)

直接映射:

  • 每个主存块只能对应一个缓存块,每个缓存块对应多个主存块
  • 采用取模%运算,i = j % c      //  j为主存块号、c为缓存块数量、i为缓存块号

全相联映射

  • 每块主存可以对应任意一块缓存块

组相联映射

  • 是直接和组相连相结合的方法,把Cache缓存分组Q,每组有R块;

替换策略 

当Cache空间已经满了时,此时又要新写入数据,要把Cache中旧数据替换为要使用的最新数据。

替换算法:由于全相联和组相联里面一个主存块都可以对应多个缓存块,这就产生了当我要写入Cache是选择哪一个缓存块的问题

三种方法:先进先出算法、近期最少使用算法、随机法

辅助存储器

硬磁盘、软磁盘、磁带、光盘

磁表面存储器

磁表面存储器:在不同形状的载体上涂有磁性材料层,载磁体高速运动,由磁头在磁层上进行读写操作,这些信息的轨迹就是磁道。磁道是一个个同心圆。

磁表面存储器的技术指标:

  • 记录密度:单位时间内存储的二进制信息量,
  • 存储容量
  • 平均寻址时间
  • 数据传输率
  • 误码率

磁记录原理和记录方式

循环冗余校验码

三、输入输出系统

重点:I/O设备与主机交换信息的三种控制方式:程序查询、中断、DMA(Direct Memory Access)

I/O系统发展

4个阶段

1、I/O设备通过CPU与主存交换信息

2、接口模块和DMA阶段

3、具有I/O通道结构的阶段

通道可以视为具有特殊功能的处理器,CPU不直接参与管理I/O设备与主存交换信息,由通道指令完成。

4、具有I/O处理机的阶段

I/O系统组成

I/O软件和I/O硬件组成

I/O软件

任务:

  • 将用户写的程序或数据输入主机内
  • 将运算结果输送给用户
  • 实现输入输出系统与主机工作的协调

I/O指令

属于机器指令的一类,指令格式=操作码+命令码+设备码

通道指令

通道指令是对具有通道的I/O系统专门设置的指令,通道指令存放在主存的任何地方,由通道从主存中取出来。

通道指令的作用就是执行I/O操作,如读写等而I/O指令是CPU指令系统的一部分,是CPU用来控制输入输出操作的指令,由CPU译码后执行。

I/O硬件

带有接口的I/O系统:包括接口模块及I/O设备两块

具有通道的I/O系统:一个通道可以和多个设备控制器相连,一个设备控制器可以控制多个同一类型的设备。

I/O设备与主机的联系方式

联系方式需要解决的问题:

  • CPU如何对I/O设备编址:统一编址、不统一编址
  • 如何寻找I/O设备号:I/O指令中的设备码字段
  • 信息传送是逐位串行还是多位并行
  • I/O设备与主机以什么方式进行联络:立即响应方式、异步工作采用应答信号联络、同步工作采用同步时标联络
  • I/O设备与主机是怎么连接的:总线式

I/O设备与主机信息传送的控制方式

共有5种控制方式:

  • 程序查询方式
  • 程序中断方式
  • 直接存储器存取方式DMA
  • I/O通道方式
  • I/O处理机方式

程序查询方式

概念:只要一启动I/O设备,CPU就通过程序不断查询I/O设备是否已做好准备。

缺点:只要一启动I/O设备,CPU便不断查询I/O设备的准备情况,从而终止了原程序的执行,出现原地踏步的现象。

程序中断方式

概念:只要一启动I/O设备,CPU不查询设备是否准备就绪,仍然执行原程序,而是由准备就绪的I/O设备主动向CPU发出中断请求。

缺点:CPU在响应中断请求后,必须停止现行程序而转入中断服务程序,与主存交换信息时还会占用CPU内部的一些寄存器,消耗CPU资源。

直接存储器存取方式DMA(大型机)

概念:I/O设备直接与主存交换信息,而不占用CPU,主存与I/O设备之间有一条数据通路。

I/O设备

I/O接口

概念:I/O接口指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。

接口的功能作用:

  • 实现I/O设备的选择
  • I/O设备种类繁多,速度不一,接口实现数据缓冲,达到速度匹配
  • 实现数据串-并格式的转换
  • 实现电平转换
  • 可以传送控制命令
  • 可以监视设备的工作状态,并保存状态信息,供CPU查询

接口的功能和组成

每一台I/O设备都是通过I/O接口挂到I/O系统总线上的,I/O系统总线包括4种:数据线、设备选择线、命令线、状态线。

1、选址功能

     设备选择电路,用于识别设备地址。

2、传送命令的功能

      命令寄存器和命令译码器

3、传送数据的功能

      数据缓冲寄存器,用于存放欲传送的数据。

4、反映I/O设备工作状态的功能

      设备状态标记

程序查询方式

程序中断方式

DMA方式

DMA方式的特点

主存与DMA接口之间有一条数据通路,因此主存和设备交换信息时,不通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场。

注意:DMA接口和CPU若同时访问主存,CPU必须将总线占有权让给DMA接口使用,DMA接口采用周期窃取的方式占用一个存取周期。

DMA接口的功能和组成

功能:

  • 向CPU申请DMA传送。
  • 在CPU允许DMA工作时,处理总线控制权的转交。
  • 在DMA期间管理系统总线,控制数据传送。
  • 确定数据传送的起始地址和数据长度。
  • 在数据传送结束时,给出DMA操作完成的信号。

基本组成:

  • 主存地址寄存器AR:用于存放主存中需要交换数据的地址。
  • 字计数器WC:用于记录传送数据的总字数。
  • 数据缓存寄存器BR:用于暂存每次传送的数据。
  • DMA控制逻辑:负责管理DMA的传送过程,由控制电路、时序电路、命令状态控制寄存器等组成。
  • 中断机构:向CPU提出中断请求
  • 设备地址寄存器DAR:存放I/O设备的设备码。

DMA的工作过程

DMA传送过程:预处理、数据传送、后处理。

预处理:CPU对DMA接口进行预置信息处理,完成后,CPU继承执行原程序。当I/O设备准备好后,便通过DMA接口向CPU提出占用总线的申请,获取总线的控制权后,数据的传送便由DMA接口进行管理。

数据传送:DMA方式以数据块为单位传送数据。

后处理:当DMA的中断请求得到响应后,CPU停止原程序的执行,转去执行中断服务程序,做一些DMA的结束工作。

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值