计算机体系结构总结(模版)

时间:2019-05-13 03:22:46下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《计算机体系结构总结(模版)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《计算机体系结构总结(模版)》。

第一篇:计算机体系结构总结(模版)

计算机体系结构的详尽描述

一.计算机系统结构的基本概念

1.计算机体系结构的概念

1964年G.M.Amdahl在介绍IBM360系统时提出:计算机系统结构是从程序员所看到的计算机属性,即程序员编写出能在机器上正确运行的程序所必须了解的概念性结构和功能特性。

系统结构是对计算机系统中各级界面的划分、定义及其上下功能的分配。

系统结构设计主要研究界面的属性的透明性的取舍。

计算机系统结构(体系结构)指的是传统机器级的系统结构。

计算机系统结构研究的是软、硬件之间的功能分配以及对传统机器级界面的确定。

2.计算机系统的多级层次结构

二.计算机指令集结构设计

根据五个因素对计算机指令集结构进行分类:在CPU中操作数的存储方法;指令中显式表示的操作数个数;操作数的寻址方式;指令集所提供的操作类型;操作数的类型和大小。其中1是最主要的区别 根据CPU内部存储单元类型,可将指令集结构分为

堆栈型指令集结构、累加器型指令集结构和通用寄存器型指令集结构。优缺点?堆栈型(其CPU中存储操作数的主要单元是堆栈):是一种表示计算的简单模型;指令短小。不能随机访问堆栈,从而很难生成有效代码;同时,由于堆栈是瓶颈,所以很难被高效地实现。累加器型(其CPU中存储操作数的主要单元是累加器):减少了机器的内部状态;指令短小。由于累加器是唯一的暂存器,这种机器的存储器通信开销最大。寄存器型(CPU中存储操作数的主要单元是通用寄存器):易于生成高效的目标代码。所有操作数均需命名,且要显式表示,因而指令比较长

现代大多数机器均采用通用寄存器型指令集结构,原因:一是寄存器和CPU内部其他存储单元一样,要比存储器快;其次是对编译器而言,可以更加容易、有效地分配和使用寄存器。

寄存器-寄存器型(RR)优点:简单,指令字长固定,是一种简单的代码生成模型,各种指令的执行时钟周期数相近。缺点:和ALU指令中含存储器操作数的指令集结构相比,指令条数多,因而其目标代码量较大。

寄存器-存储器(RM)优点:可以直接对存储器操作数进行访问,容易对指令进行编码,且其目标代码量较小。缺点:指令中的操作数类型不同。在一条指令中同时对一个寄存器操作数和存储器操作数进行编码,将限制指令所能够表示的寄存器个数。由于指令的操作数可以存储在不同类型的存储器单元,所以每条指令的执行时钟周期数也不尽相同存储器-存储器型(MM)优点:是一种最紧密的编码方式,无需“浪费”寄存器保存变量。缺点:指令字长多种多样。每条指令的执行时钟周期数也大不一样,对存

储器的频繁访问将导致存储器访问瓶颈问题

CISC即复杂指令集计算机。它是增强指令功能,把越来越多的功能交由硬件来实行,并且指令的数量也是越来越多。RISC精简指令集计算机。它是尽可能的把指令集简化,不仅指令的条数少,而且指令的功能也比较简单。

三.流水线技术

流水线技术:将一个重复的时序过程分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。

时空图:用来描述流水线的工作,横坐标表示时间,纵坐标代表流水线的各段。

流水技术有哪些特点?

1)流水过程由多个相联系的子过程组成,每个过程称为流水线的“级”或“段”。2)每个子过程由专用的功能段实现。3)各个功能段所需时间应尽量相等。4)流水线需要有“通过时间”,在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果。5)流水技术适合于大量重复的时序过程,只有在输入端能连续地提供任务,流水线的效率才能充分发挥。

多倍性:在系统受限的部件上,同时处于同一执行阶段的指令或数据的最大数目。

流水线分类

1按照流水线所完成的功能(1)单功能流水线:只能完成一种固定功能的流水线(2)多功能流水线:流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。2按照同一时间内各段之间的连接方式(1)静态流水线:在同一时间内,流水线的各段只能按同一种功能的连接方式工作。2)动态流水线:在同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。

3按照流水的级别(1)部件级流水线(运算操作流水线):把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。(2)处理机级流水线(指令流水线):把解释指令的过程按照流水方式处理。(3)处理机间流水线(宏流水线):由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。

4按数据表示(1)标量流水处理机:处理机不具有向量数据表示,仅对标量数据进行流水处理。(2)向量流水处理机:处理机具有向量数据表示,并通过向量指令对向量的各元素进行处理。

5按照流水线中是否有反馈回路(1)线性流水线:流水线的各段串行连接,没有反馈回路。(2)非线性流水线:流水线中除有串行连接的通路外,还有反馈回路。

流水线寄存器的作用:把数据和控制信息从一个流水段传送到下一个流水段。

消除流水线的瓶颈段:细分瓶颈段;重复设置瓶颈段。

价流水线的性能指标(1)吞吐率:指在单位时间内流水线所完成的任务数或输出结果的数量。(2)流水线的加速比:指m段流水线的速度与等功能的非流水线的速度之比。(3)效率:指流水线的设备利用率。

流水线相关的三种类型:

相关是指两条指令之间存在某种依赖关系。确定程序中指令之间存在什么样的相关,对于充分发挥流水线的效率有重要的意义。1.结构相关:当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突时将产生“结构相关”;2.数据相关:当一条指令需要用到前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起“数据相关”;3.控制相关:当流水线遇到分支指令和其他会改变PC值的指令时就会发生“控制相关”。

消除相关的基本方法:1让流水线暂停执行某些指令,而继续执行其他一些指令。2当一条指令被暂停时,在该暂停指令之后发射的所有指令都要被暂停,而在该暂停指令之前发射的指令则可继续执行,在暂停

期间,流水线不会取新的指令。

输入/输出方式:程序控制(程序等待、程序中断)、DMA、通道、I/O处理机

数据相关:对于两条指令i(在前)和j(在后),如果下述条件之一成立,则称指令j与指令i数据相关:

(1)指令j使用指令i产生的结果;(2)指令j与指令k数据相关,而指令k又与指令i数据相关。名相关

如果两条指令使用相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。指令j与指令i之间的名相关有以下两种:(1)反相关。如果指令j写的名与指令i读的名相同,则称指令i和j发生了反相关。反相关指令之间的执行顺序是必须严格遵守的,以保证i读的值是正确的。(2)输出相关。如果指令j和指令i写相同的名,则称指令i和j发生了输出相关。输出相关指令的执行顺序是不能颠倒的,以保证最后的结果是指令j写进去的。

解决方法:换名技术,通过改变指令中操作数的名来消除名相关。

控制相关:由分支指令引起的相关。它需要根据分支指令的执行结果来确定后续指令是否执行。

流水线冲突

指对于具体的流水线来说,由于相关的存在,使得指令流中的下一条指令不能在指定的时钟周期执行。

(1)结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。解决方法:流水化功能单元;资源重复;暂停流水线。(2)数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。根据指令对寄存器的读写顺序,可将数据冲突分为:写后读冲突;写后写冲突;读后写冲突。(3)控制冲突:流水线遇到分支指令和其他会改变PC值的指令所引起的冲突。

四种解决数据冲突的方法:1)定向技术:在某条指令产生一个结果之前,其他指令并不真正需要该计算结果,如果将该计结果从其产生的地方直接送到其他指令需要它的地方,就可以避免暂停;2)暂停技术:设置一个“流水线互锁”的功能部件,一旦流水线互锁检测到数据相关,流水线暂停执行发生数据相关指令后续的所有指令,直到该数据相关解决为止。;3)采用编译器调度。当流水线中出现冲突时,编译器通过重新排列代码的顺序来消除流水线中的暂停,这种技术称为流水线调度4)重新组织代码顺序。流水线设计者有时会允许结构冲突的存在,原因:一是为了减少硬件开销,二是为了减少功能单元的延迟。

向量处理机:具有向量数据表示和相应向量指令的流水线处理机。

向量处理方式

(1)水平处理方式:向量计算是按行的方式从左到右横向地进行。若向量长度为N,则水平处理方式相当于执行N次循环。若使用流水线,在每次循环中可能出现数据相关和功能转换,不适合对向量进行流水处理。(2)垂直处理方式:适合对向量进行流水处理,向量运算指令的源/目向量都放在存储器内,使得流水线运算部件的输入、输出端直接与存储器相联,构成MM型(存储器-存储器)的运算流水线。(3)分组处理方式:适合流水处理。可设长度为n的向量寄存器,使每组向量运算的源/目向量都在向量寄存器中,流水线的运算部件输入、输出端与向量寄存器相联,构成RR型运算流水线。

提高向量处理机性能的方法:多个功能部件;链接技术;分段开采技术;多处理机系统

向量链接技术:当两条向量指令出现“写后读”相关时,若它们不存在功能部件冲突和向量寄存器(源或目的)冲突,就有可能把它们所用的功能部件头尾相接,形成一个链接流水线,进行流水处理。

链接技术应用条件:1.无功能部件冲突2.无向量寄存器使用冲突 3.只有在前一条指令的第1个结果元素送入结果向量机寄存器的那个时钟周期才可以进行链接。4.当一条向量指令的两个源操作数分别是两条先行指令的结果寄存器时,要求先行指令产生运算结果的时间必须相等。5.要求进行链接执行的向量指令的向量长度必须相等。

