计算机组成原理-----通过B站上哈工大刘宏伟老师的视频学习了

我对这个课程在mooc大学和一些其它网站找了好几个学习,对比的话我觉得刘老师说的比较详细、具体,让我更容易接受,其它的一些视频我都只看了一部分就有点想玩三国杀了

1、计算机系统概论

(1)、相关简介

在这里插入图片描述

(2)、基本组成

(2.1)、冯诺依曼计算机特点:
  • 计算机由五大部件组成
  • 指令和数据以同等地位存于存储器,可按地址寻访
  • 指令和数据用二进制表示
  • 指令由操作码和地址码组成
  • 存储程序
  • 以运算器为中心
(2.2)、硬件框图
早期的冯诺依曼计算机以运算器为核心,但是限制了电脑的计算处理速度
然后发展到以存储器为核心计算机
现代计算机硬件框图, 以cpu为核心

在这里插入图片描述

(2.3)、计算ax^2+ bx+ c程序清单

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200306213434711.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzgzNDEyMA==,size_16,color_FFFFFF,t_70

(3)、存储器

  • 存储单元:存放一串二进制代码
  • 存储字:存储单元中二进制代码的组合
  • 存储字长:存储单元中二进制代码的位数
  • 按地址寻访:每个存储单元赋予一个地址号
    这里是引用
    在这里插入图片描述
  • MAR:存储器地址寄存器,反映的是存储单元,地址是二进制表示,4位有16个存储单元
  • MDR:存储器数据寄存器,反映的是存储字长

(4)、运算器

这里是引用
在这里插入图片描述

(5)、控制器

这里是引用
在这里插入图片描述

  • IR:存放的是从MDR取出来的指令,有操作码+地址码,一般分别发给CU+MAR
  • PC:程序的开始的取首地址,然后自增,发给MAR地址,在存储器取

(6)、实例

完成一条指令为例,pc自增继续取吓一条
在这里插入图片描述在这里插入图片描述

2、 总线

(2.1)、 总线的基本概念

  • 总线:连接各个部件的信息传输线,是各个部件共享的传输介质(串行、并行传输)

(2.2)、 总线的分类

1.片内总线:芯片内部的总线
2.通信总线:计算机系统之间的之间的通信
3.系统总线:计算机内各部件的传输线

  • 数据总线: 双向传输,与机器字长、存储字长有关,CPU与内存或其他器件之间的数据传送的通道
  • 地址总线:单向传输,与存储地址、I/O地址有关,地址总线决定了cpu所能访问的最大内存空间的大小。
    eg: 10根地址线能访问的最大的内存为1024位二进制数据(1024个内存单元)(1B)
  • 控制总线: CPU通过控制总线对外部器件进行控制

(2.3)、 总线结构

总线结构比较多,有单总线结构、双总线结构、三总线结构、四总线结构等等
总线结构详解

(2.4)、 总线控制

1、总线判优控制:哪个主设备使用总线
  • 链式查询方式:各申请总线的设备合用一条总线作为请求信号线,而总线控制设备的响应信号线则串接
    BR–>BG–>BS
    在这里插入图片描述
  • 计数器定时查询:集中式总线裁决方式之一,设备要求使用总线时通过一条公用请求线发出,总线控制器按计数的值对各设备进行查询。
    在这里插入图片描述
  • 独立请求查询:每一个设备都有一个独立的总线请求信号线送到总线控制器,控制器也给各设备分别发
    在这里插入图片描述
2、总线通信控制:主设备与从设备通信问题
  • 同步通信:由统一时标控制数据传送,适用于总线较短的情况
    同步式数据输入:
    T1 主模块发地址;
    T2 主模块发读命令;
    T3 从模块提供数据;
    T4 主模块撤消读命令。
    在这里插入图片描述

