计组第一章 计算机系统概论

第一章 计算机系统概论

1.1 计算机系统简介

1.1.1 现代计算机的多样性

计算机的种类有很多

image-20221127205127024

HPC:高性能计算机

物联网

​ 把感应器嵌入和装备到电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道等各种物体中,并且被普遍连接,形成所谓“物联网”,然后将“物联网”与现有的互联网整合起来,实现人类社会与物理系统的整合,形成智慧地球

​ 如果这个物联网有反馈系统,就是前端将信息反馈给后端,后端发出信号给前端甚至做出相应的动作,就形成了CPS

老师还讲了一些世界最快的计算机,地址在这

1.1.2. 计算机的软硬件概念

计算机主要由硬件和软件构成

计算机系统

硬件通过软件的每条指令发挥作用

软硬件层次结构

image-20221127211510791

  1. 硬件为软件提供接口,比如指令集,软件通过接口控制硬件
  2. 软件中的系统软件管理软硬件,给用户提供人机交互界面
  3. 应用软件利用系统软件的接口调用系统软件的功能

从物理结构看

image-20221127212320260

总共有9层,机组研究的就是 Logic逻辑层和Micro-architecture微结构层

从程序员的角度来看

image-20221127212420254 image-20221127212854709
  1. 最早出现的是机器语言

  2. 然后是汇编语言,将机器语言符号化

  3. 机器不能识别汇编语言的,要用操作系统将汇编语言转化为机器语言,就好像在机器外部加了一层罩子

    一条机器语言一般对应一条汇编语言,即一一对应的

  4. 然后出现出现了高级语言,相当于在汇编语言外部加了一层罩子

  5. 一条机器语言的执行也是有很多过程的,比如说取值,译码,执行等

    一条机器语言对应的多个微指令,即一个微程序

  6. 中间的虚线是软硬件的交接线,实现了软硬件功能的划分,也提供了软硬件的结构

1.1.3. 计算机体系结构&组成

  1. 计算机体系结构

    程序员所见到的计算机系统的属性概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)

  2. 计算机组成

    实现计算机体系结构所体现的属性(具体指令的实现)

  3. 总得来说,体系结构是提供接口定义的,组成是实现接口的

系统复杂性管理的方法-1:抽象

抽象

  1. 抽象-对于一个过程或者一件制品的某些细节有目的的隐藏,以便把其他方面、细节或者结构表达得更加清楚-----百度百科
  2. 抽象-指高级的模型,和低级的实体相对-----维基百科
  3. 抽象-隐藏系统中不重要的细节。-----David Harris

1.2 计算机的基本组成

1.2.1. 冯·诺依曼计算机

老师讲了一下冯诺依曼机器的历史

(1) 特点

  1. 计算机由五大部件组成

  2. 指令和数据以同等地位存于存储器,可按地址寻访

    当然,也有的是在分开存储的,比如开始程序

  3. 指令和数据用二进制表示

  4. 指令由操作码(执行什么操作)和地址码(操作数在哪)组成

  5. 存储程序(核心特征)

  6. 以运算器为中心

(2) 硬件框图

image-20221127214248150

(3) 问题

  1. 运算器既要实行运算,还要实现输入输出

    运算器为中心,运算器会成为计算机性能的瓶颈

  2. 硬件框图太乱,没有层次化,不利于分析

(4) 第一步改进

image-20221127214551107

image-20221127214558904表示数据的传输

但这个图看起来还是比较乱

1.2.2. 现代计算机硬件框图

image-20221127214949524

image-20221127215003877

这样可以将每个模块实现,然后再组成,构成硬件

一般框图就要这种自上而下的管理

系统复杂性管理的方法-2(3’Y)

3'Y

  • 层次化(Hierachy):将被设计的系统划分为多个模块或子模块
  • 模块化(Modularity):有明确定义(well-defined)的功能和接口,以便于子模块的组合
  • 规则性(regularity):模块更容易被重用

比如各个行业都会为行业内的产品制定一个标准,各个厂商根据这个标准来制作,就可以在任意场合使用

1.2.3.计算机的工作步骤

编程举例

image-20221127220846619

image-20221127220939433

问题:乘法的结果会超过ACC的长度

image-20221127221157845

1.2.4. 各个组件的细分

(1) 主存储器

image-20221127223608170

主存储器分为存储体,MAR,MDR

  1. 存储体

    image-20221127223718193

    1. 存储单元:存放一串二进制代码
    2. 存储字:存储单元中二进制代码的组合,就是保存的一个数据
    3. 存储字长:存储单元中二进制代码的位数,每个存储单元赋予一个地址号,按地址寻访
  2. MAR:存储器地址寄存区,反映存储单元的个数

  3. MDR:存储器数据寄存器,反映存储字长