四.指令级并行

指令级并行:当指令之间不存在相关时,它们可以在流水线中重叠起来并行执行。这种指令序列中存在的潜在并行性称为指令级并行。

静态调度技术:依靠编译器对代码进行静态调度,以减少相关和冲突。它不是在程序执行的过程中、而是在编译期间进行代码调度和优化。静态调度通过把相关的指令拉开距离来减少可能产生的停顿。动态调度方法:在流水线中出现相关时,通过硬件重新安排指令的执行顺序,来调整相关指令实际执行时的关系,减少处理器空转。优点。(1)能够处理一些编译时情况不明的相关(比如涉及存储器访问的相关),并简化了编译器。(2)能够使本来是面向某一流水线优化编译的代码在其他的流水线(动态调度)上也能高效地执行。当然,动态调度的这些优点是以硬件复杂性的显著增加为代价的。

为了支持乱序执行,将5段流水线的译码(ID)段细分为两个段(1)流出:指令译码,并检查是否存在结构冲突。如果不存在结构冲突,就将指令流出。(2)读操作数:等待数据冲突消失(如果有的话),然后读操作数。

Tomasulo算法的核心思想① 记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减少到最少;② 通过寄存器换名来消除WAR冲突和WAW冲突。

Tomasulo算法的基本思想是:只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。指令的执行结果也是直接送到等待数据的其他保留站中去。因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号)。指令流出逻辑和保留站相结合实现寄存器换名,从而完全消除了数据写后写和先读后写相关这类名相关。保留站:设置在运算部件的入口,每个保留站中保存一条已经流出并等待到本功能部件执行的指令(相关信息),包括操作码、操作数以及用于检测和解决冲突的信息。

动态分支预测技术

在程序运行时,根据分支指令过去的表现来预测其将来的行为。如果分支行为发生了变化,预测结果也跟着改变。动态分支预测技术的目的有两个:预测分支是否成功和尽快找到分支目标地址(或指令),从而避免因控制相关而造成流水线停顿。

需要解决两个关键问题(1)如何记录分支的历史信息;(2)如何根据这些信息来预测分支的去向(甚至取到指令)。

前瞻执行的基本思想。

对分支指令的结果进行猜测,并假设这个猜测总是对的,然后按这个猜测结果继续取、流出和执行后续的指令。只是执行指令的结果不是写回到寄存器或存储器,而是放到一个称为ROB的缓冲器中。等到相应的指令得到“确认”(即确实是应该执行的)后,才将结果写入寄存器或存储器。

五.存储层次

单级存储器的主要矛盾:速度越快,每位价格就越高。容量越大,每位价格就越低。容量越大,速度越慢。采取多级存储层次方法来解决。

从用户的角度来看,存储器的三个主要指标是:容量、速度和价格。

评价存储层次的主要参数:存储层次的平均每位价格、命中率或失效率、平均访问时间。

“Cache-主存”层次:在CPU和主存之间增加一级速度快、但容量较小而每位价格较贵的高速缓冲存储器。借助于辅助软硬件,它与主存构成一个有机的整体,以弥补主存速度的不足。

“主存-辅存”层次:目的是为了弥补主存容量的不足。它是在主存外面增加一个容量更大、每位价格更便宜、但速度更慢的存储器。它们依靠辅助软硬件的作用,构成一个整体。

主要区别是什么?

目的:为了弥补主存速度的不足;为了弥补主存容量的不足。存储管理的实现:全部由专用硬件实现;主要由软件实现。典型的块(页)大小:几十个字节;几百到几千个字节。CPU对第二级的访问方式:可直接访问;均通过第一级。不命中时CPU是否切换:不切换切换到其他进程

存储层次中应解决四个问题:映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。查找算法:当所要访问的块在高一层存储器中时,如何找到该块。替换算法:当发生失效时,应替换哪一块。写策略:当进行写访问时,应进行哪些操作。

地址映像方法,优缺点

(1)全相联映像。实现查找的机制复杂,代价高,速度慢。Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。

(2)直接映像。实现查找的机制简单,速度快。Cache空间的利用率较低,块冲突概率较高,因而Cache的失效率也高。

(3)组相联映像。组相联是直接映像和全相联的一种折中。

组相联Cache比相同容量的直接映像Cache的失效率低。由此是否可以得出结论:采用组相联Cache一定能带来性能上的提高?为什么? 不一定。因为组相联命中率的提高是以增加命中时间为代价的,组相联需要增加多路选择开关。

Cache中,实现并行查找的方法:1用相联存储器实现。2用单体多字存储器和比较器来实现。替换算法

(1)随机法:简单、易于用硬件实现,但这种方法没有考虑Cache块过去被使用的情况,反映不了程序的局部性,所以其失效率比LRU的高。(2)先进先出法:容易实现。它虽然利用了同一组中各块进入Cache的顺序这一“历史”信息,但还是不能正确地反映程序的局部性。(3)最近最少使用法LRU:失效率最低。但是LRU比较复杂,硬件实现比较困难。

有效构建方法:在构建系统的过程中消除故障隐患,这样建立起来的系统就不会出现故障。

写策略

(1)写直达法:易于实现,而且下一级存储器中的数据总是最新的。

(2)写回法:速度快,写操作能以Cache存储器的速度进行。而且对于同一单元的多个写最后只需一次写回下一级存储器,有些“写”只到达Cache,不到达主存,因而所使用的存储器频带较低。

六.输入/输出系统

输入/输出系统简称I/O系统,它包括I/O设备以及I/O设备与处理机的连接。

总线按用途分类,总线可分为

(1)CPU存储器总线。CPU存储器总线比较短,通常具有较高的速度,并且要和存储器系统的速度匹配来优化带宽。(2)I/O总线。I/O总线要连接许多不同类型、不同带宽的设备,因而比较长,并且应遵循总线标准。

按设备定时方式分类,总线可分为

(1)同步总线。所有设备通过统一的总线系统时钟进行同步。成本低,因为它不需要设备之间互相确定时序的逻辑。缺点:总线操作必须以相同的速度运行。(2)异步总线。设备之间没有统一的系统时钟,设备自己内部定时。设备之间的信息传送用总线发送器和接收器控制。容易适应更广泛的设备类型,扩充总线时不用担心时钟时序和时钟同步问题。但在传输时,异步总线需要额外的同步开销。

输入输出系统概述

经历了3个阶段对应着3种方式:程序控制I/O(程序查询、中断驱动)、直接存储器访问(DMA)、I/O处理机方式(通道、外围处理机PPU)。

输入输出设备分外存和传输设备两大类。

总线设计

总线分类:半双工、全双工;

芯片级、板级(局部总线)、系统级;

专用总线、非专用总线。

根据信息传送方式的不同通道分为三种类型:

(1)字节多路通道:一种简单的共享通道,主要为多台低速或中速的外围设备服务。传送过程:通道每连接一个外围设备,只传送一个字节,然后又与另一台设备连接,并传送一个字节。

(2)数组多路通道:适于为高速设备服务。传送过程:每连接一台高速设备,一般传送一个数据块,传送完成后,又与另一台高速设备连接,再传送一个数据块。

(3)选择通道:为多台高速外围设备服务。传送过程:在选择通道中,通道每连接一个外围设备,就把这个设备的n个字节全部传送完成,然后再与另一台设备相连接。

通道处理机:能够执行有限I/O指令,并且能够被多台外围设备共享的小型DMA专用处理机。通道完成一次数据传输的主要过程?

(1)在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道。(2)通道处理机执行CPU为它组织的通道程序,完成指定的数据I/O工作。(3)通道程序结束后向CPU发中断请求。CPU响应这个中断请求后,第二次进入操作系统,调用管理程序对I/O中断请求进行处理。通道的主要功能8

(1)接收CPU发来的I/O指令,根据指令要求选择一台指定的外围设备与通道相连接。(2)执行CPU为通道组织的通道程序,从主存中取出通道指令,对通道指令进行译码,并根据需要向被选中的设备控制器发出各种操作命令。(3)给出外围设备的有关地址,即进行读/写操作的数据所在的位置。(4)给出主存缓冲区的首地址,这个缓冲区用来暂时存放从外围设备上输入的数据,或者暂时存放将要输出到外围设备中去的数据。(5)控制外围设备与主存缓冲区之间数据交换的个数,对交换的数据个数进行计数,并判断数据传送工作是否结束。(6)指定传送工作结束时要进行的操作。(7)检查外围设备的工作状态是正常或故障。根据需要将设备的状态信息送往主存指定单元保存。(8)在数据传输过程中完成必要的格式变换。

第二篇:深圳大学-计算机体系结构总结

一,计算机系统结构导论

1.层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构。这些层次依次为:微程序机器级,传统机器级,操作系统机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

2.翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

解释比翻译花的时间多,存储空间占用少。

3.虚拟机:用软件实现的机器。以区别于由硬件或固件实现的实际机器。

4.计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。5.透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

三种分类:Fllynn,冯氏,Handler。

6.计算机组成:计算机系统结构的逻辑实现,计算机实现:计算机组成的物理实现,一种体系结构可以有多种组成。一种组成可以有多种实现。

址。3寄存器寻址是指在指令的地址码部分直接给出操作数所在的寄存器编号。而所需的操作数就在这个寄存器中4.寄存器间接寻址,寄存器给的不是操作数而是操作数地址,可以用这一地址去读写存储器相关单元。

