从此刻开始,学妹不再怕计算机组成原理

目录

一、计算机发展历程

(一)、什么是计算机系统?

(二)、硬件的发展

(三)、软件的发展

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

(一)、计算机五大组成部分

(二)、冯诺依曼的硬件结构

(三)、现代计算机的硬件结构

         (四)、计算机内部工作细节

三、计算机系统的层次结构

四、计算机的性能指标



一、计算机发展历程

(一)、什么是计算机系统?

计算机系统=硬件+软件

  • 硬件

cpu针脚:cpu针脚是用来接收和传输二进制数据的,这些针脚同时接收和传输;一个二进制数位称为1bit。

  • 软件

应用程序、软件


(二)、硬件的发展

1946年第一台 ENIAC 埃尼亚克 计算机使用了电子管,一个电子管有半个手掌大。

计算机的迭代

  • (1)、电子管计算机   几千-几万(次/秒)
  • (2)、晶体管计算机   几万-几十万

1947年贝尔实验室发明了晶体管

晶体管之父:威廉·肖克利

他1955年创建自己的公司,此公司有八大才子八大叛徒:摩尔、罗伯茨、克菜纳、诺伊斯、格里尼克、布兰克、 赫尔尼、拉斯特;他们1957年创立了仙童半导体公司,1959年仙童发明了集成电路;1968年摩尔离开创建了Intel公司;同时仙童销售部负责人桑德斯离开创建了AMD公司。

  • (3)、中小规模集成电路计算机   几十万-几百万(集成的是晶体管)
  • (4)、大规模、超大规模集成电路计算机   上千万-万亿

微型计算机

微处理器的出现:集成电路技术把计算机的控制单元CU和算术逻辑单元集成到了一个芯片上制成了微处理器。

Intel公司制成世界上第一个4位微处理器芯片4004,集成了2300个晶体管。

与此同时Fairchild制成了第一个半导体存储器芯片,可以保存256位二进制。

微机处理器依赖于芯片集成度和处理器主频的提高。

影响处理器的性能:主频、扩展指令集、流水线等。

处理器与主存之间的接口:是最重要的通路,作用是在主存与处理器之间传送指令和数据。提高连接带宽:加宽数据总线的宽度、设置高速缓冲存储器Cache并分为片内Cache和分级Cache、高速总线和分层总线来缓冲和分流数据。

处理器与外设之间的接口:设置缓冲机制,高速总线。


(三)、软件的发展

随着各种语言的出现,汇编程序、编译程序、解释程序的产生,逐渐形成了软件系统。

系统软件、操作系统、数据库管理系统、网络软件、服务程序、应用软件:QQ、王者荣耀


 

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

(一)、计算机五大组成部分

  • 输入设备:将用户输入的数据信息(如键盘上的字母、数字)转换为机器能识别的二进制形式
  • 输出设备:将计算机得出的二进制形式的结果数据转换为用户能看懂的字母、数字
  • 运算器:逻辑运算和算术运算
  • 存储器:存放数据和程序
  • 控制器:指挥各个部件,使程序运行

(二)、冯诺依曼的硬件结构

冯诺依曼首先提出了存储程序的概念——把需要执行的指令以二进制的代码事先就放入计算机的主存储器(即内存),然后按照存储器中的首地址执行程序的第一条指令,接着按照规定顺序执行其他指令,直至程序结束。 来源:因为第一台计算机ENIAC 需要人工手动一条一条的输入指令,效率极其低,冯诺依曼是当时的顾问,所以提出了存储程序的概念,也造出了第一台冯诺依曼结构的计算机——EDVAC

冯诺依曼计算机特点

由五大部件组成

指令和数据地位相同,都存在存储器中,按地址寻找

指令和数据都是二进制表示

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

操作码:就是执行的各种操作如:加减乘除、取数、打印等

地址码:表示参加运算的数在存储器内的位置

存储程序

以运算器为中心(这个设计大大降低了效率,因为运算器是处理数据和指令的,而数据和指令从外部输入进来的目的地就是存储器,而现在却要先经过运算器;同样的当要输入数据时,也一样要经过运算器才能输出)

相当于一个工厂的采购原材料部门目的地就是仓库部门,而现在却要先经过加工部门然后才到仓库部门,同样的当仓库部门要去销售部门时,还得经过加工部门,多此一举。

以运算器为中心


(三)、现代计算机的硬件结构

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

1、CPU组成

由于运算器和控制器的逻辑关系十分紧密,在大规模集成电路出现后就把两者合在了一起。

CPU = 运算器 + 控制器

运算器=ACC + MQ + X + ALU  作用:完成算术逻辑运算

控制器=PC + IR + CU          作用:解释存储器中的指令,并发出各种操作命令来执行指令。

 


2、主存储器(内存)组成 

作用:主存储器(内存)会把数据给运算器,把指令给控制器。

主机=CPU(运算器 + 控制器)+主存储器(内存)

主存储器(内存)= MAR+MDR+存储体M

存储体M = 若干个存储单元

存储单元 = 若干个存储元件 = 存储字

每个存储元件只能存储一位二进制

每个存储单元可以存储若干个存储元件也就是存储若干位二进制,二进制位数=存储字长(8/16/32)。

存储单元也称存储字

存储体—宿舍比作存储体:

宿舍楼 = 存储体

