计算机系统概述

计算机系统概述

一、计算机发展历程

1.什么是计算机系统

计算机系统 = 硬件 + 软件

硬件:计算机的实体,如主机、外设等

软件:由具有各种特殊功能的程序组成。

计算机性能的好坏取决于“软”、“硬”件功能的总和

软件又可分为 系统软件 和 应用软件

  • 系统软件如 操作系统、数据库管理系统、标准数据库、网络软件、语言处理程序、服务程序等——用来管理整个计算机系统
  • 应用软件如 微信、QQ等——按任务需要编制成的各种程序

2.硬件的发展

发展阶段时间逻辑元件速度(次/秒)内存外存
第一代1946-1957电子管几千-几万汞延迟线、磁鼓穿孔卡片、纸带
第二代1958-1964晶体管几万-几十万磁芯存储器磁带
第三代1964-1971中小规模集成电路几十万-几百万半导体存储器磁带、磁盘
第四代1972-现在大规模、超大规模集成电路上千万-万亿半导体存储器磁盘、磁带、光盘、半导体存储器
  • 第一代:电子管时代 体积超大、耗电量超大,逻辑元件电子管,使用机器语言编程
  • 第二代:晶体管时代 体积、功耗降低,出现了面向过程的程序设计语言FORTRAN,有了操作系统雏形
  • 第三代:中小规模集成电路时代 计算机主要用于科学计算等专业用途,高级语言迅速发展,开始有了分时操作系统
  • 第四代:大规模、超大规模集成电路时代 开始出现“微处理器”,微型计算机,个人计算机萌芽,操作系统:Windows、MacOS、Linux…

3.微处理器的发展

微处理器机器字长年份晶体管数目
80808位1974
808616位19792.9万
8028616位198213.4万
8038632位198517.5万
8048632位1989120.0万
Pentium64位1993310.0万
Pentium pro64位1995550.0万
Pentium II64位1997750.0万
Pentium III64位1999950.0万
Pentium IV64位20004200.0万

机器字长:计算机一次整数运算所能处理的二进制位数

4.摩尔定律

揭示了信息技术进步的速度,集成电路上可容纳的晶体管数目,约每18个月便会增加一倍,整体性能也将提升一倍。

5.软件的发展

从一开始的机器语言,汇编语言 到后来的FORTRAN,PASCAL,C++再到后来的java

还有操作系统的发展 从DOS到Windows,安卓,ios

6.目前发展趋势

  • 一种是微型计算机向更微型化、网络化、高性能、多用途方向发展
  • 一种是巨型向更巨型化、超高速、并行处理、智能化方向发展

二、计算机硬件的基本组成

1.早期冯诺依曼机

ENIAC 是使用手动接线来控制计算,耗时,而后冯诺依曼提出了存储程序的概念。并有了第一台使用冯诺依曼结构的计算机EDVAC

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

在这里插入图片描述

  • 输入设备:将信息转换成机器能识别的形式
  • 存储器:存放数据和程序
  • 运算器:算术运算、逻辑运算
  • 输出设备:将结果转换成人们熟悉的形式
  • 控制器:指挥程序运行

在计算机系统中,软件和硬件在逻辑上是等效的。

冯诺依曼计算机的特点:

  1. 计算机由五大部件组成
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 存储程序
  6. 以运算器为中心(输入/输出设备与存储器之间的数据传送通过运算器完成)

2.现代计算机结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cnvqskKj-1669382954804)(F:\画图\现代计算机结构.drawio.png)]

在这里插入图片描述

现代计算机:以存储器为中心

CPU = 运算器 + 控制器

在这里插入图片描述

在这里插入图片描述

三、各个硬件的工作原理

1.主存储器的基本组成

在这里插入图片描述

主存储器的工作方式是按存储单元的地址进行存取,这种存取方式称为按地址存取方式(相联存储器既可以既可以按照地址寻址,又可以按照内容寻址,为了与传统存储器区别,又称为内容寻址的存储器!)

主存储器是由地址寄存器(MAR),数据寄存器(MDR),存储体,时序控制逻辑,地址寄存器存放访存地址,经过地址译码后找到所选的存储单元。

数据寄存器,是存储器与其他部件的中介,用于暂存要从存储器读或写的信息。

时序控制逻辑用于产生存储器操作所需的各种时序信号。