三.数据表示与指令系统设计 1.数据表示:是指能由机器硬件直接识别、可以被指令系统直接调用的数据类型。

数据结构:研究的是面向系统软件、应用领域所需要处理的各种数据类型,研究这些数据类型的逻辑结构和物理结构之间的关系,并给出相应的算法。数据表示是结构的组成元素,都是数据类型的子集。是硬软件交界面。

2.定点数:数据表示中小数点位置固定的数据,分为纯整数和纯小数.纯整数:最大数(Rm的n次-1)最小数(-Rm的n次)表数个数(Rm的n+1次)

纯小数:最大数(1-Rm的-n次)最小数(-Rm的-n次)表数个数(Rm的n+1次)。

3.浮点数

第一种:

单精度:A =(-1)S*2E-127 *1.F 双精度:A =(-1)S*2E-1023 *1.F

7.冯诺依曼特点:1.机器以运算器为中心2.采用存储程序原理3.存储器是按地址访问的,线性编址的空间4.控制流由指令流产生5.指令由操作码和地址码组成6.数据以二进制编码表示,采用二进制运算。

范围:1to(2-2的-23次)

Nmreerg

8.计算机应用的发展可以归纳为:数据处理,信息处理,知识处理,智能处理。

9.同型号的计算机。系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不

兼容机:由不同公司厂家生产的具有相同系统结构的计算机。10.软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。差别只是执行时间的不同。

向上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。向后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能运行于在它之后(前)投入市场的计算机。

软件具有兼容性和可移植性

硬件软件逻辑上等效 11.解决软件可移植性:采用系列机,模拟和仿真,采用统一高级语言。

11.模拟:用软件的方法在一台现有的计算机上实现另一台计算机的指令系统。

仿真:用一台现有计算机上的微程序去解释实现另一台计算机的指令系统。

12.MIPS:每秒百万条指令

MFLOPS:每秒百万条浮点运算指令。无法体现机器性能

指令条数 MIPS指令条数Te=执行时间106MIPS106MFLOPS程序中的浮点操作次数12.大概率事件优先原则:是计算机体系结构设计中最重要和最常用的原则,基本思想CPU执行时间106是:对于大概率事件,赋予它优先的处理权和资源使用权,以获得全局的最优结果。13.Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。14.15.可改进部分在原系统计算时间中所占比例:改进部分采用改进措施后比没有采用改进措施前性能提高的倍数:Fe

Se

T 1FT0FeFT01n T 0eST01FeeSSnTn1FFeeeeCPU CPU时钟周期数 时间=SCPU时间=CPU时钟周期数时钟周期长度e 时钟频率CPU时钟周期数CPU时间 = CPIIC时钟周期长度= ICCPICPI = IC时钟频率16.IC:执行指令条数

CPI:平均时钟周期数

MIPS=f(MHz)/ CPI

17.程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。时间局部性:程序即将用到的信息很可能是目前正在使用的信息。空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或接近。

CPU时间=用户CPU时间和系统CPU时间。

二.现代计算机组成

1.冯诺依曼体系:1运算器和控制器成为中央处理机,CPU是硬件系统核心,用于数据加工处理,完成各种算术,逻辑运算及各种控制功能。2存储器是记忆设备,分内存和外存。3输入输出设备是计算机与外界交换信息的装置。

2.CPU:由控制器,运算器和寄存器组成。控制器是计算机控制中心,运算器是计算机对数据进行加工处理的中心,寄存器是CPU内部临时存储单元,容量小速度快。3.寻址方式:解决的是指令中如何提供操作数及操作数地址等问题。

分为立即数寻址,直接寻址,寄存器寻址,寄存器间接寻址,变址寻址,基址寻址,相对寻址。4.设备和算法的总称。存储系统:计算机中存放程序和数据的各种存储设备,控制部件及管理信息调度的主要指标:大容量,高速度,低价格。

5.程序访问局部性原因:1程序进行时,除了少部分的转移和过程调用指令外,大多数情况下仍是顺序执行。2过程调用深度值大多数情况不超过5,3程序中存在循环结构 4.7.程序中包括许多对数据结构的处理输入输出系统作用:1.提供人机交互接口。

2.完成数据格式的转换。3.是重要的存储媒介。4.为各领域提供应用手段。

8.件提供互连和信息传输的一组公共信号线。总线:是多个系统功能部件之间进行数据传送的公共通路,或者说是能为多个功能部

工作原理:当多个设备连接在总线上时,其中一个设备发出的信号可以为其他所有设备接收,但是在某个时段内,只有一个设备能成功发出信号,总线数据传输过程分为:总线申请与裁决,总线寻址,数据传送及错误检测等。

9.单总线结构:所有部件,设备连接到这组总线。结构简单,成本低,易于接入新的设备,不利于提高总线的数据传输率。

10.双总线结构:CPU和主存间设置一组高速存储总线。

11.三总线结构:在双总线基础上增加一组从存储器到高速I/O的总线,DMA总线、主存总线用于CPU和主存之间的信息传送;I/O总线用于CPU和各个I/O之间进行信息传输;DMA总线用于高速外设和主存之间的信息交换。DMA和主存总线不能同时访问主存。

目前常用——Cache总线,主存总线,I/O总线三级总线结构。

12.配。CPU

和 接口功能I/O处理匹配:数据缓冲功能,接受和执行:速度不匹配,时序不匹配,信息格式不匹配,信息类型不匹CPU命令功能,信号转换功能,地址译码和设备选择功能,中断管理功能,可编程功能。

13.操作数地址。四种基本寻址方式区别2直接寻址是指在指令的地址码部分给出的就是操作数在存储器中的地:1立即数寻址指令的地址码部分就是指令操作数,而不是第二种:m:尾数的值

e:阶码的值

Rm:尾数的基

Re:阶码的基

p:尾数长度

q:阶码长度m e

3.四种舍入法:截断法,舍入法,恒置法,查表舍入法。

4.常用的编址方式:隐含编址,统一编址,独立编址。

隐含编址:操作码隐含了其寻址方式。统一编址:将I/O端口地址和存储器地址合为一体,进行统一编址。

独立编址:将I/O与存储器分别单独编址。

5.寻址技术:系统寻找数据或其他有用信息的地址的技术。

寻址方式:指令系统中如何形成所要访问的数据的地址。

三类面向:面向主存,面向寄存器,面向堆栈。6.逻辑地址:计算机系统的各个源程序或程序段是从自己的零地址开始分配地址空间的。

物理地址:程序调入主存中占用的实际地址称为物理地址。

7.数的类型。指令一般由操作码和地址码组成。

地址码包括操作数地址,地址的附加信息和寻址方式等信息。

操作码通常包括指令的操作种类和所用的操作 8.指令格式优化:操作码优化+地址码优化。

9.息量。操作码优化可以通过信息源熵和信息冗余衡量。

操作码编码分为:固定长度编码,Huffman

编码和扩展编码。信息源熵是信息源所含的平均信

10.Huffman编码不是唯一的,操作码的平均码长是唯一的,且肯定是可用二进制位编码平均码长最短的编码。

信息冗余=(实际平均码长-H)/实际平均码长

11.地址码个数选择标准:程序的存储量(越小越好)和程序的执行速度(越快越好)。12.地址码指令:1零地址指令,只有操作码没有地址码。2一地址指令,包含一个地址字段。3二地址指令,两个操作数地址,源和目标地址。4三地址指令,两个源操作地址,一个目标操作数地址。

13.DLX指令格式:I类指令,J类指令,R类指令。

14.的目的存储器基地址I类指令:1.Store指令: 2.LordOP指令:为操作码,OP为操作码,Ra为要读取的源寄存器地址,Ra为要写入的目的寄存器地址,Rb为要写入Rb为要读取的源存储器基地址。3移位指令格式:Ra:要写入的目的寄存器地址,Rs是要进行移位操作的源寄存器,保留10位,5位Imm是移位的位数

4.有一个立即数指令:Ra为目的寄存器地址,Rd为源操作数地址,Imm为立即数。5.条件分支指令:Rb为判断跳转条件,Rb空缺,Imm为16位偏移量。6.寄存器跳转指令:Ra空缺,Rb15.J为跳转的目的基地址,类指令:OP,0-25位在跳转指令中为跳转地址,在中断指令中为中断向量号。Imm为跳转的偏移地址。

16.R类指令:1.算术/逻辑运算指令:OP为操作码,Ra为目的寄存器,Rs,Rt为源寄存器,Func包含四位指令扩展功能码和6位保留。2.移位指令:OP为操作码,Rd为移位目的寄存器,Rs为移位源操作数寄存器,Rt为移位位数寄存器,Func同上。3.第一类寄存器间数据传输指令:OP为操作码,Rd为目的寄存器,Rs,Rt保留,Func同上。4.第二类寄存器间数据传输指令:OP为操作码,Rd空缺,Rs为移位源操作数寄存器,Rt空缺,Func同上

17.CISC(Complex Instruction Set Computer):复杂指令集计算机

缺点:1.各种指令的使用频率相差悬殊 2.带来了计算机体系结构的复杂性 3.不利于单片集成 4.运行速度慢 5.不利于采用先进的计算机体系结构技术来提高性能。

18.RISC(Reduced Instruction Set Computer): 精简指令集计算机

