返回顶部

计算机组成原理之组成

计算机的总线

总线的概述

  • 提供了对外连接的接口

  • 不同设备可以通过USB接口进行连接

  • 连接的标准,促使外围设备接口的统一

 没有总线如下,连接复杂,不好扩展

 

 有总线

 总线的分类

  • 片内总线

  • 系统总线

片内总线

高集成度芯片内部的信息传输线

  • 芯片内部的总线

  • 寄存器与寄存器之间

  • 寄存器与控制器、运算器之间

 系统总线

CPU、主内存、IO设备、各组件之间的信息传输线

  • 数据总线

  • 地址总线

  • 控制总线

数据总线

一般与CPU位数相同(32位、64位)

  • 双向传输各个部件的数据信息

  • 数据总线的位数(总线宽度)是数据总线的重要参数

地址总线

地址总线位数=n,寻址范围:0~𝟐 𝒏

  • 指定源数据或目的数据在内存中的地址

  • 地址总线的位数与存储单元有关

 控制总线

  • 控制总线是用来发出各种控制信号的传输线

  • 控制信号经由控制总线从一个组件发给另外一个组件

  • 控制总线可以监视不同组件之间的状态(就绪/未就绪)

 总线的仲裁

作用:为了解决总线使用权的冲突问题

总线的仲裁方法

  • 链式查询

  • 计时器定时查询

  • 独立请求

链式查询

  • 好处:电路复杂度低,仲裁方式简单

  • 坏处:优先级低的设备难以获得总线使用权

  • 坏处:对电路故障敏感

1拥有优先使用权

 计时器定时查询

  • 仲裁控制器对设备编号并使用计数器累计计数

  • 接收到仲裁信号后,往所有设备发出计数值

  • 计数值与设备编号一致则获得总线使用权

 

独立请求

  • 每个设备均有总线独立连接仲裁器

  • 设备可单独向仲裁器发送请求和接收请求

  • 当同时收到多个请求信号,仲裁器有权按优先级分配使用权

好处:响应速度快,优先顺序可动态改变

设备连线多,总线控制复杂

计算机的输入输出设备

输入输出接口的通用设计

 输入输出接口的通用设计

数据线

状态线

命令线

设备选择线

数据线

  • 是I/O设备与主机之间进行数据交换的传送线

  • 单向传输数据线

  • 双向传输数据线

状态线

  • IO设备状态向主机报告的信号线

  • 查询设备是否已经正常连接并就绪

  • 查询设备是否已经被占用

命令线

  • CPU向设备发送命令的信号线

  • 发送读写信号

  • 发送启动停止信号

设备选择线

  • 主机选择I/O设备进行操作的信号线

  • 对连在总线上的设备进行选择

CPU与IO设备的通信

  • 程序中断

  • DMA(直接存储器访问)

CPU速度与IO设备速度不一致

程序中断

  • 当外围IO设备就绪时,向CPU发出中断信号

  • CPU有专门的电路响应中断信号

 

DMA(直接存储器访问)

  • DMA直接连接主存与IO设备

  • DMA工作时不需要CPU的参与

 计算机存储器

 

 

 

 

 

缓存-主存层次

  • 原理:局部性原理

  • 实现:在CPU与主存之间增加一层速度快(容量小)的Cache

  • 目的:解决主存速度不足的问题

局部性原理

  • 局部性原理是指CPU访问存储器时,无论是存取指令 还是存取数据,所访问的存储单元都趋于聚集在一个 较小的连续区域中。

 计算机的主存储器与辅助存储器

主存储器——内存

辅助存储器——磁盘