在现代CPU,MAR和MDR是在CPU中的。

  • 存储体:数据在存储体内按地址存储

  • MAR:存储地址寄存器,MAR位数反映存储单元的个数

  • MDR:存储**数据寄存器,**MDR位数=存储字长

  • 存储单元:每个地址对应一个存储单元

  • 存储字(word):存储单元中二进制代码的组合

  • 存储字长:存储单元中二进制代码的位数

  • 存储元:即存储二进制的电子元件,每个存储元可存1bit

注意:

现代的计算机通常把MAR、MDR集成在CPU里

2.运算器的基本组成

在这里插入图片描述

运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)

  • ACC:累加器,用于存放操作数,或运算结果
  • MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果
  • X:通用的操作数寄存器,用于存放操作数
  • ALU:算术逻辑单元,是运算器的核心单元,通过内部复杂的电路实现算术运算、逻辑运算
ACC被加数、和被减数、差乘积高位被除数、余数
MQ乘数、乘积低位
X加数减数被乘数除数

3.控制器的基本组成

在这里插入图片描述

控制器是计算机的指挥中心,有其指挥各部件自动协调进行工作,现代计算机将运算器和控制器集成到一个芯片上,合成为中央处理器,简称CPU

有程序计数器(PC)、指令寄存器(IR)和控制单元(CU)

  • CU:控制单元,分析指令,给出控制信号
  • IR:指令寄存器,存放当前执行的指令
  • PC:程序计数器。存放下一条指令地址,有自动加1功能

完成一条指令分为三个阶段:

  • 取指令 PC
  • 分析指令 IR
  • 执行指令 CU

也把前两个阶段称为取指阶段,最后一个称为执行阶段。

4.计算机的工作过程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

其中IR表示将要执行的指令 PC存放的是下一条指令的地址

MAR存放的是将要访问的存储单元地址;MDR存放的是从存储单元取来的数据

以上是计算机的工作流程

首先PC将指令地址发送给MAR,MAR根据地址在存储体中找到指令数据存放在MDR中,然后MDR将指令存放在IR中,取指令结束

之后指令中的操作码进入CU中,地址码重复上述取指令步骤,将数据发送到ACC中,执行指令结束。

注意:

CPU区分指令和数据的依据是指令周期的不同阶段

四、计算机系统的多级层次结构

在这里插入图片描述

三种级别的语言

  1. 机器语言:二进制代码,需要编程人员记忆每条指令的二进制编码。机器语言是计算机唯一可以直接识别和执行的语言。
  2. 汇编语言:汇编语言用英文单词或其缩写代替二进制的指令代码,更容易为人们记忆和理解。使用汇编语言编辑的程序,必须经过一个称为汇编程序的系统软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上执行。
  3. 高级语言:高级语言(如C、C++、Java等)是为方便程序设计人员写出解决问题的处理方案和解题过程的程序。通常高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或者直接由高级语言程序翻译成机器语言程序。还有一些高级语言不是通过编译程序来编译的,而是通过解释程序,把高级语言代码,翻译成与之对等的机器语言指令,如JavaScript,Python,Shell。
  • 编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序(只需执行一次)
  • 解释程序:将源程序的每一条语句翻译成对应于机器语言的语句,并立即执行,紧接着再翻译下一句(每次执行都要翻译)

注:编译、汇编、解释程序,可统称为“翻译程序”

五、计算机性能指标

1.存储器的性能指标

  1. MAR位数反映存储单元的个数(最多支持多少个)
  2. MDR位数=存储字长=每个存储单元的大小

总容量 = 存储单元个数 X 存储字长 bit = 存储单元个数 X 存储字长/8 Byte

n个二进制位最多能表示2^n种状态

2^10 : K

2^20 : M

2^30 : G

2^40 : T

2.CPU的性能指标

  • CPU主频:CPU内数字脉冲信号震荡的频率,单位 赫兹

  • CPU时钟周期:每一个脉冲信号的时间

  • CPI(Clock cycle Per Instruction):执行一条指令所需的时钟周期数,不同的指令,CPI不同,甚至相同的指令,CPI也可能有变化

  • 执行一条指令的耗时 = CPI X CPU时钟周期

  • CPU执行时间(整个程序的耗时) = CPU时钟周期数 / 主频 = (指令条数 * CPI) / 主频

  • IPS(Instructions Per Second):每秒执行多少条指令 IPS = 主频 / 平均CPI

  • FLOPS(Floating-point Operations Per Second):每秒执行多次浮点运算

在这里插入图片描述

3.系统整体的性能指标

  • 数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
  • 吞吐量:指系统在单位时间内处理请求的数量。它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期。
  • 响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等时间)

基准程序是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同的其它计算机性能进行比较。

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值