设计原则:1.选取使用频率最高的指令,并补充一些最有用的指令 2.每条指令功能尽可能简单,并在一个机器周期内完成 3.所有指令长度相同 4.只有Load和Store才能防问存储器,其余在寄存器中进行 5.以简单有效的方式支持高级语言。

19.的指令使用量则很少,仅占整个程序使用量的二八定理:20%的指令反复地执行,使用量占据整个程序使用量20%。80%:而剩下80%20.现代微处理机主频提升的原因:先延迟,功耗。

21.3.计算机价格的发展趋势。计算机系统设计中设计者应考虑的因素

:1.技术发展趋势 2.计算机使用的发展趋势 22.线延迟墙:随着集成电路工艺的进步,芯片内晶体管大小不断变小,其逻辑门延迟也随之减小,而走线延迟所占的比重也随之越来越大,导致电路频率不能随着工艺的减小而线性减小。

23.指令集结构设计考虑的问题以及解决方法:1.指令及功能设计:RISC和CISC。2.寻址方式设计:可以对基准程序进行测试统计,查看使用频度,确定寻址方式。3.操作数表示和操作数类型:浮点型,整形,字符型。4.寻址方式表示:寻址方式可以编入操作码(速度快,增大了CPU译码难度)也可以单独处理(速度慢,易于指令扩展)5.指令集格式设计:固定长,可变长,混合编码。

24.指令集基本要求:完整性,规整性,高效率,兼容性。

25.区别不同指令集结构的主要因素:区别不同指令集结构的主要因素是CPU中用来存储操作数的存储单元。据此可将指令分为堆栈结构、累加器结构和通用寄存器结构。四,存储系统

1.存储器容量Sm=W*l*m。W为存储体字长,l为每个存储体字数,m为并行存储体个数。访问时间TA:存储器从接到访存申请到信息被读到数据总线上所需时间。存储周期TM:是连续启动一个存储体所需要的时间间隔,一般大于TA。频宽Bm:存储器可以提供的数据传输率。容量大价格低,速度越快价格越高,容量越大速度越慢。2.存储系统目的:1.组织好速度,容量,价格不同的存储器,2.使这个存储器速度接近速度最快的存储器。3.存储容量接近容量最大的存储器。4.单位价格接近最便宜。3.命中率H:由CPU产生的逻辑地址在存储器M访问到指定信息的概率。

4.平均访问时间T=H*T1+(1-H)*T2 提高存储器系统速度两条途径:1.提高命中率。2.使构成存储系统的相邻两个存储器速度之比不要太大。

5.虚拟存储器:是“主存-辅存”存储层次的发展和完善,它使该存储层次具有辅存容量,接近主存的等效速度和辅存的每位价格。多个进程共享主存空间。

6.虚拟地址:是应用程序员对程序进行翻译生成的访问地址,它表示的存储空间为虚存空间。实地址:是指主存储器或磁盘存储器的物理地址,表示的存储空间为主存物理空间。

7.地址映像:虚拟存储器中虚拟地址和物理地址之间的对应关系的规则。

8.地址变换:虚拟存储系统按照某种地址映像方式把虚拟地址变换为主存实地址。9.虚拟存储器工作原理:页式虚拟存储器是比较广泛的一种。把主存储器,磁盘存储器和虚拟存储器都分成固定大小的页,每一页容纳字数相同。当用户要访问虚拟存储器时,必须给出多用户虚地址Av;如果未命中,必须访问辅存,需要进行外部地址变换;如果主存储器中没有空页,利用某种替换算法处理。

10.管理方式:1.段式:将虚地址通过段表找到段的基地址,然后形成物理地址,访问存储器。2.页式。3.段页式:把实存机械的等分成固定大小的页,把程序按模块分段,每个段分成与主存页面大小相同的页,每道程序通过一个段表和相应于每段的一组页表来进行定位。

10.页面替换算法:1.随机替换算法(RAND):利用软件或硬件的随机数发生器来确定11.中断源:把凡能向CPU提出中断请求的各种因素统称为中断源。

中断软硬功能分配:一是中断响应时间,二是灵活性。要在硬件的快速性和软件的灵活性之间进行综合权衡。必须硬件:保存中断点和进入中断服务程序入口。必须软件:中断服务和返回到中断点。

12.中断屏蔽:为提高中断系统灵活性,可以动态改变中断源优先级

用处:(1)在中断优先级由硬件确定了的情况下,改变中断源的中断服务顺序。(2)决定设备是否采用中断方式工作。(3)在多处理机系统中,把外围设备的服务工作分配到不同的处理机中。

13.四种I/O工作方式:程序控制,中断,DMA I/O处理机。

六.流水线技术

1.指令执行过程:1.取指令。按照指令计数器的内容访问主存。2.分析指令。对指令寄存器中的指令进行译码分析。3.执行指令。对操作数进行运算处理,完成指定功能。2.重叠方式:1.顺序执行方式(串行执行)。T=3nt,控制简单,利用率低,速度慢。2.一次重叠方式:指第i条指令的执行阶段和第i+1条指令的取指令阶段同时进行。T=(1+2n)t,利用率中,速度中,控制复杂。3.二次重叠方式:指第i条指令的执行阶段,第i+1条指令的分析阶段和第i+2条指令的取指令阶段同时进行。T=(2+n)t,利用率高,速度快,需要解决问题:1.必须有独立的取指令部件,指令分析部件和指令执行部件。2.要解决访问主存冲突问题。

3.解决访问主存冲突问题:1.把主存分成两个独立编址的存储器,一个指令存储器,一个数据存储器。2.主存采用低位交叉编址的秉性存储器。3.采用先行控制技术。

4.先行指令缓冲栈:平滑主存和指令分

析器的工作。指令分析器:从先行指令

缓冲栈取得指令后就行预处理。先行操

作栈:是指令分析器和运算控制器之间的一个缓冲存储器。先行读书栈:平滑

运算器与主存储器的工作。后行写数栈 主存储器中被替换页的页号。2.先进先出替换算法(FIFO):选择最早装入主存的页作为被替换的页。3.近期最少使用算法:选择近期最少访问的页面作为被替换页面。4.最久没用使用的算法(LFU):把近期最久没有访问过的页面作为被替换的页面。5.最后的算法应该是选择将来最久不被访问的页面作为被替换的页面,命中率一定最高,但只是理想标准。

11.为页数减少了。虚拟存储器性能2.主存容量,当主存容量增加到一定值,对命中率影响不大。:1.页面大小,当页大小增加到一定值时,命中率反而降低,是因3.页面调度方式:分页方式,请求页式,预取式+请求页式结合。

12.13.Cache命中时间:高速缓冲存储器是在:访问Cache命中时所用的时间。CPU与主存之间设置的一个高速度,小容量存储器。

失效率:CPU访存时,在一级存储器 中找不到所需信息的概率。

失效开销:CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。

Cache平均访问时间=命中时间+失效率*失效开销。14.Cache与虚拟存储器的不同:1.Cache与主存之间以块为单位进行数据交换。2.两级存储器的速度比不同。3.CPU和Cache之间和CPU与主存之间都有直接通路。4.Cache系统以提高存储系统速度为目标,虚拟存储系统以扩大存储系统容量为目标。

