01 - 计算机结构及其组成和性能指标

186 阅读5分钟

这是我参与更文挑战的第18天,活动详情查看: 更文挑战

什么是计算机系统

计算机系统 = 硬件 + 软件

硬件 - 计算机的实体, 如主机, 外设

软件 - 由具有种类特殊功能的程序组成

硬件的发展

第一代 逻辑元件为电子管, 运算速度几千-几万次/s, 内存为汞延迟线或磁鼓, 外存为穿孔卡牌或纸带

第二代 逻辑元件为晶体管, 运算速度为几万-几十万次/s, 内存为磁芯存储器, 外存为磁带

第三代 逻辑元件为中小规模集成电路, 运算速度为几十万-几百万次/s, 内存为半导体存储器, 外存为磁带或磁盘

第四代 逻辑元件为大规模或超大规模集成电路 , 无处速度为上千万-万亿次/s, 内存为半导体存储器, 外存为磁带, 磁盘, 光盘或半导体存储器

摩尔定律

集成电路上可容纳的晶体管数目, 约每隔18个月便会增加一倍, 整体性能也将提升一倍.

它揭示了信息技术进步的速度

软件的发展

第一代用机器语言, 汇编语言编写程序

第二代用高级程序设计语言编写程序

第三代 - 出现操作系统, 数据库技术及管理系统, 结构化设计理念, 提出软件工程的概念

第四代 - 出现图形界面, 开始使用图像, 声音等多媒体信息

第五代 - 面向对象程序设计, 浏览器, C/S模式, B/S模式

目前的发展趋势

一种是微型计算机向更微型化, 网络化, 高性能, 多用途方向发展

一种是巨型计算机向更巨型化, 超高速, 并行处理, 智能化方向发展

计算机硬件的基本组成

输入设备 - 将信息转换成机器能识别的形式

输出设备 - 将信息转换成人们熟悉的形式

存储器 - 存放数据和程序

运算器 - 算术运算, 逻辑运算

控制器 - 指挥各个部件, 使程序能够运行

早期冯诺依曼机的结构

冯诺依曼结构

存储程序

首次提出存储程序的概念

它是指将指令以二进制代码的形式事先输入计算机的主存储器, 然后按其在存储器中的首地址执行程序的第一条指令, 以后就按该程序的规定顺序执行其它指令, 直至程序执行结束

软件和硬件在逻辑上是等效的

对于乘法运算, 可以设计一个专门的硬件电路实现乘法运算, 也可以使用软件的方式, 执行多次加法运算来实现

特点

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

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

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

  4. 指令由操作码和地址码组成

  5. 存储程序

  6. 以运算器为中心 - 输入输出设备与存储器之间的数据传输通过运算器完成

现代计算机的结构

现代计算机结构

以存储器为中心

主存储器的基本组成

存储体 - 可以理解为公寓, 里面有一间间的小屋子, 用来存放东西, 每个小屋子就是一个个的存储单元, 存放一串二进制代码

MAR - 存地址寄存器, 指明要读/写哪个存储单元, 它的位数可以反映存储单元的个数

MDR - 数据寄存器, 用于暂时存放读/写的数据

运算器的基本组成

它是用来实现算术运算(加减乘除), 逻辑运算(与或非)的

ACC - 累加计数器, 用于存放操作数或运算结果

MQ - 乘商寄存器, 在乘除运算时, 用于存放操作数或运算结果

X - 通用寄存器, 用于存放操作数

ALU - 算术逻辑单元, 通过电路实现算术运算或逻辑运算

控制器的基本组成

CU - 控制单元, 分析指令, 给出控制信号

IR - 指令寄存器, 存放当前执行的指令

PC - 程序计数器, 存放下一条指令地址, 有自动加1的功能

计算机系统的层次结构

高级语言机器

汇编语言机器

操作系统机器

机器语言机器

微程序机器

下层是上层的基础, 上层是下层的扩展

三种级别的语言

高级语言 - C, C++, Java

汇编语言 - 助记符

机器语言 - 二进制代码

高级语言通过编译器翻译成汇编语言, 汇编语言通过汇编器翻译成机器语言

高级语言也可通过解释器翻译成机器语言

编译程序 - 将高级语言编写的源程序全部语句一次全部翻译成机器语言程序, 之后再执行(只需翻译一次)

解释程序 - 将源程序的一条语句翻译成对应的机器语言, 并立即执行. 紧接着再翻译源程序的下一句(多次, 每次都要翻译)

计算机的性能指标

CPU时钟周期, 单位为微秒或纳秒

CPU主频 = 1 / CPU时钟周期

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

CPU执行时间 = CPU时钟周期数 / 主频 = (指令条数 * CPI) / 主频

IPS = 主频 / 平均CPI, 每秒执行多少条指令

FLOPS = 每秒执行多少次浮点运算

数据通路带宽 - 数据总线一次所能并行传送信息的位数

吞吐量 - 指系统在单位时间内处理请求的数量

响应时间 - 从用户向计算机发送一个请求, 到系统对该请求做出响应并获得它所需要的结果的等待时间