概述
计算机体系结构、计算机组成
- 简介
- 计算机系统的组成:硬件和软件
- 硬件、功能部件基本组成、处理机(冯诺依曼)
- 一、输入、输出设备
- 二、存储器
- 辅存、外存(需调入主存,才能被CPU访问)
- 主存、内存(CPU能直接访问,多由DRAM构成)
- Cache(高速缓冲存储器,存储器层次结构的顶层,多由SRAM构成)
- 缓存(Cache)分级
- 三、运算器(包括ALU、通用寄存器、PSW寄存器)
- 算术逻辑单元(ALU)
- 寄存器(通用如ACC 和PSW状态寄存器)
- 四、控制器(控制中心,包括PC、IR寄存器和CU)
- 更多概念:
- CPU、主机、外部设备
- 处理机
- 总线
- 软件分类、三个级别的语言
- 计算机的工作过程
- 一:把程序和数据装入主存储器
- 二:将源程序转换为可执行文件
- 三:从可执行文件的首地址开始逐条执行指令
- 计算机系统层次结构
- 计算机性能指标
- 源码补码反码
- ------------------------------------------------------------------------------------------------
- 计算机体系结构:
- 流水线
- ------------------------------------------------------------------------------------------------
简介
计算机体系结构:能够被( 汇编、机器语言)程序员看到的计算机的属性。
即概念性结构和功能特性。
计算机组成:实现计算机体系结构所体现出来的属性。
如存储器、处理器、数据类型、指令集(如读取)等划分,和内存不够就用辅存的方案 就是计算机体系结构
而如何实现某指令 和实际上如何做到辅存扩主存的方法 就是计算机组成
计算机系统的组成:硬件和软件
硬件、功能部件基本组成、处理机(冯诺依曼)
处理机:计算机系统的一部分,由中央处理器,主存储器,输入-输出接口组成。
处理机加接外围设备就构成完整的计算机系统。它负责存储程序和数据。
一、输入、输出设备
二、存储器
计算机的存储部件,用于存放程序和数据。
辅存、外存(需调入主存,才能被CPU访问)
帮助主存储器记忆更多的信息。
主存、内存(CPU能直接访问,多由DRAM构成)
主存:由许多存储单元组成。
存储单元:由若干存储元件(存储一位二进制代码)组成。
存储字(长):一个存储单元存储的二进制代码(长度)。
存储字长为1字节(Byte,8bit)或字节的偶数倍。
二进制代码的位数是由数据线的根数决定的,也就是说: 存储字长 = 数据线根数
主存工作方式:按地址存取按存储单元的地址进行存取。(相联存储器是按内容访问)
主存逻辑图:
MAR(地址寄存器,Memory Address Register,):存放要访存的主存存储单元地址,经过地址译码器找到所选的存储单元。
用于寻址,其位数对应着存储单元的个数。10位则有1024(1K)个存储单元
与PC长度相同(PC存放将要执行的指令在主存中间存储单元地址)
MDR(数据寄存器,Memory Data Register,):暂存从主存中读出或要写入的信息。
MDR的位数和存储字长相等。一般为字节的二次幂数倍。
在现在CPU实际物理实现中,MAR与MDR,包括后面的Cache都在CPU中。
可见眼界概念性结构 与 实际物理实现有区别。
时序控制逻辑(图中未体现):产生存储器操作所需的各种时序信号(给存储体、MAR、MDR三个部件)。
Cache(高速缓冲存储器,存储器层次结构的顶层,多由SRAM构成)
程序访问的局部性原理:
CPU从主存取指令或数据,在一定时间内,只是对主存局部地址区域访问。
为缓解CPU和主存速度不匹配的问题,避免CPU空等I/O访存,
在CPU和主存之间引入Cache。
CPU要读数据首先在cache中读,如果cache命中,CPU就可以极快的得到该地址处的值。
如果cache miss 也就是没有命中,CPU就会通过总线在内存中去读,并把连续的一块单元加载到cache中,下次好使用。
CPU与cache之间的数据交换是以”字”为单位,
而cache与主存之间的数据交换是以”块”为单位,一个块由若干字组成,是定长的,以体现”保存下级存储器刚才被存取过的数据及其邻近小范围的数据”这一概念。
缓存(Cache)分级
一级cache 有指令cache和数据cache之分,这使整个系统更加高效,但容量小。
二级缓存(L2 CACHE)出现是为了协调一级缓存与内存之间的速度,二级缓存是比一级缓存速度更慢,容量更大的内存,主要就是做一级缓存和内存之间数据临时交换的地方用。
CPU首先访L1级Cache,若不命中,再访问L2级Cache和主存。
三级cache同。
三、运算器(包括ALU、通用寄存器、PSW寄存器)
计算机的执行部件,用于算术运算和逻辑运算。
算术运算(是按算术运算规则进行的运算):如加减乘除
逻辑运算:包括与或非、比较、移位等
算术逻辑单元(ALU)
寄存器(通用如ACC 和PSW状态寄存器)
通用寄存器:通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。
如暂存操作数和中间结果:
累加器(ACC,Accumulator):一个具有特殊用途的二进制8位寄存器,专门用来存放操作数或运算结果。
在CPU执行某种运算前,两个操作数中的一个通常应放在累加器A中,运算完成后累加器A中便可得到运算结果。
乘商寄存器(MQ)
操作数寄存器(X)
以上必须有
程序状态寄存器(PSW,也称标志寄存器):存放ALU运算得到的一些标志信息或处理机的状态信息。
如结果是否溢出,有无产生进位或借位,结果是否为零等
四、控制器(控制中心,包括PC、IR寄存器和CU)
计算机的指挥核心,指挥各部件自动协调地进行工作。
程序计数器(PC):存放当前欲执行指令的地址,可以自动加1以形成下一条指令的地址,它有主存的MAR之间有一条直接通道
指令寄存器(IR):存放当前的指令,其内容来自主存的MDR。
指令中的操作码OP(IR)送至CU,用以分析指令并发出各种微操作命令序列;
地址码Ad(IR)送往MAR,用以取操作数。
控制单元(CU)
更多概念:
CPU、主机、外部设备
CPU(中央处理器):运算器和控制器集成到一个芯片。包括高速缓冲Cache
包括运算器中ALU、通用寄存器组、标志寄存器
和主存储器中MAR和MDR寄存器(两寄存器概念上既属于主存。也属于CPU)。
根据冯诺依曼体系,CPU的工作分为 5 个阶段取指令阶段、指令译码阶段、执行指令阶段、访存取数和结果写回。
主机:CPU和主存储器
外部设备(外设):外存和I/O设备
处理机
总线
CPU和主存之间通过一组总线相连。
地址线:MAR地址 传到 地址线 ,用于指向读/写操作的主存存储单元。
数据线:CPU与内存或其他器件之间的数据传送的通道。
(1)数据总线的宽度决定了CPU和外界的数据传送速度。
每条传输线一次只能传输1位二进制数据。eg: 8根数据线一次可传送一个8位二进制数据(即一个字节)。
(2)数据总线是数据线数量之和。
数据总线的位数决定CPU单次通信能交换的信息数量
控制线:有读/写信号线,指出数据是从CPU写入主存:写操作,将MDR数据送到数据线
还是从主存读出到CPU:读操作,将数据线上的数据接收到MDR中
软件分类、三个级别的语言
软件按功能分类:系统软件和应用软件
三个级别:
机器语言:二进制代码语言,计算机唯一可以直接识别和执行的语言。
指令用二进制编码表示。
汇编语言:用英文单词和缩写来代替二进制的指令代码。
高级语言(C、C++等):方便程序设计人员写出解决问题的处理方案和解题过程的程序。
高级语言需要编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,
或直接由高级语言程序翻译成机器语言程序。
计算机的工作过程
一:把程序和数据装入主存储器
二:将源程序转换为可执行文件
UNIX系统:预处理+编译+汇编+连接
Win系统:预处理+编译+汇编+连接
预处理:预处理器对源程序中以字符#开头的命令进行处理,如将文件内容插入到程序文件。
编译:编译器对预处理后的源程序进行编译。生成可识别文件。
链接:将编译后的文件和标准库函数合并成一个二进制可执行文件。
三:从可执行文件的首地址开始逐条执行指令
1: 程序第一条指令的地址置于PC(欲执行)中,根据PC取出第一条指令,经过译码,执行步骤等,控制计算机各功能部件协同运行,完成这条指令的功能,
2::并计算下一条指令的地址,用新得到的指令地址继续读出第二条指令并执行。
3: 直到程序结束。
例如取数指令:
取指令:PC->MAR->M->MDR->IR
1。PC中指令地址送直接送MAR,MAR再送地址线,控制器送读信号到读写信号线。
2。主存根据地址线地址 和读信号从指定存储单元读出指令,送到数据线,MDR从数据线接受指令消息,送到IR(正在执行)中
2)分析指令:OP(IR)->CU
控制器根据IR中指令的操作码:OP(IR),生成相应的控制信号,送到不同的执行部件。如取数指令产生读控制信号送总线的控制线
3)执行指令:Ad(IR)->MAR->M->MDR->ACC
将IR中指令的地址码送MAR,MAR地址内容送地址线,控制器读信号给读写信号线,从主存指定存储单元读出操作数,并通过数据线送至MDR,再送至ACC。
4)指令+1
计算机系统层次结构
物理机(偏硬件):
微程序机器(微程序级):硬件层,硬件直接执行。
传统机器(机器语言):机器层,用微程序解释机器执行
虚拟机(偏软件):
操作系统机器:由操作系统程序实现。
汇编语言机器:由汇编程序支持和执行
高级语言机器:面向用户,由高级语言编译程序支持和执行。
计算机性能指标
机器字长:CPU一次能处理的数据的位数,一般等于内部寄存器大小
32位系统(处理器)是32位
存储字长:一个存储单元的二进制的位数
指令字长:一个指令字中包含二进制代码的位数,是存储字长的整数倍。
源码补码反码
背景:体系结构中的运算器,只有加法运算器
所以源码补码反码的产生过程,就是为了解决计算机做减法和引入符号位后的一些问题。
引入机器数与真值:
机器数: 用二进制数“0”或“1”来表示数的符号,符号位0正1负,且把符号位置于该数的最高数值位之前,
(最高数值位之前即可,符合后面是否跟的是数值绝对值的二进制表示不要求)
这样表示的数称为机器数(或称机器码),即把符号位和数值位一起编码来表示的数就是机器数。
真值 : 一般书写中用“+”、“-”来表示数的符号,这样表示的数称为真值。
例如:N1 = +0.101101,N2 = -0.101101,这是真值,表示成机器数(以原码为例)就是[N1]原= 0.101101,[N2]原 = 1.101101。
引入源码:
源码:最简单的机器数表示法,最高位表示符号,符号位0正1负。
数值部分用二进制数的绝对值表示的方法称为原码表示法,通常用[X]原表示X的原码。
例如,要表示+59和-59的原码。假设机器数的位数8位(即机器的字长为8位),最高位是符号位,其余7位是数值位,那么,+59和-59的原码分别表示为:
[+59]原=00111011 [-59]原=10111011
没解决减法问题。即两个源码做加法运算,其中一个为负数就可能出错(也就是正负相加错误 和 负负相加错误)。
最大问题:非零数与相反数相加不为零,如+1 加 -1 为-2
(+1) + (-1) =
源码: 0001 + 1001 = 1010
引入反码,解决正负数相加问题
正数的反码与原码相同,负数的反码是符号位不变,数值位逐位取反。
(+1) + (-1) =
源码:0001 + 1001 =
反码:0001 + 1110 = 1111
源码 1000(-0)
两个负数相加运算麻烦(负数符号位也取反,补码相加 转换为原码后 符号位强行为1)
引入补码,解决两个负数相加问题(符号位直接参与运算)
正数源码的补码不变,
负数源码的补码 为反码+1
(-2) + (-2) =
源码:10010 + 10010 =
补码:10110 + 10110 = 11100
原码 10100(-4)
溢出:最高位进位与次高位进位不同
------------------------------------------------------------------------------------------------
计算机体系结构:
流水线
流水技术:
将重复的时序过程分解为若干子过程,每个子过程都可有效地在其专用功能段上与其他子过程同时执行。
时空图:
从时间和空间两个方面描述流水线的工作过程。
特点:
深度:流水过程由多个相关的子过程组成,这些子过程称为流水线的“级”、“段”。、
段的数目即为流水线长度
每个子过程由专用的功能段实现,各功能段的时间应基本相等(通常为1个时钟周期)
流水线需要经过一定的通过时间才能稳定。
流水技术适合于大量重复的时序过程。
性能指标:
吞吐率:单位时间内流水线所完成的任务数,或输出结果的数量。
最大吞吐率TPmax:流水线在达到稳定状态后所得到的吞吐率
取决于流水线重最慢一段所需的时间,该段成为流水线的瓶颈。
假设流水线各段时间相等 均为to
TPmax = 1/to
如五个段每个时间都为1分钟 那么最大吞吐率为1(1分钟输出一个结果)
假设各段时间不同,第i段时间为ti
TPmax = 1/max{ti}
如五个段四个段1分钟,一个段2分钟 那么最大吞吐率为0.5(2分钟输出一个结果)
实际吞吐率TP:设流水线由m段组成,完成n个任务的吞吐率。
加速比:流水线速度与等功能的非流水线速度之比
加速比S = T非流水 / T流水
例题:一个五级的流水处理器,当任务饱满时,它处理10条指令的加速比是多少?
跑满时指令不断输入流水线,每个始终周期都输出一个结果。
处理10条指令需要T5=5+(10-1)=14,非流水线需要T=5x10=50个周期,故加速比为50/14≈3.57。
效率E:流水线的设备利用率
由于流水线有通过时间和排空时间,所以流水线各段并非一直满负荷工作。E<1
E = n*t /T流水
时空图上来看,效率就是n个任务所占的时空区与m个段总的时空区之比
------------------------------------------------------------------------------------------------
最后
以上就是着急耳机为你收集整理的计算机知识架构一:计算机组成、体系结构简介计算机系统的组成:硬件和软件计算机的工作过程计算机系统层次结构计算机性能指标源码补码反码------------------------------------------------------------------------------------------------计算机体系结构:---------------------------------------------------------------------------------的全部内容,希望文章能够帮你解决计算机知识架构一:计算机组成、体系结构简介计算机系统的组成:硬件和软件计算机的工作过程计算机系统层次结构计算机性能指标源码补码反码------------------------------------------------------------------------------------------------计算机体系结构:---------------------------------------------------------------------------------所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复