组原概述

9/9/2022 ComputerOrganization

计算机系统组成

硬件、软件系统

硬件系统和软件系统共同构成计算机系统,硬件是基础,软件是发挥硬件的条件

硬件系统主要包括:CPU、存储器、输入/输出控制系统

软件系统

  • 系统软件:提供无差别服务,如操作系统、实用程序、编译程序等
  • 应用软件:不关心,赚钱捏

硬件和软件具有逻辑等价性,即软件能完成的工作硬件也能完成,反之亦然。硬件实现更快,软件的迭代、修改更方便

语言级别

机器语言:代码效率高,执行速度快,硬件可直接执行,可读性差,不易变成,不易维护

汇编语言:可读性较好(助记符),出错便于检查和修改。可移植性差,对程序员要求高,必须十分熟悉计算机硬件结构的配置、指令系统和寻址方式低级语言

  • 也叫低级语言

高级语言:接近于自然语言,容易理解和掌握,与硬件无关。效率低,执行速度慢

  • 解释型语言:python、js,一行行处理(line by line),一步到位
  • 编译型语言:java、c、c++,需要编译器,编译得到目标代码,经过链接器形成链接模块,最后转化成机器语言

计算机系统层次结构

划分层次结构

第 0 级机器:完全由硬件组成,是机器的硬件核心

第 1 级机器:根据指令操作所需的控制时序,利用微指令编出的微程序控制数据在寄存器之间传送

第 2 级机器:能运行机器语言的机器,程序员可以在其上编写机器语言程序利用第 1 级的微程序进行解释并运行

第 3 级机器:操作系统机器

第 4 级机器:汇编语言机器

第 5 级机器:高级语言机器

第 6 级机器:应用语言机器

划分层次的意义

解耦计算机功能,硬件做下级,软件做上级

存储程序思想与冯诺依曼计算机

存储程序思想

第一台通用计算机 ENIAC 出现于1946年情人节,每秒 5000 次运算,占地 150 平米

冯诺依曼提出存储程序的思想,把程序和数据不加区别的对待,从内存中读数据,都存放在存储器中

并将计算机分成5部分:运算器、控制器、存储器、输入设备、输出设备

冯诺依曼计算机

根据存储程序的概念和二进制原理设计的电子计算机统称为“冯诺依曼型结构”计算机

特点:

  • 由五部分构成
  • 程序、数据都在存储器中
  • 数据以二进制表示
  • 指令由操作码和地址码组成
  • 指令在存储器中按执行顺序存放,并能自动执行

二进制简单、二进制稳态器好做,逻辑门电路实现逻辑运算简单

冯诺依曼计算机属于指令流驱动控制,并且属于串行结构,单指令流单数据流

早期,冯计算机以运算器为中心;现代计算机以寄存器为中心

计算机的硬件组成

输入设备

存储器:用以存放程序和数据,分为内存和外存,CPU只直接读取内存

  • 按地址进行存取,参考汇编
  • 每个存储单元的大小取决于编址方式

编址方式

  • 比特,存 1/0
  • 字节,存 8 个 bit
  • 字,也叫 word,往往等于 n 倍的 B,即包含多个字节

这里的字节和字我们称作编址单元,为什么编制单元是字或者字节?

买鸡蛋

  • 买200个,按个数
  • 买2000个,按盘数
  • 买20000个,按箱数

计数单位越大,计数次数越少

寻址时,回去地址寄存器 MAR 去找地址,若存储单位大,地址数量少,MAR 负担就小,反之 MAR 就要大

输出设备

运算器:执行部件,算数逻辑单元

控制器

计算机的指令执行过程

取指令:从内存中寻址取出

分析指令:译码阶段

访存取数阶段:根据指令取出相应数据

执行指令:对数据进行相应操作并得到结果

结果写回阶段

计算机性能指标

吞吐率

单位时间内处理请求的数量

响应时间

给了一个请求以后,多久后能响应

CPU 时钟周期

主频的倒数,就是主频振动一个来回经历的时间,CPU最小的时间单位,每个动作至少需要一个时钟周期

主频

由硬件决定,时间实际是一种约定(跨年的时候会停一秒左右校正),计算机只能通过石英单晶体的振动来计时,而主频实际上就是振动的频率。也可以理解为每秒中时间周期的个数

主频变高,时钟周期一定会变小,但时钟周期数CPI一定会变多,完成一件事的时间为:事的数量 x 时钟周期数 x 时钟周期

他们是矛盾的,需要结合场景计算

CPI

执行一条指令所需的时钟周期数

CPU 执行时间

CPU 执行一个程序所花时间

Tcpu = ln x CPI x Tc = ln x CPI x 1/Rc

  • ln为指令数
  • Rc为主频
  • CPI为一条指令所耗时钟周期个数
  • Tc为时钟周期长度

很明显可以看出主频越快,所用时间越短

MIPS 和 MFLOPS

MIPS:每秒钟指令的执行条数,以百万为单位

MIPS = ln / (Tcpu x 10^6) = 1 / (CPI x Tc x 10^6)

  • 带入 Tcpu 的公式

MIPS 用于评价标量机

MFLOPS = 浮点操作次数 / (执行时间 x 10^6)

适用于衡量向量机

计算机体系和并行系统

计算机的体系结构

Flynn 分类法,将计算机划分成四种基本类型,M(multi)指多,S指单(single)

  • SISD:单指令流单数据流,完全的串行,冯诺依曼机
  • MIMD:多指令流多数据流,同时执行多个指令流,指令流可以在单个时钟周期处理多个数据,一定是多核心
  • SIMD:单指令流多数据流,现在的单核计算机基本属于该类,能够在单时钟周期内处理多个数据
  • MISD:多指令流单数据流,鬼畜

多核处理器

每个CPU是一个独立的处理器,可以有自己独立的cache,也可以共享cache

SMP 系统结构

对称多处理器技术,单处理器同时只能处理一个线程,若多线程,CPU数量必须达到多个,SMP技术使得多个CPU可以同时工作

各处理器之间的关系完全对等,共享相同的物理内存

但要注意并不是核越多越好,一味增加内存冲突加剧且CPU浪费增加,SMP利用率最好的情况是2-4个CPU

  • 松耦合的多处理技术:早期分布式的雏形
  • 紧耦合的多处理技术
  • 对称多处理技术
Last Updated: 7/19/2024, 1:25:05 PM
妖风过海
刘森