13.基本工作原理:Cache与主存分成大小相同的块,主存地址由块号B和块内地址W组成,Cache地址由块号b和块内地址w组成。由于块相等,块内地址相同。、15.复杂)地址映像及变换方式:主存中的任意一块可以映像到:1.全相联映像及变换(利用率最高,冲突概率最低,实现最Cache中任意一块位置上。2.直接相联映像及变换(利用率最低,冲突概率最高,实现最简单):虽然也是多对一,但一个主存块只能映像到Cache的一个特定块上去。3.组相联映像及变换:把主存按Cache容量分区,主存中各区和Cache再按同样大小分成相同数量的组,组内按同样大小分成相同数量的块,主存组到Cache组间采用直接映像方式,两个对应的组的块之间采用全相联映像方式。4.段相联映像方式:实质上是组相联的特例。5.位选择组相联及其变换:与一般组相联映像方式不同,Cache仍然分组,主存不分组。

16.提高Cache性能方法:1.命中率与容量关系。2.命中率与块大小关系。3.命中率与组数关系:Cache容量一定时,分组的数目对命中率的影响是很明显的,随着分组数目增加,组内的块数减少,命中率下降。4.命中率与Cache组织方式间的关系:容量一定,全相联命中率比直接相联高。

17.体,避免存储体冲突。提高主存性能方法:增加存储器宽度,采用简单的多体交叉存储器,采用独立存储

18.从哪几方面改进主存性能:降低失效率,减少失效开销,减少Cache命中时间。

五.输入输出系统

1.输入输出系统:把处理机与主存储器之外的部分统称为输入输出系统。包括输入输出设备、输入输出接口和输入输出软件等。

2.输入输出系统特点:1.异步性:各个设备按照自己时钟工作。2.与设备无关性:设有独立于具体设备的标准接口。3.实时性。针对异步性,采用自治控制方针,针对与设备无关性,采用分类处理方法,针对实时性,采用层次结构的方法。

3.基本输入输出方式:1.程序查询方式:不断查询I/O准备情况。2.中断输入输出方式。3.直接存储器访问方式(DMA):主存和I/O设备交换信息时,无需处理中断服务程序。

4.通道方式。5.I/O处理机方式

4.DMA特点:1.主存储器可以被CPU访问,也可以被外围设备访问。2.外设与主存之间传送数据不需要执行程序,也不动用CPU中的资源。3.在DMA开始之前,CPU要对DMA控制器进行初始化。

5.总线分类:1.在计算机结构中所在位置:片内总线,片总线,内总线,外总线。2.传递信息类型:数据总线,地址总线,控制总线。3.信息传送方向:单向和双向。4.总线用途:CPU-存储器总线和I/O总线。5.信息在总线上传送方式:同步和异步。

6.总线仲裁:解决的是多个设备竞争使用总线的管理问题,由总线仲裁逻辑线路完成。7.总线控制方式:1.集中式串行链接控制:选择算法简单,可扩充性好,可靠性差,灵活性差,分配速度低。2.集中式定时查询控制:灵活性好,可靠性高,可扩充性差,辅助总线多,分配速度低。3.集中式独立请求控制:分配速度高,灵活性好,可靠性高,辅助总线多,可扩充性差,复杂价格高。

8.步通信。总线的通行方式4.双向互锁异步通信。:1.单向源控式异步通信。2.单向目控式异步通信。3.双向非互锁异9.总线指标:总线宽度:通常指其一次操作可以传输的数据位数。总线频率:是总线工作的最高频率时钟

单个数据传送周期数。

10.中断:当出现异常情况或者特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处。

:是主存储器与运算器之间的一个缓冲

存储器。

4.执行指令部件完全独立的工作。并始终处于忙碌状态。先行控制技术是缓冲技术和预处理技术的结合。

使取指令部件,分析指令部件和

5.流水线技术:流水线技术是指将一个重复的时序过程分解为若干个子过程,每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。

6.时空图:横坐标表示时间:即输入到流水线中的各个任务在流水线中所经过的时间;纵坐标表示空间:即流水线的各个子过程。从横坐标方向看,流水线中的各个功能部件在逐个连续地完成自己的任务。

从纵坐标方向看,在同一个时间段内有多个流水段在同时工作,执行不同的任务。

7.流水线特点:1.把一个大的功能部件分解为多个独立的功能部件。2.每一个功能部件后面都有一个缓冲寄存器,3.工作一般分为时间段,装入时间,装满和排空时间。4.流水线中各段时间应尽量相等,长的功能段将成为其瓶颈,造成堵塞和断流。5.流水线技术适合大量同类任务,只有向连续不断提供任务,其效率才能充分发挥。8.行分段,再把这些部件分段相互连接而成。它使得运算操作能够按流水方式进行。这流水线分类:1.按级别分:部件级流水线(运算操作流水线):把处理机中的部件进种流水线也称为运算操作流水线。处理机级流水线(指令流水线):它是把指令的执行过程按照流水方式进行处理,即把一条指令的执行过程分解为若干个子过程,每个子过程在独立的功能部件中执行。

处理机间流水线(宏流水线):它是把多个处理机串行连接起来,对同一数据流进行处理,每个处理机完成整个任务中的一部分。前一个处理机的输出结果存入存储器中,作为后一个处理机的输入。

2.按反馈回路分:线性流水线(各段逐个串接起来)非线性流水线(除了有串行连接,还有反馈回路)3.功能多少分:单功能和多功能。4.同一时间各段连接方式:静态(指同一时段,多功能流水线中各个流水段只能按照一个固定方式连接,实现固定功能)和动态(指同一时段,多功能流水线中各段可以按照不同方式连接,同时执行多种功能)。5.按数据表示分:标量处理机(只能同时对一个或一对标量操作数进行运算或操作指令)和向量处理机(可以同时处理相同类型的多个或多对数据)。

8.吞吐率:单位时间内流水线完成的任务数或输出的结果数。TP=N/Tk

N:任务数,Tk完成n个任务所用的时间。

最大吞吐率受限于瓶颈子过程,要提高最大吞吐率,设法取消瓶颈功能段。方法有:1.将流水线瓶颈部分再细分。2.重复设置瓶颈功能段,让多个瓶颈部件并行工作。

9.加速比:是指完成一批任务时,不采用流水线所用时间与采用流水线所用的时间之比。S=T0/Tk。T0:顺序方式下执行时间 最大加速比与流水线的功能段数相等。10.效率:是指流水线的设备利用率。时空图上是n个任务占的时空区和k个功能段总的时空区之比

E=T0/KTk

E=TP*t

E=S/k 11.12.相关包括资源相关:资源相关,数据相关,控制相关。:指多条指令进入流水线后,同一时间争用同一功能部件从而发生的冲突。一般采用延迟执行和细分功能部件来解决。

数据相关:又称局部相关,指令在流水线中执行时,使得原来对操作数的访问顺序发生变化,对数据的读写操作顺序不同于指令在顺序方式下执行时的顺序,从而导致对数据的访问发生错误。

数据相关分为:先写后读,先读后写,写后写。

解决方法有:推迟处理,设置专用路径。

控制相关:又称全局相关,是由程序执行转移类指令而引起的相关。它的影响范围比较大,会引起程序执行方向的改变。解决方法有:改进硬件功能,采用预测分支失败机制,采用延迟分支机制。

13.码。减少条件转移对流水线的影响3.转移预测技术。分为静态转移预测和动态转移预测。:1.延迟转移技术和指令取消技术。2.提前形成条件14.静态转移预测:指在处理机的硬件和软件设计完成后,转移预测的方向就已经确定,在程序实际执行过程中,转移预测的方向不能改变。分为:软件猜测法,硬件猜测法和设置两个指令缓冲栈。

15.动态转移预测技术:是根据近期转移是否成功的历史记录来预测下一次转移的方向,它能够随程序的执行过程动态地改变转移的预测方向。分为:在指令Cache中记录转移历史记录,转移目标地址缓冲栈,转移指令功能缓冲栈。

16.中断:中断请求是随机发生的,不可预知的。

不精确断点:凡是已经进入流水线的指令都执行完成,断点就是最后进入流水线的那条指令的地址。

精确断点:是对于在流水线中同时执行的多条指令,如果有哪一条指令由于程序错误或者故障发出中断申请,断点就是那条指令的地址。

17.过程中,可能会多次通过同一个功能段或越过某个功能段。非线性流水线的调度技术:在非线性流水线中,功能段间有反馈回路,任务在执行

如果每个时钟周期向流水线送入一个新任务,将会发生多个任务争用同一个功能段的冲突现象。

一张非线性流水线的预约表可能与多个非线性流水线的连接图相对应;一个非线性流水线的连接图也可能与多个非线性流水线的预约表相对应。

19.非线性流水线的启动距离:是指向一条非线性流水线的输入端连续输入两个任务之间的时间间隔,它通常用时钟周期数表示。

非线性流水线调度的任务:就是找出一个最小的启动循环周期,按照这个周期向流水线输入任务,流水线的各个功能段都不会发生冲突。同时,非线性流水线的吞吐率和效率最高。

20.水线的状态图(当初始冲突向量确定后,状态图就是唯一的,由于不同的预约表可能非线性流水线的调度方法步骤:1.写出禁止向量和初始冲突向量。2.画出非线性流产生相同的初始冲突向量,因此从预约表可以画出状态图,但从状态图不能得到预约表)。3.求出最小启动循环(指平均启动距离最小的启动循环)和最小平均启动距离。4.求平均启动距离最小的恒定循环。

21.多指令流水线技术:在一般流水线标量处理机的基础上,提出提高指令级并行的高性能超级处理机,让单个处理机在每个时钟周期里可以执行多条指令。

22.超标量处理机:指在一个时钟周期内能够同时发射两条或者两条以上的指令的处理机。

超流水线处理机:指在一个时钟周期内分时发射多条指令的处理机。

超标量超流水线处理机:是前两种的结合,在一个时钟周期发射n次,每次发射m条指令。23.定向技术:是指流水线中将计算结果从其产生的地方直接送到真正需要它的地方,而不是从寄存器文件读出使用,它是一种解决数据相关,避免流水线暂停的方法。

第三篇:计算机体系结构论文剖析

高 级 计 算 机 体 系 结 构

题目: 计算机体系结构的发展史

2015年12月

计算机体系结构的发展史

摘要

本文回顾了计算机体系的发展历程,并分析了计算机体系的发展和技术研究的关键: Cell和多核等新型处理结构和可重构计算技术。提出了新的计算机体系结构,为计算机研究和应用提供参考。

关键词: 计算机体系 微处理器 多处理器 可重构 多核

目录

引言................................................................1 计算机体系的发展历程................................................1 Cell和多核等新型处理器结构带来新的方向.............................3 可重构技术与多核技术的融合..........................................6

引言

现代计算机的发展历程可以分为2个时代:串行计算时代和并行计算时代。并行计算是在串行计算的基础上,由一组处理单元组成,处理单元彼此通过相互之间的通信与协作,共同高速完成一项大规模的计算任务。而每一个计算时代都是从体系结构的发展开始,然后才是基于该结构的系统软件(特别是编译器与操作系统)、应用软件的发展,最后随着问题求解和发展而达到顶峰。

计算机系统结构也可以称为计算机体系结构。1964年Amdahl等人提出了计算机系统结构这个概念。他们把系统结构定义为程序员所看到的计算机系统的属性,即计算机系统的概念性结构与功能属性。这些属性是机器语言程序设计者(或者编译程序生成系统)为使其所设计(或生成)的程序能在机器上正常运行,所需遵循的计算机属性。这些属性是计算机系统中由硬件或固件完成的功能,程序员在了解这些属性后才能编出在传统机器级上正确运行的程序。因此,计算机系统结构概念的实质是确定计算机系统中软硬件的界面。界面之上是软件的功能,界面之下是硬件和固件的功能。

微电子技术和封装技术的进步,使得高性能的VLSI 微处理器得以大批量生产,性能价格比不断合理,这为并行多处理机的发展奠定了重要的物质基础。

计算机系统性能增长的根本因素有两个:一是微电子技术,另一个是计算机体系结构技术。五十年代以来,人们先后采用了先行控制技术、流水线技术、增加功能部件甚至多机技术、存储寻址和管理能力的扩充、功能分布的强化、各种互联网络的拓扑结构以及支持多道、多任务的软件技术等一系列并行处理技术,提高计算机处理速度,增强系统性能。多处理机体系结构是计算机体系结构发展中的一个重要内容,已成为并行计算机发展中人们最关注的结构。

计算机体系的发展历程

随着计算技术的发展,计算机体系也在不断发展变化。20世纪60年代初期,随着晶体管和磁芯存储器的出现,处理单元和存储器实现小型化,并行计算机开始出现。到了20世纪60年代末期,单一处理器中可以集成多个功能单元,产生 了流水线技术。该技术与单纯提高CPU时钟频率相比,大大提高了并行计算机系统的性能。

当时,伊利诺依大学和Burroughs公司开始着手实施Illiac Ⅳ计划,研制1台64颗CPU的SIMD主机系统,涉及到相关硬件技术、体系结构、I/O设备、操作系统、程序设计语言,以及包括应用程序在内的众多研究课题。1975年,随着一台规模大大缩小的原型系统(仅使用了16颗CPU)的面世,新的计算技术也得到了发展。

首先是存储系统的概念,提出了虚拟存储和缓存的思想,大大提高了计算机的整体性能。其次是半导体存储器开始代替磁芯存储器,大大缩小了存储器的体积并提高了访存速度。集成电路技术也被广泛而迅速地应用到计算机技术中。1976年Cray-1问世,向量计算技术被应用到高性能计算机中。Cray-1对所使用的逻辑电路是经过精心设计的,采用RISC精简指令集,引入向量寄存器,完成向量运算。

20世纪80年代开始,微处理器技术高速发展,随着机器的字长从4位、8位、16位一直增加到32位、64位,其性能也随之显著提高。卡内基·梅隆大学提出共享存储多处理器体系结构,并在当时流行的DEC PDP-11小型计算机的基础上研制出1台由16台PDP-11/40处理机通过交叉开关与16个共享存储器模块相连接而成的共享存储多处理器系统C.mmp。伯克利加州大学对基于SMP方式的总线协议进行扩展,提出了Cache一致性问题的处理方案。从此,C.mmp开创出的共享存储多处理器体系结构便成为服务器和桌面工作站的主流。

20世纪80年代中期,基于消息传递机制的并行计算机开始出现,加州理工学院将64个i8086/i8087处理器通过超立方体互连结构连接起来。此后,便先后出现了Intel iPSC系列、INMOS Transputer系列、Intel Paragon,以及IBM SP的前身Vulcan等基于消息传递机制的并行计算机。RISC 精简指令集计算机,用20%指令的组合实现了CISC 计算机指令系统不常用的80%指令的功能。在提高性能方面,RISC 采用了超级流水线、超级标量、超长指令字并行处理结构;多级指令Cache;编译优化等技术,充分利用RISC 的内部资源,发挥其内部操作的并行性,从而提高流水线的执行效率。20 世纪80 年代后期,RISC 处理机的性能指标几乎以每年翻一番的速度发展,它对于提高计算机系统的性能和应用水平起着巨大的作用。目前,由Intel 和HP 两家公司联合开发的基于IA—64 架构的Merced 芯片,并由其共同定义的显式并行指令计算技术EPIC(Explicitly Parallel Instruction Computing),将为微处理器技术的发展带来突破性进展。EPIC 技术主要指编译器在微处理器执行指令之前就对整个程序的代码作出优化安排,编译器分析指令间的依赖关系,将没有依赖关系的指令(最多3 个)组成一“组”,由Merced内置的执行单元读入被分成组的指令群并执行。从理论上讲,EPIC 可以并行执行3 倍于执行单元数的指令。64 位体系结构的Merced 芯片还采用了指令预测、数据预装等技术,可以显著地减少实际执行程序的长度,同时增强语句执行的并行性,经过代码的重组,程序的执行时间比基于传统体系结构的微处理器几乎减少了一半;更加不同凡响的是,可以消除分支预测错误的三分之二。IA—64 微处理器具有128 个通用寄存器以及128 个浮点寄存器,而目前基于RISC 的微处理器通常只有32 个寄存器。它还具有更为丰富的与大量寄存器相连的附属功能部件,使得其应用更为广泛,同时内部各功能部件之间的可伸缩性扩展了机器的“宽度”,提高了系统的性能。容量更大的Cache 以及更多的读写端口,使得基于IA—64 微处理器的速度不再受到存储延迟的限制。EPIC 设计的Merced 芯片可并行处理十几个运算,而当今最优秀的芯片也只能并行处理4 个运算操作。EPIC 芯片用并行方式执行任务而不用顺序执行,这将使其速度比现在的CISC 和RISC 芯片至少快两倍。只有0.18 微米微小距离的迹线间宽度也使芯片时钟能够达到900MHZ。使用EPIC 设计的Merced 是第一个被分为三部分的芯片:一部分运行CISC,另一部分运行RISC,第三部分运行EPIC。把三种体系结合于一块芯片意味着现存的应用程序将仍然可以运行在基于新芯片的服务器上。

Cell和多核等新型处理器结构带来新的方向

随着人们对计算机CPU速度的不断追求和微电子技术的发展及限制,一种新的处理器结构开始出现,它就是Cell和多核架构技术的实现。

Cell架构是1个单芯片多核处理单元,处理单元之间共享存储器资源。与多核处理器不同,Cell主要采用协处理器方式,然后依靠多个处理器并行技术来实 现运算速度的提高。尽管存在应用程序难以充分利用的弊病,但是其综合效率以及功耗控制都非常理想,开创了完全可扩展的架构模式。从而为大型机、服务器、以至包括手机在内的所有消费类电子产品提供1个统一的架构平台。只需要改变频率、内核数量等相关参数,即可保证在1个机器上开发、在所有机器上运行,大大节省了软件移植所带来的费用。因此,使用Cell的手机完全可以与相应的服务器进行直接沟通和资源共享,从而把这些小资源集合成为一个庞大的计算资源,构成一个真正的信息化时代。在这个资源体系中,每个资源节点可能是微不足道的,但是每个节点的运算都可能被整个资源库无穷放大,从而构成一个完整的Cell网络,为消费类电子的信息网络化带来真正的革命。

多核处理器的出现则是一场新的计算方式的革命[1,2]。2006 年,处理器开始从单核向多核处理器发展,多核处理器已不再局限于高端服务器,开始向 PC机普及,多核处理器使 PC 机变成并行式计算机。在多核处理器逐渐成为市场主导后,怎样利用多核的优势来优化并行程序设计成为一个需要研究和解决的问题。多核设计的出现为摩尔定律转向基辛格规则带来了生命力。英特尔推出了双核、四核至强和双核安腾处理器,AMD也推出了双核、四核皓龙芯片,IBM的Power5+芯片也是双核设计,针对HPC和图形运算的Cell芯片更是拥有1+8个核,SUN公司的Ultrasparc T1拥有8个核,Clearspeed(96核)、思科NPU(192核)、RIKEN(512核)更是推出了拥有数十个甚至数百个核的芯片,预计到2020年,千核CPU也会诞生。同时,多核技术在高性能计算中也已获得了广泛应用。

3可重构计算技术带来新的亮点 以前的计算机硬件技术都是固件化的,无法随着环境的改变而改变,产生大量的电子垃圾,不利于环保经济的发展,而可重构计算技术的出现则为我们带来了曙光。可重构计算就是通过实现硬件的可编程技术来满足不同计算任务的需求,从而达到最佳性能,且要求这种硬件结构的变化能实时地适应计算任务要求的变化。这种体系结构可变的特点,可以满足实际应用中的多元化需求。实现可重构计算的底层技术有FPGA(现场可编程门阵列)和CPLD编程技术。

在处理器芯片体系结构设计中采用可重构计算技术的基本思想是通过动态配置片上大量的处理单元、存储单元和互连单元,来支持各种不同类型并行性的计算模型,从而能在一个很宽的应用范围内达到高性能,提高片上硬件资源的利用率。基于可重构计算技术实现的多型微处理芯片体系结构能够很好地利用半导体技术发展提供的能力,在解决应用的多样性问题的同时,还可解决片上资源利用率、设计复杂性、系统可靠性以及降低成本和功耗等多方面的问题。可重构计算技术在处理器芯片设计中的应用改变了传统的指令集体系结构、微体系结构设计和实现技术。

可重构计算技术[3-5]使计算机硬件的设计不再复杂,硬件不再只是“硬”,也具备“软”的特性,即硬件可“编程”。在可编程的介质中提供强大的计算能力和密度,使得在单片系统上以低硬件复杂度开发出各种类型的应用, 同时能够针对应用中固有的并行性特征动态配置多个微体系结构模型,从而大幅度提高计算系统性能、降低功耗和设计的复杂性。

在设计中通常采用“自顶向下”的方法,即把系统分为若干模块。原则是使得每个模块有较独立的功能,模块之间的耦合尽可能小(通常表现为相互通信尽量简单)。划分之后,再分别实现每个模块,最后把模块像搭积木似地组装起来。其中某些模块可以做成现成的,可供设计时使用,即IP核心,它可以重复使用,从而提高了设计效率。再配合成熟的EDA工具作为设计流程的工具链,这样设计就显得相对容易。当然相对使用高级语言的软件编程,仍然是难于设计和缺乏灵活性的,其实IP的思想与软件的静态链接库很相似。可以把IP核心封装成软件可调用的库的形式。库分为静态库和动态库,动态库允许在程序执行时按需加载和卸载。这相当于硬件在设计运行时,IP核心可以动态地载入和卸出,当然前提是并不破坏原有程序和数据。把IP核心封装成动态库,将是可重构计算平5 台最为核心的思想。

随着芯片设计技术的SoC化,如何在1个芯片中集成很多现有的IP核,快速设计系统成为未来研究发展的重点。这时,IP核的可重用性和可更改性就成了最关键的技术,而开放源码的IP核将提供方向。中国有案可查的开放源码硬件项目是2001年3月启动的OpenARM项目,在“中国芯”盛行的那几年里,不少学校和研究单位参考开放源码的处理器设计了自己的微处理器。这个时期,中国利用开放源码硬件的资源进行IC设计的方法开始悄然流行。中国工程院院士许居衍的论文《半导体特征循环与可重构芯片》中基于此技术的发展提出 “许氏循环”[3],半导体产品的主要特征将沿着“通用”与“专用”循环波动,每10年1次,从2018年~2028年,将会重新走向通用。“许氏循环”发展图如图2所示。

许居衍的依据是,因为“可重构计算是1个难度颇大、涉及面甚广的课题,尽管当前很多人在研究,但是无论在器件结构、系统结构还是在设计方法学方面,均存在不少问题,仍有很长的路要走。可重构计算技术的发展,最终将推动主流应用进入U-SoC通用波动。只通过对‘毛坯芯片’(Raw Chip)的配置编程就可以得到用户自定义的功能电路,从而引导半导体产业结构演变,最终促进芯片应用创新Designless 模式的兴起”。所谓的Designless,就是无需设计、自动生成集成电路,工程师只需要关注应用和功能层面即可。但实现Disignless的前提是必须软硬件都开放。因为如果只开放软件,不知硬件细节,还是无法生成一个完整设计。因此,一个逻辑的发展应是“硬”、“软”均可编程,即算法可编程、可重构器件也可编程的U-SoC。

可重构技术与多核技术的融合 自从计算机发明以来,冯·诺依曼体系结构一直占据计算机体系结构的统治地位,科学家和工程师们在此基础上不断研究硬件和软件,使CPU和存储器技术得到了飞速的发展,也为信息化、网络化奠定了基础。随着人们对信息化的要求越来越高,冯·诺依曼体系结构已经无法满足人们的技术需求和发展要求,对计算机的要求不再仅仅是高速计算,同时更应具备信息处理和智能升级能力。可重构技术与多核技术的出现为此提供了基础。笔者认为新的计算机体系结构将是:(1)CPU将不再由1个核组成,而是由多个核组成的Cell;(2)存储器将不是中心,取而代之的将是信息通路;(3)计算机不再是五大部件,而是由多个信息处理节点构成,每个节点的智能化[5]和集成化越来越高;(4)程序设计将包括软件和硬件设计,生产商们提供的产品将是一个个封装好的中间件,作为应用者将勿需关心程序设计,只需要关注专业设计,对于应用者将会更加友好。新的计算机体系结构如图3所示。

全文回顾了计算机体系的发展历程和新技术,并分析了目前计算机体系的发展和技术研究的关键: Cell和多核等新型处理结构和可重构计算技术,提出了新的计算机体系结构,为计算机研究和应用提供了参考。

第四篇:计算机体系结构 实验报告2 华东理工大学

实验名称多通路运算器和寄存器堆

实验地点 信息楼420 实验日期 2012-12-7

一、实验目的

1. 了解多通路的运算器与寄存器堆的组成结构。

2. 掌握多通路的运算器与寄存器堆的工作原理及设计方法。

二、实验设备

PC 机一台,TD-CMX 实验系统一套。

三、实验原理

1.ALU® 单元的结构

ALU®单元由运算器和双端口寄存器堆构成,通过不同的控制信号SEL1、SEL0 产生不同结构的运算器。运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A 和暂存器B。

SEL0 和SEL1 用于选择运算器和寄存器堆的通路:

(1)当SEL1=0、SEL0=0,ALU 的输出D7„D0、REG(右口)的输出OUT7„OUT0 和ALU与REG 的输入IN7„IN0 接到CPU 内总线上时,如图1-2-1 所示,寄存器堆只能从右口进行操作,相当于只有一组控制线的单端口寄存器堆,一般计算机组成原理实验涉及到的运算器和寄存器就是采用这种结构。

(2)当SEL1=

1、SEL0=0,REG(右口)的输出OUT7„OUT0 和ALU 与REG(右口)的输入IN7„IN0 接到CPU 内总线上时,运算器和双端口寄存器堆的结构如图1-2-2 所示,寄存器堆由两组控制信号来分别进行控制,每组控制信号都可以相对独立的对寄存器堆进行读写操作,同时增加了执行专用通道A 总线,以利于提高指令执行的效率。

(3)当SEL1=

1、SEL0=1,REG(右口)的输出OUT7„OUT0 和ALU 与REG(右口)的输入IN7„IN0 接到CPU 内总线上时,运算器和双端口寄存器堆的结构如图1-2-3 所示,在双通道双端口运算器和寄存器堆的基础上增加了暂存器旁路,把运算结果写回到寄存器堆的同时也可以写到暂存器A、暂存器B 中。由于在运算型指令中把运算的结果写到通用寄存器中的指令很多,占运算型指令的大多数,发生通用寄存器数据相关的概率相当高,因此,可以用硬件 设置专用路径来解决这种通用寄存器数据相关问题。

上面介绍了运算器和寄存器堆的三种典型的数据通路图,在计算机组成原理这门课程中我们已经对运算器有了初步的了解,明白运算器的主要功能是完成算术和逻辑类运算。在系统结构这门课程中经过进一步的研究,还会了解到运算器与寄存器堆的结构对于计算机系统的设计有着重要的作用,对于计算机性能的优劣有着很大的影响。2.ALU® 单元的应用

在了解运算器与寄存器堆结构的基础上,基于如图1-2-3 所示的双通道双端口运算器和双端口寄存器堆的结构可以设计一段程序:从IN 单元读入一个数据,存入R0;从IN 单元读入另一个数据,存于R1;将R0 和R1 相加,结果存于R0;将R0 和R1 相加,结果存于R3,同 时打入暂存器A 中;再将R0 的值送OUT 单元显示。

四、实验操作及运行结果

(1)实验步骤

1、把时序与操作台单元的“MODE”短路块插上,使系统工作在四节拍模式,按实验连接图接线。注意:连线时实验箱电源要处于关闭状态。

2、确保接线正确后,将实验箱连到电脑:电源线+并口Jtag下载线(打印机口),并打开实验箱电源。

3、在软件Quartus II 8.0中选择“File->Open Project”选项,按照以下路径查找实验过程中需要下载到FPGA中的数据“C:TangDuCMXFPGAALU® ALU®.qpf(.sof)”,打开该文件后,单击软件中的“Programmer”选项,单击“Start”完成下载。如果下载成功在界面Progress中可以看到100%的标志字样。

4、用串口电缆连接实验箱和电脑打印机口,接通电源,打开软件CMX,进行串口测试(如果串口线未连接或者串口线故障则自动弹出错误信息对话框):端口→串口选择→COM1或者COM2;然后,测试串口通讯是否成功:端口→串口测试。

5、如果串口通讯成功,在PC 机上运行TD-CMX,进入联机软件界面,选择菜单命令“【实验】—【ALU®实验】”,打开数据通路图。

6、首先按CON单元的CLR开关进行系统清零,状态机为S0态。然后,采用单节拍运行方式来观察数据流通。

1)用连接成的双通道双端口运算器和双端口寄存器堆的结构实现以下一段程序:从IN 单元读入一个数据,存入R0;从IN 单元读入另一个数据,存于R1;将R0 和R1 相加,结果存于R0;将R0 和R1 相加,结果存于R3,同时打入暂存器A 中;再将R0 的值送OUT 单元显示。

