计算机知识架构一:计算机组成、体系结构

简介

计算机体系结构:能够被( 汇编、机器语言)程序员看到的计算机的属性。
即概念性结构和功能特性。

计算机组成:实现计算机体系结构所体现出来的属性。

如存储器、处理器、数据类型、指令集(如读取)等划分,和内存不够就用辅存的方案 就是计算机体系结构

而如何实现某指令 和实际上如何做到辅存扩主存的方法 就是计算机组成


计算机系统的组成:硬件和软件

硬件、功能部件基本组成、处理机(冯诺依曼)

处理机:计算机系统的一部分,由中央处理器,主存储器,输入-输出接口组成。
处理机加接外围设备就构成完整的计算机系统。它负责存储程序和数据。

在这里插入图片描述

一、输入、输出设备


二、存储器

计算机的存储部件,用于存放程序和数据。

辅存、外存(需调入主存,才能被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分钟  那么最大吞吐率为11分钟输出一个结果)


假设各段时间不同,第i段时间为ti
TPmax = 1/max{ti}
如五个段四个段1分钟,一个段2分钟  那么最大吞吐率为0.52分钟输出一个结果)

实际吞吐率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个段总的时空区之比





------------------------------------------------------------------------------------------------





  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 计算机组成是指计算机硬件由哪些部分组成,以及这些部分之间如何相互连接和协同工作。计算机体系结构则是指计算机的逻辑结构和功能特性,包括指令集、寄存器、数据通路等。 换句话说,计算机组成描述计算机硬件实现的细节,而计算机体系结构描述计算机的逻辑功能。计算机组成计算机体系结构密切相关,二者相互影响,共同决定了计算机的性能和功能。 ### 回答2: 计算机组成计算机体系结构计算机科学中的两个重要概念,用于描述计算机的不同方面。 计算机组成是指计算机硬件的构成和相互连接的方式。它包括中央处理器(CPU)、内存、输入输出设备以及各种总线、控制器等组件。计算机组成的核心目标是设计高效、可靠、可扩展的计算机系统。通过理解计算机组成,我们可以了解计算机各个部分的功能、作用和相互关系,帮助我们设计和优化计算机系统计算机体系结构计算机硬件和软件之间的接口。它包括指令集架构、存储体系结构以及计算机的操作和功能。计算机体系结构的设计影响着计算机的性能、效率和使用方式。一个优秀的计算机体系结构可以提高计算机的性能和效率,使软件能更好地利用计算机的资源。 理解计算机组成计算机体系结构可以帮助我们更好地了解计算机的工作原理和内部结构。它们是计算机科学中的基础知识,对于计算机专业的学习和研究非常重要。通过深入理解计算机组成计算机体系结构,我们可以更好地设计、开发和维护计算机系统,提高计算机的性能和效率。 ### 回答3: 计算机组成计算机体系结构计算机科学中两个重要概念。计算机组成关注计算机硬件部分,特别是由不同部件组成计算机系统。而计算机体系结构关注的是计算机的逻辑结构和功能组织。 计算机组成可视为计算机的物理实现。它涉及到了计算机硬件的设计与构造,包括中央处理器(CPU)、主存储器、输入输出设备等。计算机组成是由各种硬件组成的,比如电路、芯片、接口等,这些硬件之间通过总线进行通信和协调。计算机组成的目标是设计和构建出高效、可靠并能够执行计算任务的计算机硬件系统。 而计算机体系结构则关注计算机的逻辑结构和功能组织。它包括计算机中的各个部分以及它们之间的关系和交互方式。计算机体系结构定义了计算机的指令集架构(ISA),即计算机的指令集,包括指令的格式、操作码、寻址方式等。计算机体系结构也涉及到计算机的存储器层次结构、数据通路等。计算机体系结构的目标是为用户提供可靠、高效且易于使用的计算机系统。 可以说,计算机组成计算机体系结构是紧密关联的。计算机组成提供了支撑计算机体系结构的硬件基础,而计算机体系结构则规定了计算机组成之间的交互规则和操作方式。理解计算机组成计算机体系结构有助于我们深入了解计算机的工作原理,对计算机的性能优化、系统设计等方面具有重要的指导意义。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值