组成原理(一):概述

1、计算机的硬件组成

  原始的冯·诺依曼计算机在结构上是以运算器为中心,当代计算机是以存储器为中心,计算机的组成如下:

  

  运算器和控制器合称为中央处理器(Center Processing Unit,CPU),CPU也被称为微处理器。

  CPU和主存储器(内存)一起组成主机部分。除去主机以外的硬件装置都称为外围设备或外部设备。

1.1、计算机的主要部件

1.1.1、输入设备

  输入设备的任务是把编好的程序和原始数据送到计算机,并将它们转换成计算机内部所能识别和接受的信息方式。

1.1.2、输出设备

  输出设备的任务是将计算机的处理结果以数字、字符、图形等形式送出计算机。

1.1.3、存储器

  存储器是用来存放程序和数据的部件,是一个记忆装置,是计算机能够实现"存储程序控制"的基础。

  存储器被分为若干级别,被称为存储系统。三级存储系统:

   

  主存储器:可由CPU直接访问,存取速度快,容量小,存放当前正在执行的程序和数据;

  辅助存储器:设置在主机外部,存取速度慢,容量大,存放暂时不参与运行的程序和数据;

  高速缓冲存储器:缓解CPU与存储器速度不匹配文件增设的缓冲寄存器,存放当前常用的程序和数据。

  CPU不可直接访问辅存,辅存中的程序和数据在需要时才装入主存中,辅存是主存的补充。

1.1.4、运算器

  运算器是对信息进行处理和运算的部件。常进行的运算:算术运算 、逻辑运算,因此运算器又称为 算术逻辑运算部件(Arithmetic and Logical Unit,ALU)。

  运算器的核心是加法器,运算器中有若干个通用寄存器或累加寄存器,用来暂存操作数并存放运算结构。

  寄存器在CPU中,存取速度比存储器快。

1.1.5、控制器

  控制器是整个计算机的指挥中心,主要功能是按照人们预先确定的操作步骤,控制整个计算机的各部件有序的工作,

  控制器从主存中逐条的取出指令进行分析,根据指令的不同来安排操作顺序,向各部件发出相应的操作信号,控制他们执行指令规定的任务。

1.2、计算机各部件之间连接

  将上述基本不见,按某种方式连接起来就构成了计算机的硬件系统。

1.2.1、总线结构(小、微机型)

  总线结构是小、微型计算机的典型结构。

  总线:一组能为多个部件服务的公共信息传送线路,能分时的发送与接收各部件信息。

  

  最简单的总线结构是单总线结构,各大部件连接在单一的一组总线上。单总线结构提高了CPU的工作效率,外设连接灵活,同一时刻只允许一对设备间传送信息。

  系统总线按传送信息的不同可以细分为地址总线、数据总线和控制总线。

地址总线(Address Bus)

单方向的多根信号线组成

用于CPU向主存、外设传输地址信息

数据总线(Data Bus)

双方向的多根信号线组成

CPU通过数据总线向主存或外设读入数据

控制总线(Control Bus)

传输控制信息

CPU送出的控制命令和主存返回CPU的反馈信号

1.2.2、大、中型计算机的典型结构

  此类计算的设计目标侧重于系统功能的扩大与效率的提高。结构如下:

  

  系统连接上分为四级:主机、通道、设备控制器和外部设备。

  通道:I/O操作管理的主要部件,通道与设备控制器是一对多的关系,设备控制器与外设也是一对多的关系。

1.3、冯·诺依曼结构和哈佛结构的存储器设计思想

  根据程序和数据的存放形式,存储器设计思想可分为 冯·诺依曼结构 和 哈佛结构。

1.3.1、冯·诺依曼结构

  冯·诺依曼结构:指令和数据存储在同一个存储器中,共享数据总线,指令地址和数据地址指向同一个存储器的不同物理位置。

  

  指令和数据在同一存储器,因此不能同时取指令和取操作数,存储器的速度远低于CPU的运算速度,CPU与共享存储器间的信息交换成为影响高速计算的"瓶颈"。

1.3.2、哈佛结构

  哈佛结构:指令和数据分开,存储器分 程序存储器 和 数据存储器 两个部分。

程序存储器

存放指令

数据存储器