2)根据指令要求,得出用时钟进行驱动的状态机描述,即得出其有限状态机

S0:空操作,系统复位后的状态

S1:IN->R0;从IN 单元往R0 中打一个数 S2:IN->R1;从IN 单元往R1 中打一个数

S3:R0->A, R1->B;同时把R0、R1 中的数打入暂存器A、B 中 S4:A+B->R0;将A+B 的结果送往R0 S5:A+B->R3,A+B->A;增加暂存器旁路,将A+B 的结果送往R3 的同时打入暂存器A中 S6:R0->OUT;把R0 中的数送入输出单元显示

3)每个状态运行4个周期(T1—T4),即每个状态按4次单节拍运行按钮

。请在S1和S2状态,通过IN单元的开关分别输入两个数(比如1和3)。观察数据通路图中数据的变化,并检查是否与状态的描述相符合。最后观察OUT液晶单元是否显示正确(如果从IN单元输入的两个数分别为1和3,则OUT单元输出应该为4)。

7、当模型机执行完一遍后,检查OUT 单元显示的数是否正确,按下CON 单元的总清按 钮CLR,改变IN 单元的值,再次执行机器程序,从OUT 单元显示的数判别程序执行是否正确。

(2)实验结果

五、实验中出现的问题和解决方法

问题1:接线问题 解决方法:本试验我自认为是这三个实验里连线最复杂的一个,因为开始的时候小组其他的两个同学连的线,后来实验执行不成功,所以我们又检查了一下连线,虽然找到了几个错误但是仍然不成功,不得不在找一遍,最终发现了加法运算器执行不正确的地方了。问题2:串口问题