image-20221127224240434

  1. MAR = 4位,都是01代码,从0000~1111,存储单元个数是16
  2. MDR = 8位,都是01代码,表示存储字长是8
  3. 那个长方体就相当于一个存储体
  4. 存储器的读出和写入就要靠MAR和MDR做间接存储

(2) 运算器

① 基本组成
image-20221127224923429 image-20221127224934408
  1. 加法过程中,如果是多个数相加的话,不能直接一起加,要两个两个加,因此将和与被加数都放在ACC里面,这样上一次的加法结果就能直接作为被加数了
  2. 减法同理
  3. 但是乘法除法中的被除数和被乘数都是放在X里面的
  4. MQ保存乘数和商,因此也将其成为乘商寄存器,MQ分别是乘和商的缩写
② 操作过程
a. 加法

image-20221127225415831

b. 减法

image-20221127225439976

c. 乘法

image-20221127225613023

​ 乘法是通过累加和移位的方式实现的,因此得有一个保存累加的结果,就是ACC,所以ACC要变为0

d. 除法

image-20221127225815529

(3) 控制器

控制器的功能

  1. 解释指令
  2. 保证指令的按序执行

image-20221128110922548

  1. PC:program counter,程序计数器,存放当前欲执行指令的地址, 具有计数功能(PC)+ 1 ——> PC,具体是加几和机器有关
  2. IR:instruction register,指令寄存器存放当前欲执行的指令
  3. CU:Control Unit,控制单元,控制执行指令

因此控制器的结构如下

image-20221128111106081

主存,运算器,控制器构成了主机

(4) 计算机的硬件结构图(具体)

image-20221128111407014

1.2.5. 指令在主机上的完成过程

完成一条指令分为取指令,分析指令,完成指令三个步骤

指令的地址保存在PC中,指令保存在存储体当中

(1) 取数

将存储体数据传到ACC中

image-20221128112011444

  1. 指令的地址存放在PC中,PC将地址给了MAR

  2. 在CU的作用下,MAR将地址给了存储体M

  3. 存储体根据地址将指令给了MDR

  4. MDR将指令传给IR指令寄存器

  5. IR将指令传给CU

    CU进行指令的分析,这里只是简化了

  6. CU控制IR将指令中的数据地址码传给MAR

  7. MAR又将地址传给了存储体

  8. 存储体将数据传给MDR

  9. MDR将数据传给ACC

(2) 存数

将ACC的数据传给存储体

  1. PC将指令的地址传给MAR
  2. MAR将地址传给存储体
  3. 存储体根据地址将指令传给MDR
  4. MDR将指令传给IR指令寄存器
  5. IR将指令传给CU分析
  6. CU分析之后,IR将地址传给MAR
  7. MAR将地址传给存储体
  8. ACC将数据传给MDR
  9. MDR将数据传给存储体

image-20221128112711221

与取数相比,最后两步的顺序不同

分析上面的过程,无非就是三部:取指令,分析指令,执行指令

  1. 取指令 PC -> MAR -> M -> MDR -> IR, (PC) + 1 -> PC
  2. 分析指令 OP(IR) -> CU
  3. 执行指令 AD(IR) -> MAR -> M -> MDR ->ACC

(3) 程序的执行过程

  1. 将程序通过输入设备送至计算机

  2. 程序首地址 ——> PC

  3. 启动程序运行

    1. 取指令 PC -> MAR -> M -> MDR -> IR, (PC) + 1 -> PC
    2. 分析指令 OP(IR) -> CU
    3. 执行指令 AD(IR) -> MAR -> M -> MDR ->ACC

    ……(多次执行三个步骤)

  4. 打印结果

  5. 停机

1.3 计算机硬件的技术指标

如果要买计算机,怎么考虑

  1. 买机器做什么
    1. 文本处理就要普通的笔记本等
    2. 游戏,机器学习需要较好的图像处理
  2. 价钱
  3. 机器的性能
    1. 处理速度快,内存容量大
    2. 价格便宜

以下是计算机硬件的主要技术指标

1.3.1. 机器字长

  1. CPU 一次能处理数据的位数 与 CPU 中的 寄存器位数 有关
  2. 一般来说,机器字长越长,速度越快

1.3.2. 运算速度

  1. 主频

  2. 核数以及每个核支持的线程数

  3. 指令的执行时间

    1. 吉普森法image-20221128113858508

      fi是指令的执行频率,ti是该条指令的执行时间

    2. CPI:执行一条指令所需时钟周期数

      IPC:一个时钟周期执行的指令数

    3. MIPS:每秒执行百万条指令

      但是指令执行的多不代表就快,还要看一条指令执行了多少条计算

    4. FLOPS:每秒浮点运算次数

1.3.3. 存储容量

存放二进制信息的总位数

image-20221128114306579

主存容量用 字节数 的清晰度不如 存储单元个数×存储字长

posted @ 2023-09-13 16:27  Crispy·Candy  阅读(93)  评论(0编辑  收藏  举报