计算机系统简介
面对复杂系统的处理方法:
- 抽象
- 3 y
- 层次化 Hierachy 将被设计的系统划分为多个模块或子模块
- 模块化 Modularity 有明确定义 well-defined 的功能和接口
- 规则性 regularity 模块更容易被重用 (标准)
现代计算机的多态性
- Sensors
- Info.applications
- Laptop
- PC/Client
- Server
- Mainframe
- HPC
- 智慧地球
把感应器嵌入到和装备到电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道等各种物体中,
并且被普遍连接,形成所谓的物联网,然后将物联网与现有的互联网整合起来,实现人类社会与物理系统的整
合,形成智慧地球。
计算机体系结构和计算机组成
计算机体系结构
程序员所见到的计算机系统的属性概念性的结构与功能特性。(指令系统、数据类型、寻址技术、I/O原理)
计算机组成
实现计算机体系结构所体现的属性。(具体指令的实现)
计算机的基本组成
冯-诺伊曼结构的特点
- 计算机由五大部件组成
- 输入设备 将信息转换成机器能识别的形式
- 输出设备 将结果转成人类熟悉的形式
- 存储器 存放数据和程序
- 运算器 算术运算和逻辑运算
- 控制器 指挥控制程序的运行
- 指令和数据以同等地位存于存储器,可按地址寻址
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序 指令和数据同等地位都存在存储器中
- 以运算器为中心
缺点:以运算器为中心,会导致运算器非常繁忙,成为瓶颈。
可计算性理论
一个现实中的问题,如何用计算机来解决,是不是所有的问题都可以用计算的方法解决?
算法的不同对生成的指令条数有很大的影响。
存储器的基本组成
存储单元 Memory Cell
- 存储单元是计算机存储器中最基本的存储单元
- 每个存储单元只能存储一个二进制位
- 存储单元是构成存储器的基本构件,大量的存储单元组合在一起形成存储器
存储字 Memory Word
- 存储字是由一组固定数量的存储单元组成的一个存储单位
- 存储字的长度(即包含的位数)是存储器的一个基本特性
- 一个存储字可以存储一个完整的数据单元,例如一个整数或一个指令
- 存储字的长度通常是计算机系统架构设计的一部分,例如32 位系统中的存储字长通常为32为
存储字长 Word length
- 存储字长是一个存储字中包含的二进制位数
- 存储字长决定了存储器能够一次性存储和处理的数据量
- 常见的存储字长有8位、16位、32位、64位等
- 存储字长通常与处理器的架构相关,影响计算机的性能和数据处理能力。
举例:
在一个 32 位计算机系统中
- 每个存储单元存储 1 位
- 一个存储字由 32 个存储单元组成,可以存储 32 位的数据
- 存储字长为 32 位
存储单元的其他理解
在计算机存储体系中,通常的理解是一个存储单元 Memory Cell 可以存储一个二进制位,但是在某些文献或
特定上下文中,存储单元也可能指代能够存储更多比特的单位,如字节或更大的存储单位,为了避免混淆:
位
最小的存储单位
存储单元
- 在狭义上,通常指一个能存储一个位的物理或逻辑单元
- 在广义上,有时也指代能够存储多个位的更复杂的存储结构
字节
一般由 8 个连续的位组成,是现代计算机中最常用的存储单位
为了避免混淆,特别是在讨论具体存储器设计时,明确定义所讨论的“存储单元”的位数是很重要的。
如果只讨论最基本的物理存储单元,那么一个存储单元通常理解为存储一个位(bit)。在实际存储器实现中,
存储器地址通常是按字节(byte)寻址的,一个地址对应一个字节的存储空间,即8位。
本文中的存储单元是按字节理解的。
MAR Memory Address register
存储器地址寄存器,反映存储单元的个数。
- 功能:MAR 用于存储当前访问的内存地址,处理器在执行指令时,需要从内存中读取或向内存中写入数据,这时就需要一个寄存器来保存要访问的内存地址,这就是 MAR 的作用
- 用途:当处理器需要从内存读取数据时,地址被载入 MAR,然后通过地址总线发送到内存,当处理器需要向内存写入数据时,地址也同样被载入 MAR
- 作用流程:处理器将需要访问的内存地址载入 MAR,内存控制单元使用 MAR 中的地址进行内存访问
MDR Memory Data Regiser
存储器数据寄存器,反映存储字长。
- 功能:MDR用于存储从内存中读取的数据或即将写入内存的数据。它是处理器和内存之间传递数据的暂存区域
- 用途:当处理器从内存中读取数据时,数据首先被加载到 MDR 中,然后处理器再从 MDR 中获取数据。当处理器需要向内存写入数据时,数据首先被加载到 MDR 中,然后再写入指定的内存地址
- 作用流程:当读取操作时,内存将指定地址的数据加载到 MDR 中,然后处理器从 MDR 中读取数据,当写入数据时,处理器将数据加载到 MDR 中,然后内存将 MDR 中的数据写入指定的地址
这两个寄存器在处理器和内存之间的通信过程中起到关键的桥梁作用,使得内存操作能够准确、高效地进行。
比如 MAR 是 4 位,MDR 是 8 位,则存储单元的个数是 16 ,存储字长是 8。
运算器
ALU
控制器
- 解释指令
- 保证指令的按序执行
完成一条指令:
- 取指令 PC
- 分析指令,把操作码部分发送给控制器
- 执行指令
PC 存放当前要执行指令的地址,具有计数功能。
IR 指令寄存器存放当前要执行的指令。
性能指标
机器字长
CPU 一次能处理数据的位数,与 CPU 中的寄存器位数有关。机器字长越长性能越好。
运算速度
- 主频
- 核数,每个核支持的线程数
- CPI 执行一条指令所需时钟周期数
- MIPS 每秒执行百万条指令 (有一定的问题)
- FLOPS 每秒浮点运算次数