解决方法:使用新的串口需要根据实验操作指示重新安装USB转串口驱动程序。问题3:ID问题

解决3:每次实验的 ID都不一致所以需要根据实验操作指示做相关修改。

第五篇:北邮大三计算机体系结构实验三DLX处理器程序设计

实验三DLX处理器程序设计

1.实验目的

学习简单编译优化方法,观察采用编译优化方法所带来的性能的提高。

2.实验原理

采用静态调度方法重排指令序列,减少相关,优化程序。

3、实验内容和要求

自编一段汇编代码,完成一维向量加法运算,并输出结果。观察程序中出现的数据/控制/结构相关。(注:使用一维数组表示一维向量。)

4.1向量加法代码清单及注释说明

1、向量加法设计源代码.data

VectorLength:.word 16

Vector1:.word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

Vector2:.word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 ;声明向量长度以及声明向量1、2 Printf1:.asciiz

“Vector =” Printf2:.asciiz “ %f”.align 2

PrintPrompt:.word Printf1 PrintPar:

.word Printf2

Result:

.space ;存放打印数据的空间申请.text

main:

addi r14,r0,PrintPrompt trap 5

lw r20,VectorLength

addi r2,r0,0

Loop:

ld f10,Vector1(r2)

ld f12,Vector2(r2)