主存储器——内存

  • RAM(随机存取存储器:Random Access Memory)
  • RAM通过电容存储数据,必须隔一段时间刷新一次
  • 如果掉电,那么一段时间后将丢失所有数据

 

 辅助存储器——磁盘

  • 表面是可磁化的硬磁特性材料

  • 移动磁头径向运动读取磁道信息

  • 先来先服务算法

  • 最短寻道时间优先

  • 扫描算法(电梯算法)

  • 循环扫描算法

 先来先服务算法

  • 按顺序访问进程的磁道读写需求

 最短寻道时间优先算法 

  • 与磁头当前位置有关 

  • 优先访问离磁头最近的磁道

 

 扫描算法(电梯算法) 

  • 每次只往一个方向移动

  • 到达一个方向需要服务的尽头再反方向移动

 计算机的高速缓存

 

 

 

 

 例子:假设主存用户空间容量为4G,字块大小为4M,字长为32位,则对于字 地址中的块地址m和块内地址b的位数,至少应该是多少?

 

 

 

 命中率

 

 高速缓存的工作原理

 命中率是衡量缓存的重要性能指标

 理论上CPU每次都能从高速缓存取数据的时候,命中率为1

 

 

 例子:假设CPU在执行某段程序时,共访问了Cache命中2000次,访问主存 50次,已知Cache的存取时间为50ns,主存的存取时间为200ns,求Cache主存系统的命中率、访问效率和平均访问时间。

 

 例子:假设CPU在执行某段程序时,共访问了Cache命中2000次,访问主存 50次,已知Cache的存取时间为50ns,主存的存取时间为200ns,求Cache主存系统的命中率、访问效率和平均访问时间。

 

 例子:假设CPU在执行某段程序时,共访问了Cache命中2000次,访问主存 50次,已知Cache的存取时间为50ns,主存的存取时间为200ns,求Cache主存系统的命中率、访问效率和平均访问时间。

 

 高速缓存的替换策略

  • 随机算法

  • 先进先出算法(FIFO)

  • 最不经常使用算法(LFU)

  • 最近最少使用算法(LRU) 

 

 先进先出算法(FIFO)

  •  把高速缓存看做是一个先进先出的队列

  •  优先替换最先进入队列的字块

 最不经常使用算法(LFU)

  • 优先淘汰最不经常使用的字块

  • 需要额外的空间记录字块的使用频率

最近最少使用算法(LRU)

  • 优先淘汰一段时间内没有使用的字块

  • 有多种实现方法,一般使用双向链表

  • 把当前访问节点置于链表前面(保证链表头部节点是最近使用的)

计算机的指令系统

机器指令的形式

 

 

 

 

 

数据传输

  • 寄存器之间、寄存器与存储单元、存储单元之间传送

  • 数据读写、交换地址数据、清零置一等操作

算术逻辑操作

  • 操作数之间的加减乘除运算

  • 操作数的与或非等逻辑位运算

移位操作

  • 数据左移(乘2)、数据右移(除2)

  • 完成数据在算术逻辑单元的必要操作

控制指令

  • 等待指令、停机指令、空操作指令、中断指令等

机器指令的寻址方式

  • 指令寻址

  • 数据寻址

 

 

 

 

 计算机的控制器

 程序计数器

  • 程序计数器用来存储下一条指令的地址

  • 循环从程序计数器中拿出指令

  • 当指令被拿出时,指向下一条指令

时序发生器

  • 电气工程领域,用于发送时序脉冲

  • CPU依据不同的时序脉冲有节奏的进行工作

指令译码器

  • 指令译码器是控制器的主要部件之一

  • 计算机指令由操作码和地址码组成

  • 翻译操作码对应的操作以及控制传输地址码对应的数据

指令寄存器

  • 指令寄存器也是控制器的主要部件之一

  • 从主存或高速缓存取计算机指令

主存地址寄存器

  • 保存当前CPU正要访问的内存单元的地址

  • 保存当前CPU正要读或写的主存数据

通用寄存器

  • 用于暂时存放或传送数据或指令

  • 可保存ALU的运算中间结果

  •  容量比一般专用寄存器要大

计算机的运算器

数据缓冲器

  • 分为输入缓冲和输出缓冲

  • 输入缓冲暂时存放外设送过来的数据

  • 输出缓冲暂时存放送往外设的数据 

ALU

  • ALU:算术逻辑单元,是运算器的主要组成

  • 常见的位运算(左右移、与或非等)

  • 算术运算(加减乘除等)

状态字寄存器

  • 存放运算状态(条件码、进位、溢出、结果正负等)

  • 存放运算控制信息(调试跟踪标记位、允许中断位等)

通用寄存器

  • 用于暂时存放或传送数据或指令

  • 可保存ALU的运算中间结果

  • 容量比一般专用寄存器要大

 计算机指令的执行过程

指令执行过程

 

 

 CPU的流水线设计

  •  类似工厂的装配线

  • 工厂的装配线使得多个产品可以同时被加工

  • 在同一个时刻,不同产品均位于不同的加工阶段

 计算机的异构计算设备

图像处理器(GPU)

  • 又称显示核心、视觉处理器、显示芯片

  • 擅长执行复杂的数学和几何计算

 

 

 

 Intel

  • 主要是集成显卡,配合自家的CPU

  • 占据GPU市场的60%以上

Nvidia

  • 世界上最大的独立显卡厂商

  • Geforce系列、Quadro系列、Tesla系列

AMD

  • 自AMD收购ATI后,市场进一步扩大

  • 世界上第二大的独立显卡厂商

  • 是常见游戏机Xbox、PS4等的GPU厂商

 

posted @ 2020-02-08 14:14  Crazymagic  阅读(316)  评论(0编辑  收藏  举报