存放数据

  哈佛结构至少有两组总线:程序存储器(PM)的数据总线和地址总线;数据存储器的数据总线和地址总线。

  

   允许同时获取指令和操作数,在一个机器周期内可以同时准备好指令和操作数,具有较高的执行效率。

  高速缓冲存储器Cache采用的是 哈佛结构,分为 指令Cache 和 数据Cache。

2、计算机系统

  计算机系统 = 硬件 + 软件。

  硬件是计算机系统的物质基础,是软件赖以生存的空间和活动场所;软件是计算机系统的灵魂,没有软件的硬件"裸机"不能供用户使用,硬件和软件是相辅相成、不可分割的整体。

     

 

2.1、计算机系统的多层次机构

硬联逻辑

由逻辑电路组成

微程序机器级

该级的机器语言是该机的微指令集,微指令编写的程序由硬件直接执行

传统机器级

该级的机器语言是该机的指令集,机器指令编写的程序可由微程序进行解释

操作系统机器级

直接管理传统机器的软硬件资源;

传统机的延伸

汇编语言机器级

该级的机器语言是汇编语言

高级语言机器级

该级的机器语言是各种高级语言,如 C、Java、Go

应用语言机器级

该级语言是面向问题的应用语言

2.2、实际机器和虚拟机器

  实际机器:由硬件或固件实现的机器,如第零级到第二级。

  虚拟机器:软件或以软件为主实现的机器,如第三级到第六级。

3、计算机的工作过程

  程序放在主存,由控制器控制逐条取出指令执行。

  举例说明:a + b + c = ?,假设 a、b、c为已知的3个数,存放在主存的 5 ~ 7 号单元,结果将存放在主存的8号单元。

  0

  采用单累加寄存器结构的运算器,至少5条指令,指令存放在 0 ~ 4 号单元,参加运算的操作数也存放在主存指定的单元。

  

  累加寄存器用来暂存从主存中读出的数据或写入主存的数据。

  参加运算的两个操作数一个来自累加寄存器,一个来自主存,运算结果放在累加寄存器中。

执行过程如下:

  1、执行取数指令,从主存5号单元取出数a,送入累加寄存器;

  2、执行加法指令,将累加寄存器中的内容a与从主存6号单元取出的数b一起送到ALU中相加,将 a + b 的结果保留在累加寄存器中;

  3、执行减法指令,将累加寄存器中的内容 a + b 与从主存 7 号单元取出的数 c 一起送到ALU中相减,结果 a + b - c保留在累加寄存器中.

  4、执行存数指令,把累加器的内容a + b - c存至主存 8 号单元。

  5、执行停机指令,计算机停止工作。

4、计算机的性能指标

4.1、机器字长

  机器字长:参与运算的数的基本位数,由加法器、寄存器的位决定的。机器字长一般等于内部寄存器的大小。

  计算机中以字节(Byte)为基本单位,一个字节等于8位二进制位(bit)。

  字(Word):数据字,数据字的长度是固定的,不同计算机字的长度不同。

字长
数据运算的宽度,反映了计算机处理信息的能力
度量单位,度量各种数据类型的宽度

4.2、数据通路宽度

  数据通路宽度:数据总线一次所能并行传送信息的位数。指的是外部数据总线的宽度。

  数据通路宽度影响信息的传送能力,从而影响计算机的有效处理速度。

4.3、主存容量

  主存容量:主存储器所能存储的全部信息。

字节偏址的计算机
以字节数表示存储容量
单位偏址的计算机
字数乘以字长表示存储容量

  主存容量决定计算机处理问题的能力。

4.4、运算速度

  与运算速度有关的因素:

吞吐量和响应时间
吞吐量:系统在单位时间内处理请求的数量
响应时间:系统对请求作出响应的时间
响应时间 = CPU时间 + 等待时间
CPU时间:运行程序花费的事件
等待时间:用于磁盘/存储器访问、IO操作等时间
主频和CPU时钟周期
CPU主频又称为时钟频率,表示在CPU内数字脉冲信号震荡的速度。
时钟周期:主频的倒数,CPU中最小的时间元素,每个动作至少需要一个时钟周期。
CPI(Cycles per Instructuon)
每条指令执行所用的时钟周期数,IPC是CPI的倒数,表示每个时钟周期执行的指令数
CPU执行时间
MIPS
每秒执行多少百万条指令
MFLOPS
每秒执行多少百万次浮点运算

 

posted @   无虑的小猪  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示

目录在这里