同步式数据输出:
T1 主模块发地址;
T1.5 主模块提供数据;
T2 主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中:
T4 主模块撤消写命令和数据等信号。在这里插入图片描述

  • 异步通信:采用应答方式,没有公共时钟标准
    模式:请求–>回答
    不互锁:不管是否接到
    缺点:不可靠
    半互锁方式:没有接到请求,连接会保持,没有接到应答,一段时间就会断开连接
    缺点:可能会让请求信号保持高电平
    全互锁方式:需要接到请求或应答(感觉有点像http中的握手)在这里插入图片描述
  • 半同步通信:同步、异步结合
    在这里插入图片描述
  • 分离式通信:充分挖掘系统总线每个瞬间的潜力,没有了wait这个等待,主设备可以变成从设备
    在这里插入图片描述

3、主存储器

(1)、简要

1.1、基本组成

主存储器主要结构如图所示:
在这里插入图片描述

1.2、主存与CPU之间的联系

在这里插入图片描述

(2)、半导体存储芯片简介

2.1、半导体存储芯片的基本结构

地址线:单向的传输
数据线:双向的传输
片选线:接到译码器的输出端,可以使存储芯片组合使用,传输地址,CS、CE
读写控制线:WE(低电平写、高电平读) 、OE(允许读)

这里是引用

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

线选法:在线选法中,地址码只需进行一次译码就可选择存储单元,其地址码位数越长,译码器结构越复杂,成本越高,故该寻址方式适合在速度较快、容量较小的存储芯片中使用。
在这里插入图片描述
重合法:将线选法中单一的地址译码器分成了行地址译码器和列地址译码器,通过
两者互“与”来选中存储单元,大大简化了外部译码线路,通过片选线,可以加上n个存储芯片,大容量的时的问题就解决了,
在这里插入图片描述

(3)、随机存取存储器( RAM )

3.1、静态RAM (SRAM):一般做cache缓存器

通过行地址,先确定哪一行的数据。在通过列地址,一次性选择四列,就确定的四位数据读写。重合法
在这里插入图片描述

3.2、动态RAM ( DRAM ):一般做主存

在这里插入图片描述

|  |

(4)、只读存储器(ROM)

4.1、掩模ROM ( MROM ) :不可擦写
4.2、PROM (一次性编程) :熔丝,只可以擦写一次

在这里插入图片描述

4.3、EPROM (多次性编程) :电可擦写,多次擦写

在这里插入图片描述

4.4、EEPROM (多次性编程) :电可擦写、局部擦写、全部擦写
4.5、Flash Memory (闪速型存储器) :价格便宜、集成度高、电可擦洗重写、具备RAM 功能

(5)、存储器与CPU 的连接

5.1、扩展
位扩展: 增加的数据线,相等于提高的高速路车的道路

在这里插入图片描述

字扩展: 增加的地址线(片选线),扩展芯片的容量,相等于提高的高速路车的容量

在这里插入图片描述

位、字扩展:将8个分为四组,A10、A11是00选择第一组,01第二组,类推。

在这里插入图片描述

(6)、提高访存速度的措施

采用高速器件(将内存传输硬件提高)、采用层次结构Cache–主存、调整主存结构
(6.1)、调整主存结构
6.1.1 单体多字系统:增加存储器的带宽

在这里插入图片描述

6.1.2 多体并行系统

高位交叉:各个体并行工作,但是容易出现一个芯片有难,其它芯片围观的情况
在这里插入图片描述
低位交叉:各个体轮流编址,在不改变存取周期的前提下,增加存储器的带宽。先写入M0,在写入M1…
在这里插入图片描述在这里插入图片描述

6.1.3 高性能存储芯片

SDRAM (同步DRAM)、RDRAM、带Cache的DRAM

(6.2)、Cache–主存
6.2.1 Cache:主要是CPU发展速度太快了,内存跟不上节奏,但是不得不提高读写速度,由此,产生了cache缓存寄存器。
读:

在这里插入图片描述

在这里插入图片描述