;循环体中读入向量 cvti2d f0,f10

cvti2d f2,f12

addd f4,f2,f0;加法运算

Finish:;**** Finish,write result into stdout sd Result,f4

addi r14,r0,PrintPar

trap 5

;系统中断,输出结果 addi r2,r2,4

subi r20,r20,1

bnez r20,Loop

;**** End trap

0

2、运行结果

5.1程序相关性分析结果

(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。

产生34.12%的数据相关。当对当前指令的操作数寄存器进行操作的时候,前几条指令的运算结果还未写回结果寄存器,由此产生数据相关。

没有产生结构相关。

产生3.94%的控制相关。系统按照预测成功来执行指令,执行一条指令后马上将其下一条指令trap读进来。

(2)考察增加浮点运算部件对性能的影响。

1个浮点运算部件

3个浮点运算部件

同一段代码执行相同步,但是经过对比发现浮点运算部件的多少对于程序执行效率并没有什么影响,浮点运算部件的多少对统计结果都不造成影响,可能是由于该程序不存在争用浮点运算部件资源的情况(3)考察增加forward 部件对性能的影响。

不使用forward部件使用forward部件

使用forward部件之后执行相同的代码用的时钟周期比不使用forward部件少了 大约100个时钟周期,由于没有结构相关,所以使用forward部件主要使得RAW相关明显减少了,占总的时钟周期比例也减少了,对控制相关没有什么影响。总之,使用forward部件后,总的时钟周期减少,数据相关减少,流水线的性能得到很大的改善。

(4)观察转移指令在转移成功和转移不成功时候的流水线开销。

在本次实验中转移成功的几率比较大,进行16次转移只有一次转移不成功的,因为系统按照预测成功来执行指令,当判断转移不成功时,系统对trap指令进行的操作被全部作废,转而去执行跳转到的指令。

4.2双精度浮点加法求和代码清单及注释说明

1、双精度浮点加法求和源代码.data

;初始化两个用于相加的一维向量(双精度浮点数),向量长度为20 a:.double 1.9, 2.1, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2, 9.1, 10.1, 11.2,12.3,13.4,14.5,15.6,16.7,17.8,18.9,19.0,20.2 b:.double 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.8, 10.9, 11.8,12.7,13.6,14.5,15.4,16.3,17.2,18.1,19.9,20.8

PrintfFormat:.asciiz“The result is nn%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ftnn”

.align

PrintfPar:

.word

PrintfFormat r:

.space

200

;r为保存相加结果的向量空间

.text

.global main main:

addi r1,r0,0;r1计数相加的次数 addui r4,r0,8;r4为常数8

loop:

;循环计算向量相加结果

subi r2,r1,20;r1=20时,跳转到finish beqz r2,finish

multu r3,r1,r4;r3为当前分量相对于向量基址的偏移(每个分量占8B)ld f0,a(r3);取a中第r1个分量 ld f2,b(r3);取b中第r1个分量 addd f4,f0,f2;相加结果放在f4中

sd r(r3),f4;将相加结果放入结果向量r中 addi r1,r1,1;下一分量 j loop

finish:;输出向量相加的结果 addi r14,r0,PrintfPar trap 5

2、运行结果:

5.2程序相关性分析结果

(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令 组合。

产生了53.78%的数据相关。当对当前指令的操作数寄存器进行操作的时候,前几条指令的运算结果还未写回结果寄存器,由此产生数据相关。产生数据相关的指令主要有:

1)addi r1,r0,0 subi r2,r1,20

2)subi r2,r1,20

beqz r2,finish

3)multu r3,r1,r4 ld f0,a(r3)4)ld f2,b(r3)addd f4,f0,f2

无结构相关

产生了4.29%的控制相关。系统按照预测成功来执行指令,执行一条指令后马上将其下一条指令trap读进来。和4.1代码类似。(2)考察增加浮点运算部件对性能的影响。

1个浮点运算部件

3个浮点运算部件

同一段代码执行相同步,但是经过对比发现浮点运算部件的多少对于程序执行效率并没有什么影响,浮点运算部件的多少对统计结果都不造成影响,可能是由于该程序函数中没有连续的浮点运算指令。

(3)考察增加forward 部件对性能的影响。

没有forward部件有forward部件

使用forward部件之后执行相同的代码用的时钟周期比不使用forward部件少了 大约122个时钟周期,使用forward部件使得RAW相关明显减少了,流水线的性能得到很大的改善。

(4)观察转移指令在转移成功和转移不成功时候的流水线开销。

该转移指令不成功的情况较多,21次预测中只有1次转移成功,所以预测顺序取对流水线的性能是有利的。

6、实验总结

本次实验主要是向量求和运算,在本次实验我设计了两个部分,首先是整数向量的加法,整数向量加法的实验进行成功后才在之前实验的基础上略作修改,进行了的双精度浮点加法求和的实验。本次实验没有输入,是直接对固定在代码中的数据进行运算,运算完毕后直接输出结果。编程中遇到的一些问题:在由整形改为双精度浮点运算的时候对双精度运算指令不知道怎么来标识,后来查到所有涉及到double型数据的运算指令,指令代码都要加上d来说明,否则编译是不通过的。

通过本次自己编写汇编程序对浮点数的操作有了更深入的了解,也学会了WINDLX中浮点寄存器和浮点状态寄存器的设置和使用。熟悉了双精度浮点运算的流水线操作过程,以及数据相关,结构相关,控制相关,forward部件对于双精度浮点运算流水线的影响。

下载计算机体系结构总结(模版)word格式文档
下载计算机体系结构总结(模版).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    总结

    1994年9月,我以满腔的热情、满怀的信心投身于教育事业。1999年12月,我获得了小学一级教师资格。任现职以来,我主要是担任班主任和高年级数学教学,工作一丝不苟,热心支持学校所开......

    年度总结

    2016-2017学年个人总结和展望 转眼间我已经进入了大三,在二年多的学习生活中,有酸甜苦辣,有欢笑和泪水,有成功和挫折,大家一起欢笑过,一起努力过,一起奋斗过,一起追求自己的梦想,一起......

    总结

    【驾驶行为】 ‘flying out‘ ---------加速或刹车都能导致。 车胎磨损,constantly pulls to the left/right 前驱/后轮驱动,转弯过度加速。The front wheel tends to turn ou......

    总结

    2010年度支部工作总结2010年在历史一页中已经过去了,迎来了2011年。过去的一年来,支部各项工作在街道党工委、办事处及有关职能部门帮助指导下,在全体党员及广大代表的理解支持......

    总结

    宣传委员工作总结 作为宣传委员,我的职责是受班长、团支书的领导,对其负责,受其监督,并向其汇报工作,经过半年的努力,我有信心做好我的本职工作。 首先,我协助本班的团支书搞好思想......

    总结汇总

    2016年各项目部情况汇总 榆麻路绿化完成产值300万元,签证20万元,支出125万元,未发生一起质量安全事故。 育才中学完成产值170万元,签证利润4.37万元,支出124万元,未发生一起质量安......

    2017年度总结

    2017年工作总结 今年,在领导的关心指导和同事们的大力支持配合下,我严格要求自己,保持‚谦虚、谨慎、律己、务实‛的态度,工作已经顺利、圆满的完成。通过一年努力的工作,自己在......

    总结

    2010—2011学年度第二学期 工作总结 付 文 萍2011-7-8 2010-2011学年度第二学期工作总结 本学期我的工作进入了尾声,回顾这一学期以来,我班在学校领导的大力支持和直接领......