系统架构设计·计算机硬件·计算机指令、存储系统、总线

一、计算机体系结构

 1.1 Flynn分类

 1.2 计算机指令

        1.2.1概念

                计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程;控制器靠指令指挥机器工作,人们用指令表达自己的意  图,并交给控制器执行。

        1.2.2 指令的组成

                一条指令由操作码操作数两部分组成,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。

        1.2.3 指令执行过程

                取指令-分析指令-执行指令

                首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址取内存中取出指令内容存入指令寄存器IR中;而后由指令译码器进行分析,分析指令操作码;最后执行指令,取出指令执行所需的源操作数

        1.2.4 指令寻址方式

                顺序寻址方式:执行一段程序时,是一条指令接着一条指令地顺序执行。

                跳跃寻址方式:指下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。

        1.2.5 指令操作数的寻址方式

                立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。

                直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。

                间接寻址方式:指令地址码字段所指向的存储单元中存储的是操作数的地址。

                寄存器寻址方式:指令中的地址码是寄存器的编号

1.3 指令系统类型

        复杂指令系统(CISC):兼容性强,指令繁多,长度可变,由微程序实现;

        精简指令系统(RISC):指令少,使用频率接近,主要依靠硬件实现(通用寄存器,硬布线逻辑控制);

1.4 指令流水线

        指令流水线原理:将指令分成不同段,每段由不同的部分取处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段,如下图所示:

 1.5 流水线相关计算

        流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期;

        流水线执行时间:1条指令总执行时间 +(总指令条数-1)*流水线周期

        流水线吞吐率:总指令条数 / 流水线执行时间

        流水线加速比:不使用流水线总执行时间 / 使用流水线总执行时间

二、存储系统

        计算机采用分级存储体系的主要目的是为了解决存储容量、成本和速度之间的矛盾

        两级存储:Cache-主存 主存-辅存(虚拟存储体系)

2.1 局部性原理

        总的来说,在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址内,包含下面两个方面:

        时间局部性原理:如果一个数据项正在被访问,那么在近期他很可能会被再次访问,即在相邻的时间里会访问同一个数据项。

        空间局部性原理:在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能是相近的,即相邻的空间地址会被连续访问。

2.2 高速缓存Cache

        高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU交互,位于CPU和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成。其内容是主存内存的副本拷贝,对于程序员来说是透明的。

        Cache由控制部分和存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换

        地址映射:在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换为Cache存储器地址,这种地址的转换称为地址映像,由硬件自动完成映射,分为下列三种方法:

        直接映像:将Cache存储器等分成块,主存也等分成块并编号。主存中的块与Cache中的块的对应关系是固定的,也即二者块号相同才能命中。地址变换简单但不灵活,容易造成资源浪费

        全相连映射:同样都等分成块并编号,主存中任意一块都与Cache中任意一块对应。因此可以随意调入Cache任意位置,但地址变换复杂,速度较慢。因为主存可以随意调入Cache任意块,只有当Cache满了才会发生冲突 ,是最不容易发生块冲突的映像方式。

         组相连映像:前面两种方式的结合,将Cache存储器先分块再分组,主存也同样先分块再分组,组间采用直接映像,即主存中组号与Cache中组号相同才能命中,但是组内全相连映像,也即组号相同的两个组内的所有块可以任意调换。

三、总线

3.1 分类

        从广义上讲,任何连接两个以上电子元器件的导线都可以称为总线,通常分为以下三类:

        内部总线:内部芯片级别的总线,芯片与处理器之间通信的总线。

        系统总线:是板级总线,用于计算机内各部分之间的连接,代表的有ISA总线、EISA总线、PcI总线。

        外部总线:设备一级的总线,微机和外部设备的总线。代表的有RS232(串行总线)、scsl(并行总线)、uSB(通用串行总线,即插即用,支持热插拔)。

        还有一些其他的总线,比如半双工总线、全双工总线、串行总线、并行总线等等

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值