6.2.2 Cache-主存的地址映射
①、直接映射:将内存划分为n个cache为n个区;区号+cache块号+字块内地址,利用率低,速度快。某一主存块只能固定映射到某一缓存块

在这里插入图片描述

②、全相联映射:cache块号+字块内地址,内存利用率高,但是速度慢。某一主存块能映射到任一缓存块

在这里插入图片描述

③、组相联映射,这是由直接映射+全相联映射组合而成的,内存利用率较高,速度也快。 将cache分组,zhuccqi就分为cache组数的n个区。也就是内存每个区的第0块可以选择cache第一组的任意一块。某一主存块只能映射到某一缓存组中的任一块

在这里插入图片描述

6.2.3、替换算法
①先进先出(FIFO )算法
②近期最少使用(LRU)算法

4、IO

(1)、IO设备

①、人机交互设备:键盘、鼠标、打印机、显示器
②、计算机信息存储设备:硬盘、光盘、磁带
③、机—机通信设备:调制解调器等

(2)、IO接口

①、接口:实现设备的选择、实现数据缓冲达到速度匹配、实现数据串—并格式转换、实现电平转换、传送控制命令、反映设备的状态(“忙”、“就绪”、“中断请求”)
②、接口的功能和组成:设备选择电路、命令寄存器和命令译码器、设备状态器、数据缓存寄存器DBR、控制逻辑电路

在这里插入图片描述

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

①、程序查询方式:
大概流程:Cpu发一个地址给IO接口的设备选择电路、设备选择电路对比传送过来的地址,一样就发送1;Cpu发送一个启动命令;当两个命令都为1时&通过非门传为0;到B时通过非门改成1,D改成0;启动设备;将数据输入到DBR;设备工作结束,将B改成0,将D改成1;发送准备就绪命令给Cpu;Cpu来到DBR取数据。(在Cpu发送启动命令后一直在等设备,利用率不高)

在这里插入图片描述

②、程序中断方式
大概流程:在数据放到DBR之前与程序查询方式流程一样;设备工作结束,将B改成0,将D改成1;此时MASK (中断屏蔽触发器)如果没有被Cpu屏蔽的话会发送0,,通过非门改成1;两个1通过&门;将通过INTR(中断请求触发器)跟Cpu发送中断请求;并且去排队,把比自己第一级的排队器都设置为0;等Cpu返回中断响应;通过设备编码器发送向量地址;Cpu来DBR拿数据存到内存(和程序查询方式一样都是,IO接口——CPU——内存。此时Cpu利用率大大提高,只需要在中断请求过后来取数据,不用长时间等待。)

在这里插入图片描述

③、DMA方式
1. 内存、cpu、DMA三者连接图:不在通过CPU去使用内存了

在这里插入图片描述

2. DMA 与主存交换数据的三种方式
停止CPU 访问主存(DMA工作CPU就停止)、周期挪用或周期窃取(划分为一个个小周期t,在t中DMA需要使用就给它)、DMA 与CPU 交替访问(划分一个一个个周期t,每个用一个周期,不用返还总线控制权)
3.DMA 接口组成
大概流程:设备去BR中读取数据(也可写);然后继续发送请求DREQ,说我准备好了;DMA中的控制逻辑发送请求HRQ给CPU,需要占用内存和总线;CPU允许的话,会返回同意请求HLDA;AR发送地址总线;控制逻辑返回一个应答给硬件;CPU将通过地址取到数据放到BR;然后修改AR地址寄存器和WC计数器;计数器没有溢出的话循环这些步骤,直到取完,就会溢出;然后会发送信号给中断机构,给CPU发送中断请求;让CPU处理‘后处理’。(DAR设备地址,AR主存地址、WC计数器,BR数据缓冲器;DAR、AR、WC都是预处理有的数据)

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

(4)、DMA 方式与程序中断方式的比较

在这里插入图片描述

还没有学完,因为有一些东西需要急着去学,先记录到这里,还有几章等闲下来了在补

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值