计算机组成与结构
- 格式:doc
- 大小:117.00 KB
- 文档页数:10
计算机组成实验报告计算机组成实验报告(共3篇)篇一:《计算机组成与结构》实验报告11 .实验目的:1).学习和了解TEC-2000 十六位机监控命令的用法;2).学习和了解TEC-2000 十六位机的指令系统;3).学习简单的TEC-2000 十六位机汇编程序设计;2.实验内容:1).使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容;2).使用 A 命令写一小段汇编程序,U 命令反汇编刚输入的程序,用G 命令连续运行该程序,用T、P 命令单步运行并观察程序单步执行情况;3、实验步骤1).关闭电源,将大板上的COM1 口与PC 机的串口相连;2).接通电源,在PC 机上运行PCEC.EXE 文件,设置所用PC 机的串口为“1”或“2”, 其它的设置一般不用改动,直接回车即可;3).置控制开关为00101(连续、内存读指令、组合逻辑、16 位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。
其它实验相同;4).按一下“RESET”按键,再按一下“START”按键,主机上显示:TEC-2000 CRT MONITOR Version 1.0 April 2001Computer Architectur Lab.,Tsinghua University Programmed by He Jia >5).用R 命令查看寄存器内容或修改寄存器的内容a.在命令行提示符状态下输入:R↙;显示寄存器的内容图片已关闭显示,点此查看图片已关闭显示,点此查看b.在命令行提示符状态下输入:R R0↙;修改寄存器R0 的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格主机显示:寄存器原值:_在该提示符下输入新的值,再用R 命令显示寄存器内容,则R0 的内容变为0036。
图片已关闭显示,点此查看6).用D 命令显示存储器内容在命令行提示符状态下输入:D 2000↙会显示从2000H 地址开始的连续128 个字的内容;连续使用不带参数的 D 命令,起始地址会自动加128(即80H)。
计算机的基本组成计算机是一种电子设备,它的功能包括存储、处理和传输信息。
为了更好地理解和使用计算机,我们需要了解它的基本组成。
1、硬件系统计算机的硬件系统是它的物理部分,包括中央处理器(CPU)、存储器(内存和硬盘)、输入/输出设备(键盘、鼠标、显示器、打印机等)和总线(用于连接各个部件)。
中央处理器是计算机的“大脑”,负责执行程序中的指令并处理数据。
存储器分为内存和硬盘。
内存包括随机存取存储器(RAM)和只读存储器(ROM)。
RAM用于存储运行中的程序和数据,ROM用于存储固件和操作系统。
硬盘是用于长期存储数据的外部存储器。
输入/输出设备允许用户与计算机交互。
键盘和鼠标是最常见的输入设备,而显示器和打印机是最常见的输出设备。
总线是用于连接各个部件的通信通道。
2、软件系统计算机的软件系统是它的程序部分,包括系统软件和应用软件。
系统软件包括操作系统、编译器和数据库管理系统等,它们为应用程序提供了一个运行环境。
应用软件是为特定任务设计的程序,例如办公软件、图像处理软件和游戏等。
3、网络系统现代计算机通常通过互联网与其他计算机连接,形成一个网络。
网络系统包括硬件(如路由器和调制解调器)和软件(如浏览器和电子邮件客户端),这些部件可以帮助用户连接到其他计算机并共享资源。
计算机的基本组成包括硬件系统、软件系统和网络系统。
这些组件协同工作,使计算机成为一种强大的信息处理工具,可以满足我们的工作、学习和娱乐需求。
计算机系统的基本组成计算机系统是一种复杂的电子系统,它由多个不同的部分组成,这些部分协同工作,使计算机能够执行各种任务。
以下是计算机系统的基本组成:1、硬件系统硬件系统是计算机系统的物理组成部分,包括中央处理器(CPU),内存,硬盘,显卡,声卡,网卡,电源,主板,显示器,键盘,鼠标等。
这些硬件组件通过各种接口和线路连接在一起,形成一个完整的计算机系统。
中央处理器(CPU)是计算机系统的核心,它负责执行程序中的指令,处理数据和执行计算。
计算机组成与体系结构目录计算机组成与体系结构 (1)1计算机系统组成 (2)1.1计算机硬件的组成 (2)1.2计算机系统结构的分类 (4)1.3复杂指令集系统与精简指令集系统 (4)1.4总线 (6)2存储器系统 (6)2.1主存储器 (6)2.2辅助存储器 (8)2.3C ACHE 存储器 (10)3流水线 (11)3.1流水线周期 (11)3.2计算流水线执行时间 (11)3.3流水线的吞吐率 (11)3.4流水线的加速比 (12)1 计算机系统组成1.1 计算机硬件的组成在嵌入式系统的存储部件中,存取速度最快的是(1)。
2016年(1)A.内存B.寄存器组C.FlashD.Cache【答案】B【解析】本题考查嵌入式系统存储结构的基础知识嵌入式系统的存储结构采用分级的方法来设计,从而使得整个存储系统分为四级,即寄存器组、高速缓冲(Cache)、内存(包括flash)和外存,它们在存取速度上依次递减,而在存储容量上逐级递增。
计算机采用分级存储体系的主要目的是为了(9)。
2014年(9)A.解决主存容量不足的问题B.提高存储器读写可靠性C.提高外设访问效率D.解决存储的容量、价格和速度之间的矛盾【答案】D 【解析】本题考查计算机系统基础知识。
存储体系结构包括不同层次上的存储器,通过适当的硬件、软件有机地组合在一起形成计算机的存储体系结构。
例如,由髙速缓存(Cache)、主存储器(MM)和辅助存储器构成的3层存储器层次结构存如下图所示。
接近CPU的存储器容量更小、速度更快、成本更高,辅存容量大、速度慢,价格低。
采用分级存储体系的目的是解决存储的容量、价格和速度之间的矛盾。
计算机执行程序时,在一个指令周期的过程中,为了能够从内存中读指令操作码,首先是将(9)的内容送到地址总线上。
2010年(9)A.程序计数器PCB.指令寄存器IRC.状态寄存器SRD.通用寄存器GR【答案】A 【解析】计算机执行程序时,在一个指令周期的过程中,为了能够从内存中读指令操作码,首先是将程序计数器(PC)的内容送到地址总线上。
第1章计算机系统概论1.1计算机的诞生和发展
1.2计算机的硬件
1. 计算机中执行的程序
2. 计算机硬件的组成
图1.1以总线连接的计算机框图
3. 计算机系统的分类
1.3计算机的软件
图1.2计算机系统的多级层次结构
1.4计算机网络基础
1. 计算机网络基础知识
图1.3载波调幅信号
2. 网络协议(ISO/OSI基本参考模型、TCP/IP协议)
习题
1.1说明高级语言、汇编语言和机器语言三者的差别和联系。
1.2计算机硬件由哪几部分组成?各部分的作用是什么?各部分之间是怎样联系的?
1.3计算机系统可分为哪几个层次?说明各层次的特点及其相互联系。
1.4操作系统的作用是什么?
1.5如何划分计算机发展的5个阶段(第一代~第五代)?当前广泛应用的计算机主要采取哪一代的技术?
1.6列出通用机、小型机和微型机等计算机的典型机种以及这些计算机的主要应用范围。
1.7早期的主机系统的主要特点是什么?
1.8计算机能够普及应用的主要原因是什么?
1.9冯·诺依曼型计算机的结构特点是什么?
1.10试用机器语言编写求5个数平均值的程序(自定指令系统)。
1.11SISD、SIMD和MIMD计算机系统的主要差别是什么?
1.12什么是局域网、广域网和互联网?试解释IP地址。
1.13请解释网络中传输信息的两种方式: 基带传输和宽带传输。
1.14请说明制订标准(或协议)对计算机和网络的重要性。
(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内
容,供参考,感谢您的配合和支持)。
计算机组成原理与体系结构基础知识试题及解析计算机组成原理与体系结构基础知识试题及解析一、选择题1. 下面哪个不是计算机中的主要硬件组成部分?A. 中央处理器B. 内存C. 硬盘D. 显卡答案:D解析:显卡是计算机中的辅助硬件组成部分,用于处理图形输出。
而中央处理器、内存和硬盘是计算机的三大核心硬件组成部分。
2. 下面哪个不是计算机存储器的一种?A. 随机存取存储器(RAM)B. 只读存储器(ROM)C. 磁盘存储器D. 闪存存储器答案:C解析:磁盘存储器属于外部存储器,不属于计算机存储器的范畴。
计算机存储器主要包括RAM、ROM和闪存存储器。
3. 下面哪个不属于计算机指令的基本格式?A. 操作码+操作数B. 地址码+操作码C. 操作数+寄存器D. 机器码答案:B解析:计算机指令的基本格式通常为操作码+操作数。
其中操作码表示要执行的操作,操作数则是操作的对象。
地址码+操作码不符合常见的指令格式。
4. 下面哪个不属于计算机中的主要总线?A. 数据总线B. 地址总线C. 控制总线D. 系统总线答案:D解析:系统总线并非计算机中的主要总线,而是由数据总线、地址总线和控制总线组成的总线系统。
5. 下面哪个不是计算机系统中的输入设备?A. 键盘B. 鼠标C. 打印机D. 扫描仪答案:C解析:打印机是计算机系统中的输出设备,而键盘、鼠标和扫描仪属于输入设备。
二、填空题1. 操作系统负责管理计算机的资源,同时提供给用户一个__________的工作环境。
答案:友好2. 在计算机中,字长是指CPU一次能处理的二进制数据的位数,它也是计算机的__________。
答案:基本数据类型3. 计算机内存中保存的数据在计算机断电后会丢失,因此又称为__________。
答案:易失性存储器4. ALU(算术逻辑单元)是计算机中负责执行__________运算的部件。
答案:算术和逻辑5. 程序计数器是CPU中的一个寄存器,用来存储下一条指令的__________。
第一章:计算机系统概论第一章:计算机系统概论1、请指出机器语言、汇编语言和高级语言的区别与联系。
机器语言是由一些二进制代码表示的指令所组成的。
不同的CPU,其指令系统不同,因而由不同的CPU所构成的计算机系统,其机器语言也是不同的。
汇编语言是采用了助记符来代替二进制代码而产生的。
高级语言是一种语义上与自然语言接近,又能被计算机接受的语言。
2、请说明计算机系统的“结构”、“组成”和“实现”。
计算机系统结构:指机器语言级的程序员所了解的计算机的属性即外特性。
计算机组成:是系统结构的逻辑实现。
计算机的实现:指计算机逻辑设计之后的物理实现。
3、冯.诺依曼结构有哪些特点?诺依曼结构有哪些特点?一般认为,冯.诺依曼计算机具有以下基本特点:①计算机的硬件由运算器、控制器、存储器、输入设备和输出设备构成。
②程序预先存放在存储器中,计算机工作时能自动高速地从存储器中取出指令和数据加以执行。
数据采用二进制码表示。
③数据采用二进制码表示。
④指令由操作码和操作数组成。
⑤指令按执行的顺序存放在存储器中,由程序指针PC指明要执行的指令所在的位置。
⑥以运算器为中心,I/O设备和存储器之间的数据传送都通过运算器。
4、冯·诺依曼机工作的基本方式的特点是_B__。
A 多指令流单数据流多指令流单数据流B 按地址访问并顺序执行指令C 堆栈操作堆栈操作D 存贮器按内容选择地址存贮器按内容选择地址5、“解释程序”与“编译程序”的区别在哪里?“编译程序”:先将用户程序翻译成机器语言程序(形成目标程序),然后执行。
“解释程序”:是边翻译边执行。
(不形成目标程序)6、计算机硬件由哪些部分组成?计算机的硬件系统:由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
此题可能改为:计算机系统由哪些部分组成?或计算机软件有哪些组成部分?计算机系统:包括硬件系统和软件系统计算机软件:包括系统软件和应用软件7、完整的计算机系统应包括__D__。
(1)CPU主要包括______。
•A控制器•B控制器、运算器、cache•C运算器和主存•D控制器、ALU和主存正确答案:B(2)根据国标规定,每个汉字在计算机内占用()存储。
•A一个字节•B二个字节•C三个字节•D四个字节正确答案:B(3)下述I/O控制方式中,主要由程序实现的是______。
•A PPU(外围处理机)方式•B中断方式•C DMA方式•D通道方式正确答案:B(4)下列数中最大的数是______。
•A(10010101)2•B(227)8•C(96)16•D(143)10正确答案:B(5)某存储器芯片的存储容量为8K×12位,则它的地址线为____。
•A11•B12•C13•D14正确答案:C(6)设X=-0.1011,则〔X〕补为______。
•A1.1011•B1.0100•C1.0101•D1.1001正确答案:C(7)一个256K×8的存储器,其地址线和数据线总和为______。
•A16•B18•C26•D20正确答案:C(8)下列数中最小的数为______。
•A(101001)2•B(52)8•C(101001)BCD•D(233)16正确答案:C(9)在动态分区式内存管理中,倾向于优先使用低址部分空闲区的算法是()•A最佳适应算法•B最坏适应算法•C首次适应算法•D循环首次适应算法正确答案:C(10)在指令的地址字段中,直接指出操作数本身的寻址方式,称为______。
•A隐含寻址•B立即寻址•C寄存器寻址•D直接寻址正确答案:B11)计算机问世至今,新型机器不断推陈出新,不管怎样更新,依然保有“存储程序”的概念,最早提出这种概念的是______。
•A巴贝奇•B冯. 诺依曼•C帕斯卡•D贝尔正确答案:B(12)目前我们所说的个人台式商用机属于______。
•A巨型机•B中型机•C小型机•D微型机正确答案:D(13)当采用()对设备进行编址情况下,不需要专门的I/O指令组。
1、计算机系统的组成计算机是由硬件系统(hardware system)和软件系统(software system)两部分组成的。
硬件部分1、中央处理器中央处理器(Central Processing Unit,CPU)制作在一块集成电路芯片上,也称为微处理器(Micro Processor Unit,MPU)。
计算机利用中央处理器处理数据,利用存储器来存储数据。
CPU是计算机硬件的核心,主要包括运算器和控制器两大部分,控制着整个计算机系统的工作。
计算机的性能主要取决于CPU的性能。
运算器又称为算术逻辑单元(Arithmetic Logic Unit,ALU)。
操作时,控制器从存储器取出数据,运算器进行算术运算或逻辑运算,并把处理后的结果送回存储器。
控制器的主要作用是使整个计算机能够自动的运行。
执行程序时,控制器从主存中取出相应的指令数据,然后向其他功能部件发出指令所需的控制信号,完成相应的操作,再从主存中取出下一条指令执行,如此循环,直到程序完成。
2、存储器存储器是计算机中的记忆存储部件。
存储器既能够接受和保存数据,又能够向其他部件提供数据。
存储器分为内存和外存两大类。
在计算机系统中,习惯上把内存、CPU合称为主机。
(1)内存储器内存储器分为随机读/写存储器(Random Access Memory,RAM)、只读存储器(Read OnlyMemory,ROM)和高速缓冲存储器(Cache)三类。
内存一般指的是RAM。
硬盘一般指ROM。
(2)外存储器外存储器主要包括硬盘、光盘、U盘和移动硬盘等。
ROM和RAM是计算机内存储器的两种型号,ROM表示的是只读存储器,即:它只能读出信息,不能写入信息,计算机关闭电源后其内的信息仍旧保存,一般用它存储固定的系统软件和字库等。
RAM表示的是读写存储器,可其中的任一存储单元进行读或写操作,计算机关闭电源后其内的信息将不在保存,再次开机需要重新装入,通常用来存放操作系统,各种正在运行的软件、输入和输出数据、中间结果及与外存交换信息等,我们常说的内存主要是指RAM。
计算机的组成部分及功能由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机,每一部件分别按要求执行特定的基本功能。
⑴运算器或称算术逻辑单元(Arithmetical and Logical Unit)运算器的主要功能是对数据进行各种运算。
这些运算除了常规的加、减、乘、除等基本的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,即“与”、“或”、“非”这样的基本逻辑运算以及数据的比较、移位等操作。
⑵存储器(Memory unit)存储器的主要功能是存储程序和各种数据信息,并能在计算机运行过程中高速、自动地完成程序或数据的存取。
存储器是具有“记忆”功能的设备,它用具有两种稳定状态的物理器件来存储信息。
这些器件也称为记忆元件。
由于记忆元件只有两种稳定状态,因此在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。
记忆元件的两种稳定状态分别表示为“0”和“1”。
日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。
计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。
存储器是由成千上万个“存储单元”构成的,每个存储单元存放一定位数(微机上为8位)的二进制数,每个存储单元都有唯一的编号,称为存储单元的地址。
“存储单元”是基本的存储单位,不同的存储单元是用不同的地址来区分的,就好像居民区的一条街道上的住户是用不同的门牌号码来区分一样。
计算机采用按地址访问的方式到存储器中存数据和取数据,即在计算机程序中,每当需要访问数据时,要向存储器送去一个地址指出数据的位置,同时发出一个“存放”命令(伴以待存放的数据),或者发出一个“取出”命令。
这种按地址存储方式的特点是,只要知道了数据的地址就能直接存取。
但也有缺点,即一个数据往往要占用多个存储单元,必须连续存取有关的存储单元才是一个完整的数据。
计算机在计算之前,程序和数据通过输入设备送入存储器,计算机开始工作之后,存储器还要为其它部件提供信息,也要保存中间结果和最终结果。
计算机组成与系统结构计算机组成与系统结构是计算机科学中的重要领域,涉及到计算机硬件和软件的设计、构建和运行。
本文将探讨计算机组成与系统结构的基本概念、主要组成部分以及它们之间的关系和相互作用。
一、概述计算机组成与系统结构是指计算机硬件和软件的组成和结构。
计算机组成涉及到计算机的物理部件,包括中央处理器(CPU)、内存、存储器、输入输出设备和总线等。
系统结构则关注计算机的整体结构和工作原理。
二、计算机组成1.中央处理器(CPU):CPU是计算机的核心,负责执行指令和控制计算机的运行。
它由控制单元和算术逻辑单元组成。
2.存储器:存储器用于存储和读取数据和指令。
它分为主存储器和辅助存储器两部分。
主存储器包括随机存取存储器(RAM)和只读存储器(ROM)等。
3.输入输出设备:输入输出设备用于与计算机进行信息交互。
常见的输入设备有键盘、鼠标和扫描仪等,输出设备包括显示器、打印机和音响等。
4.总线:总线用于传输数据和指令,连接计算机内的各个组件。
三、系统结构1.冯·诺依曼体系结构:冯·诺依曼体系结构是现代计算机体系结构的基础,它将指令和数据存储在同一个存储器中,并采用顺序执行的方式处理指令。
2.并行结构:并行结构允许多个处理器同时执行指令,以提高计算机的处理能力。
常见的并行结构包括对称多处理器(SMP)和向量处理器等。
3.分布式系统:分布式系统由多台计算机组成,通过网络进行通信和协调工作。
分布式系统具有高可靠性和高扩展性的优势。
四、组成与结构的关系计算机组成和系统结构相互依存,组成决定了结构的实现方式,结构又反过来影响了组成的选择和配置。
组成和结构的协调与平衡对于实现高性能、高可靠性的计算机系统至关重要。
总之,计算机组成与系统结构是计算机科学中的核心概念。
了解计算机组成与系统结构的基本原理和关系,有助于理解计算机的工作原理,提高计算机的性能和可靠性。
只有在正确的组成和结构的指导下,计算机才能发挥出最大的潜力,为人类提供更加强大的计算和处理能力。
第1章计算机组成与体系结构根据考试大纲,本章内容要求考生掌握3个知识点。
(1)构成计算机的各类部件的功能及其相互关系;(2)各种体系结构的特点与应用(SMP、MPP);(3)计算机体系结构的发展。
1.1 计算机体系结构的发展冯·诺依曼等人于1946年提出了一个完整的现代计算机雏形,它由运算器、控制器、存储器和输入/输出设备组成。
现代的计算机系统结构与冯·诺依曼等人当时提出的计算机系统结构相比,已发生了重大变化,虽然就其结构原理来说,占有主流地位的仍是以存储程序原理为基础的冯·诺依曼型计算机,但是,计算机系统结构有了许多改进,主要包括以下几个方面。
(1)计算机系统结构从基于串行算法改变为适应并行算法,从而出现了向量计算机、并行计算机、多处理机等。
(2)高级语言与机器语言的语义距离缩小,从而出现了面向高级语言机器和执行高级语言机器。
(3)硬件子系统与操作系统和数据库管理系统软件相适应,从而出现了面向对象操作系统机器和数据库计算机等。
(4)计算机系统结构从传统的指令驱动型改变为数据驱动型和需求驱动型,从而出现了数据流计算机和归约机。
(5)为了适应特定应用环境而出现了各种专用计算机。
(6)为了获得高可靠性而研制容错计算机。
(7)计算机系统功能分散化、专业化,从而出现了各种功能分布计算机,这类计算机包括外围处理机、通信处理机等。
(8)出现了与大规模、超大规模集成电路相适应的计算机系统结构。
(9)出现了处理非数值化信息的智能计算机。
例如自然语言、声音、图形和图像处理等。
1.2 构成计算机的各类部件的功能及其相互关系计算机由控制器、运算器、存储器、输入设备和输出设备组成。
21966年,Michael.J.Flynn提出根据指令流、数据流的多倍性特征对计算机系统进行分类(通常称为Flynn分类法),有关定义如下:⏹指令流:指机器执行的指令序列。
⏹数据流:指由指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据。
⏹多倍性:指在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。
Flynn根据不同的指令流-数据流组织方式,把计算机系统分成4类。
(1)单指令流单数据流(SISD):SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。
流水线方式的单处理机有时也被当作SISD。
值得注意的是,Intel公司的PⅡ中开始采用MMX技术,引进了一些新的通用指令,从某种意义上使用了单指令流多数据流的思想,但是,与Intel公司的前几代产品(X86/Pentium)相比,其指令序列的执行方式和调用数据的方式没有发生根本性的变化,所以从整体上来看,采用PⅡ芯片的PC仍属于SISD。
(2)单指令流多数据流(SIMD):SIMD以并行处理机(阵列处理机)为代表,并行处理机包括多个重复的处理单元PU1-PU n,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同数据。
相联处理机也属于这一类。
(3)多指令流单数据流(MISD):MISD具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。
一个处理单元的输出又作为另一个处理单元的输入,这类系统实际上很少见到。
有文献把流水线看做多个指令部件,称流水线计算机是MISD。
(4)多指令流多数据流(MIMD):MIMD是指能实现作业、任务、指令等各级全面并行的多机系统。
多处理机属于MIMD。
当前的高性能服务器与超级计算机大多具有多个处理机,能进行多任务处理,称为多处理机系统。
不论是大规模并行处理机MPP(Massively Parallel Processor)还是对称多处理机SMP(Symmetrical Multi Processor),都属于这一类。
Flynn分类法是最普遍使用的。
其他的分类法还有:(1)冯氏分类法:由冯泽云在1972年提出,冯氏分类法以计算机系统在单位时间内所能处理的最大二进制位数来对计算机系统进行分类。
(2)Handler分类法:由WolfganHandler在1977年提出,Handler分类法根据计算机指令执行的并行度和流水线来对计算机系统进行分类。
(3)Kuck分类法:由DavidJ.Kuck在1978年提出,Kuck分类法与Flynn分类法相似,也是用指令流、执行流和多倍性来描述计算机系统特征,但其强调执行流的概念,而不是数据流。
第1章计算机组成与体系结构 3 1.3 各种体系结构的特点与应用1.3.1 复杂指令系统计算机复杂指令系统计算机(CISC)的主要特点如下。
①指令数量众多:指令系统拥有大量的指令,通常有100~250条。
②指令使用频率相差悬殊:指令使用频率相差悬殊,最常使用的是一些比较简单的指令,仅占指令总数的20%,但在程序中出现的频率却占80%,而大部分复杂指令却很少使用。
③支持很多种寻址方式:支持的寻址方式通常为5~20种。
④变长的指令:指令长度不是固定的,变长的指令增加指令译码电路的复杂性。
⑤指令可以对存储器单元中的数据直接进行处理:典型的CISC处理器通常都有指令能够直接对内存单元中的数据进行处理,其执行速度较慢。
1.3.2 精简指令系统计算机精简指令系统计算机(RISC)不是简单地把指令系统进行简化,而是通过简化指令的途径使计算机的结构更加简单合理,以减少指令的执行周期数,从而提高运算速度。
RISC的主要特点:(1)指令数量少:优先选取使用频率最高的一些简单指令以及一些常用指令,避免使用复杂指令。
大多数指令都是对寄存器操作,对存储器的操作仅提供了读和写两种方式。
(2)指令的寻址方式少:通常只支持寄存器寻址方式、立即数寻址方式以及相对寻址方式。
(3)指令长度固定、格式种类少:因为RISC指令数量少,格式相对简单,其指令长度固定,指令之间各字段的划分比较一致,译码相对容易。
(4)只提供了Load/Store指令访问存储器:只提供了从存储器读数Load和把数据写入存储器Store两条指令,其余所有的操作都在CPU的寄存器间进行。
(5)以硬布线逻辑控制为主:为了提高操作的执行速度,通常采用硬布线逻辑(组合逻辑)来构建控制器。
而CISC的指令系统很复杂,难以用组合逻辑电路实现控制器,通常采用微程序控制。
(6)单周期指令执行:因为简化了指令系统,很容易利用流水线技术使得大部分指令都能在一个机器周期内完成。
少数指令可能会需要多个周期执行,例如Load/Store指令因为需要访问存储器,其执行时间就会长一些。
(7)优化的编译器:RISC的精简指令集使编译工作简单化。
因为指令长度固定、格式少、寻址方式少,编译时不必在具有相似功能的许多指令中进行选择,也不必为寻址方式4的选择而费心,同时易于实现优化,从而可以生成能够高效执行的机器代码。
采用RISC技术的CPU硬件一般具有如下特点:寄存器数量多;采用流水线组织;控制器的实现采用硬布线控制逻辑电路。
大多数RISC采用了Cache(缓存)方案,使用Cache来提高取指的速度。
而且有的RISC甚至使用两个独立的Cache来改善性能:一个称为指令Cache,另一个称为数据Cache。
这样,取指和读数可以同时进行,互不干扰。
典型的RISC处理器有DEC公司的Alpha21164、IBM公司的PowerPC620、HP公司的PA-8000、SGI公司MIPS分部的TS和Sun公司的Ultra SPARC等。
从理论上来看,CISC和RISC都有各自的优势,不能认为精简指令计算机就好,复杂指令计算机就不好,事实上,这两种设计方法很难找到完全的界线,而且在实际的芯片中,这两种设计方法也有相互渗透的地方,表1-1所示是两者的简单对比。
表1-1 CISC和RISC的简单对比项目CISC RISC指令条数多只选取最常见的指令指令复杂度高低指令长度变化短、固定指令执行周期随指令变化大大多在一个机器同期完成指令格式复杂简单寻址方式多极少涉及访问主存指令多极少,大部分只有两条指令通用寄存器数量一般大量译码方式微程序控制硬件电路对编译系统要求低高1.3.3 流水线技术流水线技术是把一个任务分解为若干个顺序执行的子任务,不同的子任务由不同的执行机构负责执行,而这些机构可以同时工作。
在任一时刻,任一任务只占用其中一个执行机构,这样就可以实现多个任务的重叠执行,以提高工作效率。
流水线的关键之处在于重叠执行。
为了得到高性能的表现,流水线应该满负荷工作,即各个阶段都要同时并行地工作。
但是在实际情况中,流水线各个阶段可能会相互影响,阻塞流水线,使其性能下降。
阻塞主要由以下两种情形引起:执行转移指令和共享资源冲突。
(1)转移指令的影响通常在顺序执行指令的情况下,当CPU取一条指令时,流水线的地址计算部件可以独立地把当前PC值加上当前指令长度来计算下一条指令的地址,从而可以并行地工作,但第1章计算机组成与体系结构 5是当流水线执行一条转移指令时,就会引起流水线的阻塞。
因为在该转移指令完成之前,流水线不能确定出下一条指令的地址。
所以为了保证指令的正确执行,必须把取指段和指令地址计算段互锁。
在取出转移指令后,立即锁住指令地址计算段,直到转移指令执行完成。
互锁阶段流水线处于等待状态,不能满负荷工作,因而性能下降。
(2)共享资源访问冲突当多条指令以流水线方式重叠执行时,由于可能会引起对共享的寄存器/存储器资源访问次序的变化,因此将导致冲突,这种情况又称为数据相关。
为了避免这种冲突,就需要把相互有关的指令进行阻塞,这样就会引起流水线效率的下降。
一般来说,指令流水线级数越多,越容易导致数据相关,阻塞流水线。
1.指令流水线计算机中,一条指令的执行需要若干步,通常采用流水线技术来实现指令的执行,以提高CPU性能。
典型的指令执行共分7个阶段:①计算指令地址,修改程序计数器PC;②取指,即从存储器中取出指令;③指令译码;④计算操作数地址;⑤取操作数;⑥执行指令;⑦保存结果。
对指令执行阶段的划分也可以把取指作为第一阶段,其他阶段顺序前移,而在最后一个阶段计算下一条指令的地址。
若假定指令执行的各个阶段的执行时间相同,都是一个周期。
执行一条指令就需要花费7个周期的时间。
采用流水线技术以后,当满负荷时,每个周期都能从流水线上完成一条指令,相当于性能大约改善了7倍。
实际上,流水线技术对性能的提高程度取决于其执行顺序中最慢的一步。
例如,在指令执行的7个阶段中,如果访问存储器需要4个周期,而其他操作只需一个周期,一条指令的执行共需访存3次再加上4个周期的执行段,所以共需要16个周期。
采用流水线以后,由于受限于访存操作,4个周期才能完成一条指令的执行,因此性能提高了大约4倍。
2.运算操作流水线计算机在执行各种运算操作时,也可以应用流水线技术来提高运算速度。