一个寝室 = 一个存储单元

一张床 = 一个存储元件

一个寝室的床数量 = 可以存储的二进制位数 = 存储字长

主存(内存)的工作原理:

按地址存取数据—每一个寝室都需要寝室号,同样的每一个存储单元需要一个编号,该编号就是存储单元的地址。

MAR和MDR工作原理接下——>


3、I/O设备:输入、输出设备、辅存(机械硬盘、固态硬盘)

存储器:分为主存和辅存,主存就是电脑的运行内存,辅存就是电脑的机械硬盘、固态硬盘;当使用软件时才会把软件的数据从辅存里面读取到主存里面去。


(四)、计算机内部工作细节

1、主存储器的组成

(1)、主存储器由三部分组成

拿菜鸟驿站比喻主存储器:

存储体——货架(存放货物);

MAR——店员(知道取件号);

MDR——柜台(店员取到包裹放到柜台)

(2)、存储体

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

存储体是一个个存储单元组成

每一个存储单元存放一串二进制代码,这串代码又被称为存储字;

而每一个存储字包含的二进制位数称为存储字长(常见有8 16 32 64bit)

每一个存储单元对应一个地址,地址从0开始;这些地址在MAR里面

(3)、MAR:存储器地址寄存器(Memory Address Register)

寄存器:用来存放数据的

MAR作用:用来存放欲访问的存储单元的地址。

MAR的位数反映了存储单元的个数

如:MAR是4位,有2^4个存储单元

作用:指明要读/写哪一个存储单元

(4)、MDR:寄存器数据寄存器(Memory Data Register)

MDR作用:用来存放从存储体某存储单元取出的代码、或者准备往某存储单元存入的代码。

MDR位数=存储字长

作用:暂时存储要读/写的数据


2、CPU

(1)、运算器

作用:实现算术运算和逻辑运算(与或非)

组成:3个寄存器和一个算术逻辑单元ALU

  • ALU

    算术逻辑单元,通过内部复杂的电路实现算术运算和逻辑运算

  • ACC

    累加器,用于存放加减乘除和逻辑运算时的操作数、运算结果

  • MQ

    乘商寄存器;用于存放乘 除运算时的操作数和运算结果

  • X

    通用操作数寄存器,存放从MDR过来的数据


(2)、控制器

完成一条指令的3个过程:

取指令PC——>分析指令IR——>执行指令CU

  • PC(Program Counter)程序计数器

    用来存放当前欲执行指令的地址,与主存MAR之间有一条直接通路,且具有自动加1的功能,自动形成下一条指令的地址。

  • IR(Instrucion Register)指令寄存器

    用来存放当前执行动作的指令,IR内容来自主存的MDR,IR将操作码送至CU,将操作数的地址码送至MAR。

    IR从MDR取得数据后首先分析操作码是加减乘除取存哪一个:

    000001取数

    000010存数

    000011加法

    000100乘法

    接着分析地址码:找到该指令的地址码,IR把地址码送到MAR中

  • CU(control unit)

    核心:控制单元,可以给其他部件发出指令,控制信号

  • 内部工作案例讲解

初始:指令和数据都存在主存,PC指向第一条指令(指令已经都预先存放在主存里面了,都在连续的一块空间,所以可以+1获取下一条指令)。

接着:根据PC从主存中取出第一条指令返回给IR,此时PC自动加1去主存获取下一条指令。

接下来:IR分两步:一是把操作码送至CU分析、二是把操作数的地址码送至MAR去查找获取数据

最后:根据IR送来的地址码查找到操作数的数据返回MDR送至运算器。


 

三、计算机系统的层次结构

  • 五层结构

    • M4:高级语言机器(执行高级语言)

    • M3:汇编语言机器(执行汇编语言)

    • M2:操作系统机器(向上提供广义指令)

    • M1:传统机器(执行机器语言指令)

    • M0:微程序机器(执行微指令)

  • 三个级别语言

    • 高级、汇编、机器

    • 编译程序:将高级语言一次性全部翻译为机器语言 c c++

    • 解释程序:一次只翻译一条语句 JavaScript python shell


 

四、计算机的性能指标

1、机器字长

计算机CPU一次所能处理的二进制位数;常见的机器字长:8 16 32 64

2、存储容量

存储容量=存储单元个数(MAR)*一个存储单元的存储字长(MDR)(bit)

       宿舍容量=寝室个数*一个寝室的床位数

3、CPU

  • 时钟周期

  • 主频hz

    单位:GHz 1G=10^9

    意思:主频是CPU数字脉冲信号振荡的频率,也就是每秒钟出现的CPU时钟周期的数量

    主频=1/CPU时钟周期

  • CPI(衡量计算速度)(Cycle Per Instruction)

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

  • CPU执行时间(运行一个程序的耗时)

    运行一个程序花费的时间

    CPU执行时间(程序耗时)=( 指令数*CPI ) / 主频

  • IPS(衡量计算速度)(Instruction Per Second)

    每秒执行了多少条指令

    IPS=主频 / 平均CPI

  • FLOPS

  • 常用数量单位

    • 描述存储容量、文件大小

      K=2^10

    • 描述频率、速率

      K=10^3

4、其他

  • 吞吐量
  • 数据通路带宽
  • 基准程序
  • 响应时间

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值