计算机组成原理考研知识点 非常全
计算机组成原理考试重点
计算机组成原理第一章计算机系统概论1.概念:存储单元,存储字长,存储容量P17,机器字长P17,指令字长(P19—1.7)2.什么是指令?3.P8,冯诺依曼计算机特点,计算机结构框图,图1。
7.(P19—1。
5)第二章计算机发展及应用1。
什么是摩尔定律?第3章系统总线1.总线的概念P412.总线的分类,系统总线分类?通信总线分类?3.了解总线结构,尤其是双总线和三总线(P53)4.总线控制(重点)P57(1)总线判优控制:集中式,分布式,特点是什么呢?集中式控制:●链式查询,计数器定时查询,独立请求方式;●分别采用怎样的控制方式?(2)总线通信控制(P59)●什么是总线周期?可以分为哪些阶段?●申请分配阶段,寻址阶段,传数阶段,结束阶段各自有哪些功能?●总线通信控制的主要功能:解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调,如何配合的问题。
●四种通信方式:同步通信,异步通信,半同步通信和分离式通信。
●同步通信特点?●异步通信特点?根据应答方式的不同进行分类:不互锁方式,半互锁方式,全互锁方式.●例题:3。
2, 例题3.35课后题3.2, 3.4 3。
5 3。
6 3。
7 3。
13 3.14 3.16第4章存储器1了解主存的基本组成P722。
了解主存存储单元地址分配, 存储字长:一个存储单元存放一串二进制代码的位数。
P73 3。
概念:存储容量,存储速度,存取时间,存取周期, 存储器带宽。
4. 动态RAM的三种刷新方式:P86●集中刷新●分散刷新●异步刷新5存储器容量的扩展方式:位扩展,字扩展,位字扩展P916存储器与CPU连接(设计题)P93 例题4。
17存储器校验:汉明码校验方法P100 例题4。
4 例题4.58 Cache—主存地址映射方式: 直接映射,全相联映射、组相连映射,各自特点,例题4.8,例题4.99替换策略: 先进先出算法,近期最少用算法,随即算法10. 辅助存储器章节的概念:磁表面存储器主要技术指标:记录密度,存储容量,平均寻址时间,数据传输率,误码率P12511 循环冗余校验码CRC编码P145 例题4。
计算机组成原理知识点
计算机组成原理知识点1. 冯·诺依曼体系结构:计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
2. 运算器:计算机的核心部分,负责执行各种算术运算和逻辑运算。
3. 控制器:负责控制指令的执行次序和操作,包括指令的获取、解码和执行。
4. 存储器:用于存储计算机程序和数据,包括主存储器(RAM)和辅助存储器(硬盘、固态硬盘等)。
5. 输入设备:用于将外部数据或指令输入到计算机,包括键盘、鼠标、扫描仪等。
6. 输出设备:用于将计算机处理后的结果输出到外部,包括显示屏、打印机、音响等。
7. 指令集:计算机能够执行的全部指令的集合。
8. 指令的执行过程:指令的获取、解码、操作和存储四个步骤。
9. 计算机的时钟:用于统一各个部件的工作节奏。
10. 运算器的设计:包括算术逻辑单元(ALU)和寄存器的设计。
11. 控制器的设计:包括指令寄存器、程序计数器和指令译码器的设计。
12. 存储器的分类:根据访问方式可以分为随机存储器(RAM)和只读存储器(ROM)。
13. 存储器的层级结构:由高速缓存、主存储器和辅助存储器组成,速度逐级递减,容量逐级递增。
14. 输入输出控制方式:包括程序控制方式、中断方式和直接存储器访问方式。
15. 总线的作用:用于数据和控制信息在计算机各个部件之间传输。
16. 总线的分类:根据传输数据的方式可以分为数据总线、地址总线和控制总线。
17. 中央处理器(CPU)的功能:包括指令的获取、解析、运算和存储。
18. 中央处理器的核心部分:由运算器和控制器组成。
19. 中央处理器的指令周期:包括取指周期、执行周期和存储周期。
20. 中央处理器的性能指标:包括时钟频率、主频和执行速度。
21. 程序和指令:程序是指一系列有序的指令集合,指令是计算机能够识别和执行的最小指令单元。
22. 计算机的存储方式:包括字节顺序、地址分配和寻址方式。
23. 输入输出设备的原理:包括数据传输、数据缓冲和数据控制。
(完整版)计算机组成原理知识点总结
《计算机组成原理》(白中英)复习第一章计算机系统概论电子数字计算机的分类(P1)通用计算机(超级计算机、大型机、服务器、工作站、微型机和单片机)和专用计算机。
计算机的性能指标(P5)数字计算机的五大部件及各自主要功能(P6)五大部件:存储器、运算器、控制器、输入设备、输出设备。
存储器主要功能:保存原始数据和解题步骤。
运算器主要功能:进行算术、逻辑运算。
控制器主要功能:从内存中取出解题步骤(程序)分析,执行操作。
输入设备主要功能:把人们所熟悉的某种信息形式变换为机器内部所能接收和识别的二进制信息形式。
输出设备主要功能:把计算机处理的结果变换为人或其他机器所能接收和识别的信息形式。
计算机软件(P11)系统程序——用来管理整个计算机系统应用程序——按任务需要编制成的各种程序第二章运算方法和运算器课件+作业第三章内部存储器存储器的分类(P65)按存储介质分类:易失性:半导体存储器非易失性:磁表面存储器、磁芯存储器、光盘存储器按存取方式分类:存取时间与物理地址无关(随机访问):随机存储器RAM ——在程序的执行过程中可读可写只读存储器ROM ——在程序的执行过程中只读存取时间与物理地址有关(串行访问):顺序存取存储器磁带直接存取存储器磁盘按在计算机中的作用分类:主存储器:随机存储器RAM ——静态RAM 、动态RAM只读存储器ROM ——MROM 、PROM 、EPROM 、EEPROM Flash Memory高速缓冲存储器(Cache)辅助存储器——磁盘、磁带、光盘存储器的分级(P66)存储器三个主要特性的关系:速度、容量、价格/位多级存储器体系结构:高速缓冲存储器(cache)、主存储器、外存储器。
主存储器的技术指标(P67)存储容量:存储单元个数M ×每单元位数N存取时间:从启动读(写)操作到操作完成的时间存取周期:两次独立的存储器操作所需间隔的最小时间,时间单位为ns。
存储器带宽:单位时间里存储器所存取的信息量,位/秒、字节/每秒,是衡量数据传输速率的重要技术指标。
计算机组成原理408考研基础知识点
计算机组成原理408考研基础知识点
(原创版)
目录
1.计算机组成原理的概念与意义
2.计算机的五大结构
3.计算机主要性能指标
4.计算机的发展历程
5.计算机的分类与发展方向
6.计算机系统层次结构
正文
一、计算机组成原理的概念与意义
计算机组成原理是计算机科学技术的基础,它主要研究计算机硬件系统的基本组成、工作原理和相互联系。
学习计算机组成原理有助于深入理解计算机的基本结构、功能和性能,为计算机系统的设计、开发和优化提供理论指导。
二、计算机的五大结构
计算机的五大结构包括:运算器、控制器、存储器、输入设备和输出设备。
这五大结构相互协作,共同完成计算机系统的各种功能。
1.运算器:负责完成各种算术运算和逻辑运算。
2.控制器:负责控制计算机系统中各个部件的工作。
3.存储器:负责存储程序指令和数据。
4.输入设备:负责将外部数据和指令输入计算机系统。
5.输出设备:负责将计算机系统的处理结果输出到外部设备。
三、计算机主要性能指标
计算机的主要性能指标包括:
1.字长:指处理器中参加一次定点运算的操作位的位数。
计算机组成原理考研大纲
计算机组成原理考研大纲摘要:一、计算机组成原理基本概念1.计算机的功能与组成2.计算机的工作过程与性能指标二、数制与编码1.数制的基本概念2.常用的数制及其转换3.编码方式三、计算机系统硬件组成1.中央处理器2.存储器3.输入输出设备四、计算机系统的工作原理1.指令集与指令执行2.程序的执行过程3.中断与异常处理五、计算机的性能优化1.处理器性能优化2.存储器性能优化3.输入输出设备性能优化正文:计算机组成原理是计算机专业中的一门基础课程,主要涉及计算机的功能、组成、工作过程、性能指标等方面的内容。
在考研大纲中,计算机组成原理通常包括以下几个方面的内容:一、计算机组成原理基本概念计算机组成原理首先需要了解计算机的功能和组成。
计算机的功能主要包括数据处理、逻辑运算、控制等,而计算机的组成则包括中央处理器、存储器、输入输出设备等。
此外,还需要了解计算机的工作过程和性能指标,如CPU 的主频、运算速度、缓存大小等。
二、数制与编码数制是计算机中数据表示的基础,常用的数制有二进制、十进制、十六进制等。
编码方式包括原码、反码、补码等,用于表示有符号整数。
三、计算机系统硬件组成计算机系统的硬件组成包括中央处理器、存储器和输入输出设备。
中央处理器是计算机的核心,负责执行各种指令和操作。
存储器用于存储程序和数据,包括内存和外存。
输入输出设备则负责与外部设备进行数据交换。
四、计算机系统的工作原理计算机系统的工作原理包括指令集与指令执行、程序的执行过程和中断与异常处理。
指令集是计算机能够识别和执行的指令集合,指令执行则是将指令集中的指令转换为计算机能够执行的操作。
程序的执行过程则涉及程序的编译、链接、加载和执行等步骤。
中断和异常处理则是计算机在执行过程中,对各种异常情况的处理。
五、计算机的性能优化计算机的性能优化主要涉及处理器性能优化、存储器性能优化和输入输出设备性能优化。
处理器性能优化包括提高主频、缓存大小等;存储器性能优化包括提高内存带宽、延迟等;输入输出设备性能优化包括提高磁盘读写速度、显卡性能等。
(完整版)计算机组成原理重点整理
一.冯·诺依曼计算机的特点1945年,数学家冯诺依曼研究EDVAC机时提出了“存储程序”的概念1.计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成2.指令和数据以同等地位存放于存储器内,并可按地址寻访。
3.指令和数据均用二进制数表示。
4.指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
5.指令在存储器内按顺序存放。
通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
6.机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。
二.计算机硬件框图1.冯诺依曼计算机是以运算器为中心的2.现代计算机转化为以存储器为中心各部件功能:1.运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内。
2.存储器用来存放数据和程序。
3.控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果4.输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式(鼠标键盘)。
5.输出设备可将机器运算结果转换为人们熟悉的信息形式(打印机显示屏)。
计算机五大子系统在控制器的统一指挥下,有条不紊地自动工作。
由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现后,两大不见往往集成在同一芯片上,合起来统称为中央处理器(CPU)。
把输入设备与输出设备简称为I/O设备。
现代计算机可认为由三大部分组成:CPU、I/O设备及主存储器。
CPU与主存储器合起来又可称为主机,I/O设备又可称为外部设备。
主存储器是存储器子系统中的一类,用来存放程序和数据,可以直接与CPU交换信息。
另一类称为辅助存储器,简称辅存,又称外村。
算术逻辑单元简称算逻部件,用来完成算术逻辑运算。
控制单元用来解实存储器中的指令,并发出各种操作命令来执行指令。
ALU和CU是CPU的核心部件。
I/O设备也受CU控制,用来完成相应的输入输出操作。
计算机组成原理知识点汇总
计算机组成原理知识点汇总x《计算机组成原理知识点汇总》一、算术逻辑单元1、算术逻辑单元(ALU)的功能算术逻辑单元(ALU)是一个对存储在寄存器中的数据进行算术和逻辑操作的硬件单元,它执行CPU中算术逻辑操作的所有活动。
主要有:加减乘除运算以及位操作(AND,OR,NOT)等。
2、算术逻辑单元的组成算术逻辑单元(ALU)由控制单元(CU)、累加器(Accumulator)、比较器(comparator)、移位器(Shift)、全加器(Full-Adder)、多位加法器(Multiple Adders)、多位乘法器(Multiple Multipliers)、掩码器(Mask)、屏蔽器(Shifter)等组成。
3、算术逻辑单元的运算过程(1)算术运算:它包括加减乘除运算,算术运算主要是把操作数从输入总线传到累加器中,进行算术运算以后,将结果存放在累加器中,然后传输到输出总线上。
(2)位操作:它包括AND,OR,NOT,异或等,位操作是把操作数从输入总线传到屏蔽器中,通过屏蔽器进行位操作,将结果存放在累加器中,同样传输到输出总线上。
(3)比较:算术逻辑单元还可以进行比较运算,以及移位,比较运算是把两个操作数从输入总线传到比较器中,比较两个操作数的大小,将结果存放在标志位中,寄存器中存放比较结果。
二、指令周期1、指令周期的概念指令周期是指中央处理器(CPU)执行指令所需要完成的时间,也就是说,指令从被CPU读取到完成执行的时间段称为指令周期。
它也可以简单的理解为一条指令完成执行的时间。
2、指令周期的分类指令周期可以分为主周期和子周期两种,主周期是指一条指令完成执行所需的最少时间,而子周期是指每一步执行完成的时间。
3、指令周期的作用指令周期是指系统的处理速度,它是用来评价计算机的运行速度的重要指标。
在进行计算机系统设计时,可以根据指令周期调整处理器的结构,以提高计算机的处理速度。
计算机组成原理(考研期末)知识点总结
计算机组成原理(考研期末)知识点总结(一)存储系统1.存储器的基本概念●分类●作用(层次):CACHE 主存辅存●存储介质:磁半导体光●存取方式●随机存取:RAM ROM●串行访问●顺序存取:磁带●直接存取:磁盘●信息可保存性--易失性破坏性读出非●性能指标●存储容量字●单位成本每位成本●存储速度(数据传输率主存带宽)●层次化结构●Cache-主存层次:硬件实现,解决速度不匹配问题●主存-辅存层次:硬件+操作系统实现,解决容量问题,逐渐形成虚拟存储系统2.半导体存储器●存储器芯片的基本结构●译码驱动电路(译码器:扩充容量)●存储矩阵●读写电路●地址线,数据线,片选线,读写控制线●半导体存储器RAM(易失性存储器)●SRAM:触发器存储信息,速度快成本高集成度低,用于高速缓存●DRAM:电容存储信息,需要刷新,速度慢成本低,集成度高,用于主存SDRAM●DRAM的刷新:集中刷新,分散刷新,●异步刷新●不需要CPU控制●行为单位,仅需要行地址●存储器中所有芯片同时刷新●RAM的读写周期●ROM(非易失性存储器)●特点:结构简单,位密度比RAM高,非易失性,可靠性高●类型:MROM,PROM,EPPROM,FLASH MEMORY,SSD3.存储器与CPU的协同工作(提高存储系统的工作速度)●主存与CPU的连接●字扩展●位扩展●线选法●译码片选法●译码器的使用●分析地址空间●字位同时扩展●选择存储器芯片●与CPU进行连接●双口RAM和多模块存储器●多模块存储器●单体多字●多体并行●低位交叉编址●高位交叉编址●双端口RAM●高速缓冲存储器●CACHE局部性原理和性能分析●局部性原理●空间局部性●时间局部性●性能分析●命中率和失效率●CACHE----主存体系的平均访问时间●CACHE工作原理●地址映射方式●全相联●直接相联●组相联●替换算法●RAND随机●FIFO先入先出●LRU最近最少使用●LFU最不经常使用●写策略●命中●全写法●写回法●不命中●写分配法●非写分配法●虚拟存储器(主存和辅存共同构成)(增加存储系统的容量)●基本概念:虚地址(逻辑地址)映射到实地址(物理地址)●解决问题:进程并发问题和内存不够用问题●类型●页式●段式●段页式●虚实地址转换(提高速度)●快表TLB●慢表Page(二)指令系统1.指令格式●操作码和地址码组成一条指令●操作码●定长操作码和扩展操作码●操作码类型2.指令寻址方式●指令寻址(通过PC)●顺序寻址●跳跃寻址●数据寻址●隐含寻址●立即寻址:给寄存器赋初值●直接寻址●间接寻址:扩大寻址范围,便于编制程序●寄存器寻址:指令执行速度更快●寄存器间接寻址●偏移寻址(各寄存器内容+形式地址):基址寻址,变址寻址(处理数组,编制循环程序),相对寻址●堆栈寻址3.CISC和RISC●CISC复杂指令系统计算机(用微程序控制器)●更多更复杂,一般为微程序控制,用于计算机系统●RISC精简指令系统计算机(用硬布线控制器)●指令数目少,字长固定,寻址方式少,寄存器数量多,一般为组合逻辑控制,用于手机(三)中央处理器1.CPU的功能和基本结构●CPU的功能:指令控制,操作控制,时间控制,数据加工,中断处理●运算器●功能:对数据进行加工●基本结构:●算术逻辑单元ALU●暂存寄存器●通用寄存器组●累加寄存器ACC●程序状态字寄存器PSW●移位器,计数器●控制器●功能:取指令,分析指令,执行指令●控制器的基本结构●程序计数器PC●指令寄存器IR●指令译码器,时序系统,微操作信号发生器●存储器地址寄存器MAR●存储器数据寄存器MDR●数据通路的基本结构●专用通路●内部总线2.指令执行过程●指令周期●构成:机器周期、CPU周期——CPU时钟周期、节拍●类型:取指周期,间址周期,执行周期,中短周期●标志触发器FE,IND,EX,INT:区别工作周期●数据流●取指周期:根据PC取出指令代码存放在IR●间址周期:根据IR中指令地址码取出操作数的有效地址●执行周期:根据指令字的操作码和操作数进行相应操作●中断周期:保存断点,送中断向量,处理中断请求●执行方案●单指令周期:串行,指令相同执行时间●多指令周期:串行,指令不同执行时间●流水线方案:隔一段时间启动一条指令,多条指令处于不同阶段,同事并行处理3.数据通路的功能和基本结构(连接路径)●CPU内部总线●单总线●多总线●专用数据通路:多路选择器和三态门●了解各阶段微操作序列和控制信号4.控制器的功能和工作原理●控制器的结构和功能●计算机硬件系统连接关系●控制器的功能:取指令,分析指令,执行指令●控制器的输入和输出●硬布线控制器●硬布线控制单元图:组合逻辑电路+触发器●设计步骤(了解)●分析每个阶段的微操作序列●选择CPU的控制方式●安排微操作序列●电路设计●微程序控制器●基本结构●微地址形成部件●微地址寄存器CMAR●控制存储器CM●微指令寄存器CMDR●微指令的格式●水平型:并行操作●字段直接编码方式●直接编码方式●字段间接编码方式●垂直型:类似机器指令●微指令的地址形成方式●下地址字段指出:断定方式●根据机器指令的操作码形成●基本概念●微命令和微操作●微指令和微周期●主存储器和控制存储器●程序和微程序●寄存器:MAR和CMAR,IR和CMDR●硬布线和微程序的比较(微操作控制信号的实现形式)5.指令流水线●指令流水线的概念●指令执行过程划分为不同阶段,占用不同的资源,就能使多条指令同时执行●表示方法●指令流程图:分析影响流水线的因素●时空图:分析性能●性能指标●吞吐率TP●加速比S●效率E●影响流水线的因素●结构相关(资源冲突)●数据相关(数据冲突)●控制相关(控制冲突)●流水线的分类●按使用级别:部件功能级,处理机级,处理机间●按完成功能:单功能,多功能●按连接方式:动态,静态●按有无反馈信号:线性,非线性●多发技术●超标量流水线技术●超流水线技术●超长指令字技术(四)总线1.总线概念和分类●定义:一组能为多个部件分时共享的公共信息传送线路●分类●按数据传输格式●串行,并行●按功能●片内总线●系统总线●数据总线,地址总线,控制总线●通信总线●按时序控制方式●同步,异步●总线结构●单总线结构——系统总线●双总线结构(通道)●主存总线●IO总线●三总线结构●主存总线●IO总线●DMA总线2.总线的性能指标●总线传输周期(总线周期)●总线带宽●总线宽度(位宽)●总线复用:一种信号线传输不同信息3.总线仲裁●集中仲裁方式●链式查询方式●计数器定时查询方式●独立请求方式●分布仲裁方式4.总线操作和定时●总线传输的四个阶段●申请分配阶段●传输请求●总线仲裁●寻址阶段●传输阶段●结束阶段●定时●同步定时方式(同步通信)●异步定时方式(异步通信)●不互锁●半互锁●全互锁●半同步通信●分离式通信5.总线标准(五)IO系统1.IO系统基本概念●演变过程●早期:分散连接,CUP与IO串行,程序查询方式●接口模块和DMA阶段:总线连接,cpu与io并行,中断方式及DMA方式●具有IO通信结构的阶段●具有IO处理机的阶段●IO系统的基本组成●IO软件——IO指令和通道指令●IO硬件——外设,设备控制器和接口,IO总线等●IO方式简介●程序查询方式:IO与CPU串行,CPU有“踏步等待”现象(由程序控制)●程序中断方式:IO准备数据时CPU继续工作,在指令执行结束时响应中断(由程序控制)●DMA方式:主存与IO交换信息时由DMA控制器控制,在存取周期结束时响应DMA请求(由硬件控制)●通道方式:通过IO指令启动通道,通道程序放在主存中(由硬件控制)2.外部设备●输入设备——键盘,鼠标●输出设备●显示器●分类●阴极射线管(CRT)●液晶(LCD)●发光二极管(LED)●参数●屏幕大小,分辨率,灰度级,刷新频率●显示存储器(VRAM)●容量=分辨率*灰度级位数●带宽=容量*帧频●打印机●外存储器●磁盘存储器●组成●存储区域:磁头,柱面,扇区●硬盘存储器:磁盘驱动器,磁盘控制器,盘片●工作过程:寻址,读盘,写盘对应的控制字,串行读写●性能指标●容量●记录密度●平均存取时间●数据传输率●磁盘阵列RAID——利用磁盘廉价的特点提高存储性能,可靠性和安全性●光盘存储器●固态硬盘SSD——采用FLASH Memory记录数据3.IO接口●主要功能●设备选址功能:地址译码和设备选择●传送命令●传送数据:实现数据缓冲和格式转换●反应IO设备的工作状态●基本结构●设备选择电路,命令寄存器和命令译码器,数据缓冲寄存器DBR,设备状态标记,控制逻辑电路●内部接口和外部接口●编址●统一编址——与存储器共用地址,用访存命令访问IO设备●独立编址:单独使用一套地址,有专门的IO指令●分类●数据传送方式:并行接口,串行接口●主机访问IO设备的控制方式●程序查询接口●中断接口●DMA接口●功能选择的灵活性●可编程接口●不可编程接口4.IO方式●程序查询方式:CPU与IO串行工作,鼠标,键盘●程序中断方式●中断系统●中断的基本概念●工作流程●中断请求●分类●中断请求标记触发器INTR●中断响应●中断响应的条件●中断判优●软件:查询程序●硬件:排队器●优先级的设置●中断处理●中断隐指令●关中断●保存断点PC●引出中断服务程序●中断服务程序●单重中断与多重中断●中断服务程序的具体步骤●中断屏蔽技术●屏蔽字●程序执行轨迹●程序中断方式●工作流程●CPU占用情况●中断响应(隐指令)●中断服务程序●DMA方式●DMA控制器●组成●主存地址计数器:存放要交换数据的主存地址●传送长度计数器:记录传送数据的长度●数据缓冲寄存器:暂存每次传送的数据●DMA请求触发器:设备准备好数据后将其置位●控制/状态逻辑:由控制和时序电路及状态标志组成●中断机构:数据传送完毕后触发中断机构,提出中断请求●主要功能●传送前:接受外设的DMA请求,向CPU发出总线请求,接管总线控制权●传送时:管理总线,控制数据传送,确定主存单元地址及长度,能自动修改对应参数●传送后: 向CPU报告DMA操作的结束●传送过程●预处理:CPU完成寄存器初值设置等准备工作●数据传送:CPU继续执行主程序,DMA控制器完成数据传送●后处理:CPU执行中断服务程序做DMA结束处理。
计算机组成原理考研知识点非常全
计算机组成原理一, 计算机系统概述(一) 计算机开展历程第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学.ENIAC用了18000电子管,1500继电器,重30吨,占地170m2,耗电140kw,每秒计算5000次加法.冯•诺依曼(VanNeumann)首次提出存储程序概念,将数据和程序一起放在存储器,使编程更加方便.50年来,虽然对冯•诺依曼机进行很多改革,但结构变化不大,仍称冯•诺依曼机.一般把计算机的开展分为五个阶段:开展阶段时间硬件技术速度/(次/秒)第一代1946-1957 电子管计算机时代40 000第二代1958-1964 晶体管计算机时代200 000第三代1965-1971 中小规模集成电路计算机时代 1 000 000第四代1972-1977 大规模集成电路计算机时代10 000 000第五代1978-现在超大规模集成电路计算机时代100 000 000 ENIAC(Electronic Numerical Integrator And Computer)电子数字积分机和计算机EDVAC(Electronic Discrete Variable Automatic Computer)电子离散变量计算机组成原理是讲硬件结构的系统结构是讲结构设计的摩尔定律微芯片上的集成管数目每3年翻两番.处理器的处理速度每18个月增长一倍.每代芯片的本钱大约为前一代芯片本钱的两倍新摩尔定律全球入网量每6个月翻一番.数学家冯·诺依曼(von Neumann)在研究EDVAC机时提出了“储存程序〞的概念.以此为根底的各类计算机通称为冯·诺依曼机.它有如下特点:①计算机由运算器,控制器,存储器,输入和输出五局部组成②指令和数据以同等的地位存放于存储器内,并可按地址寻访③指令和数据均用二进制数表示④指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置⑤指令在存储器内按顺序存放⑥机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成图中各部件的功能·运算器用来完成算术运算和逻辑运算并将的中间结果暂存在运算器内·存储器用来存放数据和程序·控制器用来控制,指挥程序和数据的输入,运行以及处理运行结果·输入设备用来将人们熟悉的信息转换为机器识别的信息·输出设备将机器运算结果转为人熟悉的信息形式运算器最少包括3个存放器(现代计算机内部往往设有通用存放器)和一个算术逻辑单元(ALU Arithmetic Logic Unit).其中ACC(Accumulator)为累加器,MQ(Multiplier-Quotient Register)为乘商存放器,X为操作数存放器,这3个存放器在完成不同运算时,说存放的操作数类别也各不相同.计算机的主要硬件指标(4.a) 主机完成一条指令的过程——以取数指令为例(4.b) 主机完成一条指令的过程——以存数指令为例(二) 计算机系统层次结构1. 计算机硬件的根本组成计算机硬件主要指计算机的实体局部,通常有运算器,控制器,存储器,输入和输出五局部.CPU是指将运算器和控制器集成到一个电路芯片中.2. 计算机软件的分类计算机软件按照面向对象的不同可分两类:系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类软件面向系统.(包括:标准程序库,语言处理程序,OS,效劳程序,数据库管理系统,网络软件)应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求.3. 计算机的工作过程(1)计算机的工作过程就是执行指令的过程指令由操作码和操作数组成:操作码指明本指令完成的操作操作码地址码地址码指明本指令的操作对象(2)指令的存储指令按照存储器的地址顺序连续的存放在存储器中.(3)指令的读取为了纪录程序的执行过程,需要一个记录读取指令地址的存放器,称为指令地址存放器,或者程序计数器.指令的读取就可以根据程序计数器所指出的指令地址来决定读取的指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数器加一就为读取下一条指令做好准备.(4)执行指令的过程在控制器的控制下,完成以下三个阶段任务:1)取指令阶段按照程序计数器取出指令,程序计数器加一2)指令译码阶段分析操作码,决定操作内容,并准备操作数3)指令执行阶段执行操作码所指定内容(三) 计算机性能指标1. 吞吐量,响应时间(1) 吞吐量:单位时间内的数据输出数量.(2) 响应时间:从事件开始到事件结束的时间,也称执行时间.2. CPU时钟周期,主频,CPI,CPU执行时间(1) CPU时钟周期:机器主频的倒数,T C(2)主频:CPU工作主时钟的频率,机器主频Rc(3)CPI:执行一条指令所需要的平均时钟周期(4)CPU执行时间:T CPU=In×CPI×T CIn执行程序中指令的总数CPI执行每条指令所需的平均时钟周期数T C时钟周期时间的长度3. MIPS,MFLOPS(1)MIPS:(Million Instructions Per Second)Te:执行该程序的总时间=指令条数/(MIPS×)In:执行该程序的总指令数Rc:时钟周期Tc的到数MIPS只适合评价标量机,不适合评价向量机.标量机执行一条指令,得到一个运行结果.而向量机执行一条指令,可以得到多个运算结果.(2) MFLOPS: (Million Floating Point Operations Per Second)MFLOPS=Ifn/(Te×)Ifn:程序中浮点数的运算次数MFLOPS测量单位比拟适合于衡量向量机的性能.一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的.特点:1.MFLOPS取决于机器和程序两方面,不能反映整体情况,只能反映浮点运算情况2.同一机器的浮点运算具有一定的同类可比性,而非同类浮点操作仍无可比性当前微处理器的开展重点①进一步提高复杂度来提高处理器性能②通过线程进程级的并发性提高处理器性能③将存储器集成到处理器芯片来提高处理器性能④开展嵌入式处理器软件开发有以下几个特点1)开发周期长2)制作本钱昂贵3)检测软件产品质量的特殊性计算机的展望一、计算机具有类似人脑的一些超级智能功能要求计算机的速度达1015/秒二、芯片集成度的提高受以下三方面的限制•芯片集成度受物理极限的制约• 按几何级数递增的制作本钱 •芯片的功耗、散热、线延迟计算机辅助设计CAD 计算机辅助制造CAM计算机辅助工艺规划 Computer Aided Process Planning CAPP 计算机辅助工程 Computer Aided Engineering CAE 计算机辅助教学 Computer Assisted Instruction CAI 科学计算和数据处理 工业控制和实时控制网络技术应用 虚拟现实办公自动化和管理信息系统 Computer Aided DesignCAD,CAM,CIMS Computer Aided Manufacturing多媒体技术 Computer Integrated Manufacturing System 人工智能,模式识别,文字/语音识别,语言翻译,专家系统,机器人…二, 数据的表示和运算(一) 数制与编码1. 进位计数制及其相互转换 1)进位计数制进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个根本概念:基数和权. 基数:进位计数制中所拥有数字的个数.权:每位数字的值等于数字乘以所在位数的相关常数,这个常数就是权. 任意一个R 进制数X,设整数局部为n 位,小数局部为m 位,那么X 可表示为: X =an-1rn-1+ an-2rn-2+ ┅ + a 0r 0 + a -1r -1 + a -2r -2 + ┅ + a -mr -m(X)r =∑--=mn i iirK 12)不同数制间的数据转换(1)二,八,十六进制数转换成十进制数利用上面讲到的公式: (N)2=∑Di•2i ,(N)8=∑Di•8i, (N)16=∑Di•16i,进行计算.(2)十进制数转换成二进制数通常要对一个数的整数局部和小数局部分别进行处理,各自得出结果后再合并.◆对整数局部,一般采用除2取余数法,其规那么如下:将十进制数除以2,所得余数(0或1)即为对应二进制数最低位的值.然后对上次所得商除以2,所得余数即为二进制数次低位的值,如此进行下去,直到商等于0为止,最后得的余数是所求二进制数最高位的值.◆对小数局部,一般用乘2取整数法,其规那么如下:将十进制数乘以2,所得乘积的整数局部即为对应二进制小数最高位的值,然后对所余数的小数局部局部乘以2,所得乘积的整数局部为次高位的值,如此进行下去,直到乘积的小数局部为0,或结果已满足所需精度要求为止.(3)二进制数,八进制数和十六进制数之间的转换八进制数和十六进制数是从二进制数演变而来的:由3位二进制数组成1位八进制数;由4位二进制数组成1位十六进制数.对一个兼有整数和小数局部的数以小数点为界,小数点前后的数分别分组进行处理,缺乏的位数用0补足.对整数局部将0补在数的左侧,对小数局部将0补在数的右侧.这样数值不会发生过失.2. 真值和机器数真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,称之为“真值〞.机器数:在计算机中正负号也需要数字化,一般用0表示正号,1表示负号.把符号数字化的数成为机器数.3. BCD码(Binary Coded Decimal以二进制编码的十进制码)在计算机中采用4位二进制码对每个十进制数位进行编码.4位二进制码有16种不同的组合,从中选出10种来表示十进制数位的0~9,用0000,0001,…,1001分别表示0,1,…,9,每个数位内部满足二进制规那么,而数位之间满足十进制规那么,故称这种编码为“以二进制编码的十进制(binary coded decima1,简称BCD)码〞.在计算机内部实现BCD码算术运算,要对运算结果进行修正,对加法运算的修正规那么是:如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需要修正;如相加之和大于或等于(1010)2,或者产生进位,要进行加6修正,如果有进位,要向高位进位.4. 字符与字符串在计算机中要对字符进行识别和处理,必须通过编码的方法,按照一定的规那么将字符用一组二进制数编码表示.字符的编码方式有多种,常见的编码有ASCII码,EBCDIC码等.1)ASCII码(American Standard Code for Information Interchange 美国信息交换标准码)ASCII码用7位二进制表示一个字符,总共128个字符元素,包括10个十进制数字(0-9),52个英文字母(A-Z和a-z),34专用符号和32控制符号.2)EBCDIC码为Extended Binary Coded Decimal Interchange Code的简称,它采用8位来表示一个字符.3)字符串的存放向量存储法:字符串存储时,字符串中的所有元素在物理上是邻接的.串表存储法:字符串的每个字符代码后面设置一个链接字,用于指出下一个字符的存储单元的地址.5. 校验码Check Digit数据校验码是一种常用的带有发现某些错误或自动改错能力的数据编码方法.其实现原理,是加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码.这样,可以通过检测编码的合法性来到达发现错误的目的.合理地安排非法编码数量和编码规那么,可以提高发现错误的能力,或到达自动改正错误的目的.码距:码距根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,称其码距为1.1)奇偶校验码(Parity Bit)WIKI(开销最小,能发现数据代码中一位出错情况的编码,常用于存储器读写检查或ASCII字符或其它类型的信息传输的检查)P216它的实现原理,是使码距由1增加到2.假设编码中有1位二进制数出错了,即由1变成0,或者由0变成1.这样出错的编码就成为非法编码,就可以知道出现了错误.在原有的编码之上再增加一位校验位,原编码n位,形成新的编码为n+1 位.增加的方法有2种:奇校验:增加位的0或1要保证整个编码中1的个数为奇数个.偶校验:增加位的0或1要保证整个编码中1的个数为偶数个.2)海明校验码(Hamming Code)P100实现原理,在数据中参加几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中.当某一位出错就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了依据.假设校验位的个数为r,那么它能表示2r个信息,用其中的一个信息指出“没有错误〞,其余2r-1个信息指出错误发生在哪一位.然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系:2r k+r+13)CRC校验码(Cyclic Redundancy Check 循环冗余校验)P144CRC校验码一般是指k位信息之后拼接r位校验码.关键问题是如何从k位信息方便地得到r位校验码,以如何从位k+r信息码判断是否出错.将带编码的k位有效信息位组表达为多项式:式Ci中为0或1.假设将信息位左移r位,那么可表示为多项式M(x).xr.这样就可以空出r位,以便拼接r位校验位.CRC码是用多项式M(x).xr除以生成多项式G(x)所得的余数作为校验码的.为了得到r位余数,G(x)必须是r+1位.设所得的余数表达式为R(x),商为Q(x).将余数拼接在信息位组左移r位空出的r位上,就构成了CRC码,这个码的可用多项式表达为:M(x)·xr+R(x)=[Q(x)·G(x)+R(x)]+R(x)=[Q(x)·G(x)]+[R(x)+R(x)]=Q(x)·G(x)因此,所得CRC码可被G(x)表示的数码除尽.将收到的CRC码用约定的生成多项式G(x)去除,如果无错,余数应为0,有某一位出错,余数不为0.(二) 定点数的表示和运算1. 定点数的表示1)无符号数的表示无符号数就是指正整数,机器字长的全部位数均用来表示数值的大小,相当于数的绝对值.对于字长为n+1位的无符号数的表示范围为: 0-12)带符号数的表示(真值范围-n-1n)带符号数是指在计算机中将数的符号数码化.在计算机中,一般规定二进制的最高位为符号位,最高位为“0〞表示该数为正,为“1〞表示该数为负.这种在机器中使用符号位也被数码化的数称为机器数.根据符号位和数值位的编码方法不同,机器数分为原码,补码和反码.(1)原码表示法机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后,并以绝对值形式给出.这是与真值最接近的一种表示形式.原码的定义:(2)补码表示法机器数的最高位为符号位,0表示正数,1表示负数,其定义如下:(3)反码表示法机器数的最高位为符号,0表示正数,1表示负数.反码的定义:原码补码反码整数(mod ) (mod())小数(mod 2) (mod(2-))=0.0000=1.000=0.0000 =0.0000=1.1111负数原码求反+1 负数每位求反移码移码表示中零也是唯一的真值的移码和补码仅差一个符号位.假设将补码的符号位由0改为1或从1改为0即可得到真值的移码乘法运算可用移码和加法来实现,两个n位数相乘,总共要进行n次加法运算和n次移位运算·三种机器数的最高位均为符号位.符号位和数值位之间可用“.〞(对于小数)或“,〞(对于整数)隔开·当真值为正时,原码,补码和反码的表示形式均相同,即符号位用“0〞表示,数值局部与真值局部相同·当真值为负时,原码,补码和反码的表示形式不同,其它符号位都用“1〞表示,而数值局部有这样的关系,即补码是原码的“求反加1〞,反码是原码的“每位求反〞.1)定点数的位移运算左移,绝对值扩大;右移,绝对值缩小.算术移位规那么符号位不变码制添补代码正数0负数原0补右移添0左移添1 反 1算术移位和逻辑移位的区别:算术移位:带符号数移位;逻辑移位:无符号数移位;2)原码定点数的加/减运算;对原码表示的两个操作数进行加减运算时,计算机的实际操作是加还是减,不仅取决指令中的操作码,还取决于两个操作数的符号.而且运算结果的符号判断也较复杂.例如,加法指令指示做(+A)+(-B)由于一操作数为负,实际操作是做减法(+A)-(+B),结果符号与绝对值大的符号相同.同理,在减法指令中指示做(+A)-(-B)实际操作做加法(+A)+(+B),结果与被减数符号相同.由于原码加减法比拟繁琐,相应地需要由复杂的硬件逻辑才能实现,因此在计算机中很少被采用.3)补码定点数的加/减运算;(1) 加法整数[A]补+ [B]补= [A+B]补(mod 2n+1)小数[A]补+ [B]补= [A+B]补(mod 2)(2) 减法整数[A]补- [B]补= [A+(-B)]补=[A]补+ [-B]补(mod 2n+1)小数[A]补- [B]补= [A+(-B)]补=[A]补+ [-B]补(mod 2)无需符号判定,连同符号位一起相加,符号位产生的进位自然丢掉4)定点数的乘/除运算(1)一位乘法<1>原码定点一位乘法两个原码数相乘,其乘积的符号为相乘两数的异或值,数值两数绝对值之积.设[X]原=X0 X1 X2 …Xn[Y]原=Y0 Y1 Y2 …Yn[X·Y]原=[X]原·[Y]原= (X0⊕Y0)∣(X1 X2 …Xn)·(Y1 Y2 …Yn)符号∣表示把符号位和数值邻接起来.原码两位乘和原码一位乘比拟原码一位乘原码两位乘符号位操作数绝对值绝对值的补码移位逻辑右移算术右移移位次数n最多加法次数n有的机器为方便加减法运算,数据以补码形式存放.乘法直接用补码进行,减少转换次数.具体规那么如下: [X·Y]补=[X]补(-Y0 + 0. Y1 Y2… Yn )<3>布斯法“布斯公式〞: 在乘数Yn后添加Yn+1=0.按照Yn+1 ,Yn相邻两位的三种情况,其运算规那么如下:(1) Yn+1 ,Yn =0( Yn+1 Yn =00或11),局部积加0,右移1位;(2) Yn+1 ,Yn =1( Yn+1 Yn =10) ,局部积加[X]补,右移1位;(3) Yn+1 ,Yn =-1( Yn+1 Yn =01) ,局部积加[-X]补,右移1位最后一步不移位. (2)两位乘法<1>原码两位乘法,因此实际操作用Yi-1,Yi,C三位来控制,运算规那么如下Yi-1 Yi C 操作<2>补码两位乘法当乘数由1位符号位和以n(奇数)位数据位组成时,求局部积的次数为(1+n)/2,而且最后一次的右移操作只右移一位.假设数值位本身为偶数n,可采用下述两种方法之一:①可在乘数的最后一位补一个0,乘数的数据位就成为奇数,而且其值不变,求局部积的次数为1+(n+l)/2,即n/2+1,最后一次右移操作也只右移一位.②乘数增加一位符号位,使总位数仍为偶数,此时求局部积的次数为n/2+1,而且最后一次不再执行右移操作.(3)补码除法笔算除法和机器除法的比拟笔算除法机器除法商符单独处理符号位异或形成心算上商余数不动低位补“0〞减右移一位的除数余数左移一位低位补“0〞减除数2 倍字长加法器 1 倍字长加法器上商位置不固定在存放器最末位上商1>恢复余数法被除数(余数)减去除数,如果为0或者为正值时,上商为1,不恢复余数;如果结果为负,上商为0,再将除数加到余数中,恢复余数.余数左移1位.2>加减交替法当余数为正时,商上1,求下一位商的方法,余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的方法,余数左移一位,再加上除数.<2>定点补码一位除法(加减交替法)1〉如果被除数与除数同号,用被除数减去除数;假设两数异号,被除数加上除数.如果所得余数与除数同号商上1,否那么,商上0,该商为结果的符号位.2〉求商的数值局部.如果上次商上1,将除数左移一位后减去除数;如果上次商上0,将余数左移一位后加除数.然后判断本次操作后的余数,如果余数与除数同号商上1,如果余数与除数异号商上0.如此重复执行n-1次(设数值局部n位).3〉商的最后一位一般采用恒置1的方法,并省略了最低+1的操作.此时最大的误差为2-n.5)溢出概念和判别方法当运算结果超出机器数所能表示的范围时,称为溢出.显然,两个异号数相加或两个同号数相减,其结果是不会溢出的.仅当两个同号数相加或者两个异号数相减时,才有可能发溢出的情况,一旦溢出,运算结果就不正确了,因此必须将溢出的情况检查出来.判别方法有三种:1〉当符号相同的两数相加时,如果结果的符号与加数(或被加数)不相同,那么为溢出.2〉当任意符号两数相加时,如果C=Cf,运算结果正确,其中C为数值最高位的进位,Cf为符号位的进位.如果C≠Cf ,那么为溢出,所以溢出条件=C⊕Cf .3〉采用双符号f s2f s1.正数的双符号位为00,负数的双符号位为11.符号位参与运算,当结果的两个符号位甲和乙不相同时,为溢出.所以溢出条件= fs2⊕fs1 ,或者溢出条件= fs2fs1 + fs2fs1(三) 浮点数的表示和运算1. 浮点数的表示1)浮点数的表示范围;浮点数是指小数点位置可浮动的数据,通常以下式表示:N=M×R E其中,N为浮点数,M(Mantissa)为尾数(可正可负),E(Exponent)为阶码(可正可负),R(Radix)称为“阶的基数(底)〞,而且R为一常数,一般为2,8或16.在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来.因此,浮点数的机内表示一般采用以下形式:Ms E MMs是尾数的符号位,设置在最高位上.E为阶码(移码),有n+1位,一般为整数,其中有一位符号位,设置在E的最高位上,用来表正阶或负阶.M为尾数(原码),有m位,由Ms和M组成一个定点小数.Ms=0,表示正号,Ms=1,表示负.为了保证数据精度属数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于(0.5)10.对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求.浮点数的表示范围以通式N=M×R E设浮点数阶码的数值位取m位,尾数的数值位取n位2)IEEE754标准(Institute of Electrical and Electronics Engineers美国电气和电子工程协会)S 阶码(含阶符) 尾数数符小数点位置根据符号位S阶码尾数总位数短实数 1 8 23 32长实数 1 11 52 64临时实数 1 15 64 80S,处在最高位.由于IEEE754标准约定在小数点左部有一位隐含位,从而实际有效位数为24位.这样使得尾数的有效值变为1.M .例如,最小为x1.0…0,,最大为x1.1…1.规格化表示.故小数点左边的位横为1,可省去.N(共32位)S(1位) E(8位) M(23位)符号位0 0 0符号位0 不等于0 (-1)S·2-126·(0.M) 为非规格化数符号位1到254之间- (-1)S·2E-127·(1.M) 为规格化数符号位255 不等于0 NaN(非数值)符号位255 0 无穷大,减少下溢精度损失.非规格化数的隐含位是0,不是1.2. 浮点数的加/减运算加减法执行下述五步完成运算:1)“对阶〞操作比拟两浮点数阶码的大小,求出其差ΔE,保存其大值E,E=max(Ex, Ey).当ΔE≠0时,将阶码小的尾数右移ΔE位,并将其阶码加上ΔE,使两数的阶码值相等.2)尾数加减运算执行对阶之后,两尾数进行加减操作.3)规格化操作规格化的目的是使得尾数局部的绝对值尽可能以最大值的形式出现.4)舍入在执行右规或者对阶时,尾数的低位会被移掉,使数值的精度受到影响,常用“0〞舍“1〞入法.当移掉的局部最高位为1时,在尾数的末尾加1,如果加1后又使得尾数溢出,那么要再进行一次右规.5)检查阶码是否溢出阶码溢出表示浮点数溢出.在规格化和舍入时都可能发生溢出,假设阶码正常,加/减运算正常结束.假设阶码下溢,那么设置机器运算结果为机器零,假设上溢,那么设置溢出标志.定点数和浮点数可从如下几个方面进行比拟①当浮点机和定点机中的位数相同时,浮点数的表示范围比定点数大得多②当浮点数位规格化数时,其相对绝对远比定点数高③浮点数运算要分阶码局部和尾数局部,而且运算结果都要求规格化,故浮点运算步骤比定点运算的步骤多,运算速度比定点运算的低,运算线路比定点运算的复杂④在溢出的判断方法上,浮点数是对规格化的阶码进行判断,而定点数是对数值本身进行判断总之,浮点数在数的表示范围,数的精度,溢出处理和程序编程方面(不取比例因子)均优于定点数.但在运算规那么即硬件本钱方面又不如定点数。
计算机组成原理知识点
第一章1、第一台计算机的诞生:ENIAC,1946年2、计算机的五大部件:3、冯诺依曼思想(五大部件、二进制、存储程序)4、计算机软件系统的分类(系统软件、应用软件)5、硬件、软件在逻辑功能上等效的含义6、计算机系统的多级层次结构7、CPU的组成:运算器、控制器8、机器语言、汇编语言、高级语言第二章1、进制转换2、不同机器数及真值的转换、表示范围、应用场合3、浮点数的表示4、浮点数的规格化5、IEEE754标准:单精度真值与表示的转换6、汉字信息的表示7、8421BCD码8、奇偶校验、海明校验第三章1、定点补码加减法2、定点原码1位乘法和补码1位乘法3、浮点加减4、逻辑运算第四章1、存储器的分类2、主存储器的基本操作(读、写)3、存储器系统的层次结构4、半导体存储器芯片与CPU的连接(字扩展、位扩展及字位同时扩展)5、动态存储器的刷新6、硬盘的性能参数第五章1、机器指令2、指令扩展操作码3、指令寻址方式(指令寻址和操作数寻址,各种寻址的过程,寻址的优缺点及应用场合)4、程序控制指令的类型5、CISC和RISC指令风格特点第六章1、指令周期、机器周期、时钟周期等概念2、同步计算机中的三级时序系统3、常用寄存器功能4、指令流程分析5、微程序控制器大致原理6、微指令字段直接编码分段原则7、流水线的主要性能指标第九章1、中断的基本概念2、中断的用途3、中断响应和中断处理过程4、直接存取访问方式DMA的基本概念5、DMA控制方式下的数据传送过程。
计算机组成原理考研知识点非常全汇编
计算机组成原理考研知识点-非常全汇编一、计算机系统概述1.计算机的基本组成:计算机硬件系统、计算机软件系统、操作系统。
2.计算机的主要性能指标:运算速度、存储容量、输入输出能力、数据传输速率。
3.计算机的应用和发展趋势:人工智能、大数据、云计算、物联网等。
二、运算方法1.数值数据的表示:二进制数、十进制数、十六进制数、非数值数据的表示:字符、图形、音频、视频等。
2.运算方法:二进制数的运算、十进制数的运算、浮点数的运算、逻辑运算。
三、存储系统1.存储器的分类和特点:半导体存储器、磁表面存储器、光存储器。
2.内存储器的组成和编址方式:单元地址、字地址、字节地址、位地址。
3.外存储器的组成和特点:硬盘、U盘、移动硬盘等。
四、指令系统1.指令的组成和格式:指令操作码、指令地址码。
2.指令的分类和功能:算术运算指令、逻辑运算指令、移位指令等。
3.寻址方式:立即寻址、直接寻址、间接寻址等。
五、中央处理器1.CPU的组成和功能:运算器、控制器、寄存器组。
2.CPU的工作原理:指令的读取和执行、指令流水线技术。
3.CPU的性能指标:吞吐量、响应时间、时钟频率等。
六、输入输出系统1.I/O设备的分类和特点:键盘、鼠标、显示器等。
2.I/O接口的分类和功能:数据缓冲区、控制缓冲区、状态缓冲区等。
3.I/O方式:程序控制I/O、中断I/O、直接内存访问。
七、总线与主板1.总线的分类和功能:数据总线、地址总线、控制总线。
2.总线的基本组成和特点:单总线结构、多总线结构。
3.主板的组成和功能:芯片组、BIOS芯片、总线扩展插槽等。
八、并行计算机的组成和工作原理1.并行计算机的分类和特点:多处理器系统、分布式系统。
2.并行计算机的组成和工作原理:并行处理机、并行存储器等。
3.并行计算机的性能指标:并行度、吞吐量、响应时间等。
计算机组成原理知识点总结
计算机组成原理知识点总结1.计算机系统结构:计算机系统由硬件和软件两个部分组成。
硬件包括中央处理器(CPU)、内存、存储、输入输出设备等;软件包括系统软件和应用软件。
计算机的基本组成包括控制器、运算器、存储器和输入输出设备。
2.布尔代数和逻辑运算:布尔代数是一种逻辑运算的数学体系,计算机的工作原理是基于逻辑运算的。
布尔代数的基本运算有与、或、非、与非等。
逻辑电路是基于这些布尔运算的组合与设计电路,并且逻辑门是构成逻辑电路的基本元件,包括与门、或门和非门等。
3. 数据表示和编码方式:计算机内部使用二进制表示和存储数据。
十进制数可以转换为二进制数,通过位于和非显示十进制数。
计算机采用不同的编码方式来表示字符和数据,例如ASCII码、Unicode等。
4.计算机中的算术运算:计算机进行算术运算包括加法、减法、乘法和除法等。
算术运算是通过逻辑运算和位操作实现的,例如加法器、乘法器和除法器。
5.存储器层次结构:存储器是计算机中用于存储和访问数据的设备。
存储器层次结构包括寄存器、高速缓存、主存储器和辅助存储器等。
存储器的访问速度和容量呈反比,存储器层次结构的设计目标是在速度和容量之间找到一个平衡点。
6.输入输出设备:计算机通过输入输出设备与外部世界交互,包括键盘、鼠标、显示器、打印机等。
输入输出设备通过中断机制和设备控制器实现与CPU的数据交换。
7.中央处理器:中央处理器是计算机的核心,执行指令并控制计算机的运行和运算。
中央处理器由控制器和运算器组成,控制器负责解释和执行指令,运算器负责算术和逻辑运算。
8.指令的执行过程:计算机按照程序顺序依次执行指令,指令的执行过程包括取指令、解码、执行和访存。
指令集架构是计算机硬件和软件交互的接口。
9.总线和IO结构:总线是计算机内部各个部件之间传输数据和信号的通道,包括地址总线、数据总线和控制总线。
IO结构包括存储器映射IO和端口映射IO两种方式。
10.中断和异常处理:计算机中断是指暂停当前程序的执行,转而执行其他程序或处理异常情况。
408计算机组成原理笔记(超全)
408计算机组成原理笔记(超全)(一)第一章计算机系统概述●考纲内容●一、计算机系统层次结构1.计算机系统的基本组成●一个完整的计算机系统是由硬件系统和软件系统组成的。
在计算机系统中,硬件和软件在逻辑上是等效的。
2.计算机硬件的基本组成●五大部件●输入设备:将信息转换成为机器能识别的形式●输出设备:将结果转换成人们熟悉的形式●存储器:存放数据和程序,分为主存储器(内存储器)和辅助存储器(外存储器),主存储器包括地址寄存器MAR、数据寄存器MDR、时序控制逻辑。
其中地址寄存器的位数对应着存储单元的个数,数据寄存器的位数和存储字长相等●运算器(核心是算术逻辑单元ALU):进行算数运算和逻辑运算●控制器:指挥程序运行,由程序计数器PC、指令寄存器IR和控制单元CU组成●早期冯诺依曼架构首次提出了“存储程序”的概念,以运算器为中心,指令和数据以同等地位存在存储器中并且按地址寻访,指令和数据都用二进制表示,指令由操作码和地址码组成●现代计算机结构以存储器为中心,将运算器和控制器合起来称为CPU3.计算机软件和硬件的关系●软件按功能分为系统软件和应用软件●机器语言:二进制代码语言,是计算机唯一可以识别和执行的语言●汇编语言:用英文单词或其缩写代替二进制的指令代码,方便记忆和理解●高级语言:是为方便程序设计人员写出解决问题的代理方案和解题过程的程序●翻译程序●汇编程序:将汇编语言程序翻译成机器语言程序●解释程序:将高级语言翻译成机器语言(翻译一句执行一句)●编译程序:将高级语言程序翻译成汇编语言或者机器语言4.计算机系统的工作原理●“存储程序”方式●在程序执行前就把所含的所有指令和数据送入内存,一旦程序开始执行就无须人为干预,计算机可以自动取指并完成任务●高级语言程序与机器语言程序的转换●预处理阶段:预处理‘#’开头的命令,如头文件●编译阶段:编译器将预处理后的源程序编译成汇编语言程序●汇编阶段:汇编器将汇编语言程序翻译成机器语言程序(可重定位)●链接阶段:链接器将多个可重定位文件和标准库函数合并为一个可执行目标文件●●程序和指令的执行过程●程序执行过程:程序的执行过程就是数据在CPU、存储器和I/O设备之间流动的过程,所有数据的流动都是通过总线、I/O接口等实现的●指令执行的过程(以取数指令为例,完成将数据送至运算器的累加器ACC中):先取指,即先将PC中记录的指令的存储地址送到MAR,主存根据MAR中的地址取出存放在该地址的指令放入MDR,MDR将指令送到IR【PC—>MAR—>M—>MDR—>IR】;再分析指令,即控制器根据IR中指令的操作码,生成取数指令相对应的控制信号,这里会将读控制信号发送到总线的控制线上【OP(IR)—>CU】;最后执行指令,即先将IR中取数指令的地址码送到MAR中,然后主存根据读控制信号和MAR中的地址取出存放在该地址的数据并送入MDR,再送到ACC中【Ad(IR)—>MAR—>M—>MDR—>ACC】●二、计算机性能指标1.机器字长,也叫字长,是CPU内部用于整数运算的运算器位数和通用寄存器的宽度2.指令字长和存储字长,指令字长一般是存储字长的整数倍,若指令字长等于存储字长则取指周期等于机器周期3.数据通路带宽(数据字长)是指数据总线一次能并行传送信息的位数4.主存容量5.运算速度●吞吐量是指系统在单位时间内处理请求的数量,主要取决于主存的存取周期●响应时间是指用户向计算机发送请求到操作系统做出响应并得到结果的等待时间●CPU时钟周期:CPU中的最小时间单位,执行指令的每个动作都至少需要一个时钟周期●主频:CPU时钟周期的倒数,单位是HZ●CPI:执行一条指令所需的时钟周期数●IPS:每秒执行多少条指令●MIPS:每秒执行多少百万条指令●FLOPS:每秒执行多少次浮点数运算6.基准程序:可以理解为跑分软件,但是也存在一定缺陷●小知识点●冯诺依曼机器的基本工作方式是控制流驱动方式●地址译码器一般是主存而不是CPU的构成部分●解释程序的速度一般比编译程序慢●相联存储器既可以按地址寻址也可以按内容寻址●在cpu中,IR、MAR、MDR对各类程序员都是透明的,即看不见的;通用寄存器都是可见的(mov指令会用到)(二)第二章数据的表示与运算●考纲内容●一、数制与编码1.进位计数制及其相互转换●十进制数转换为任意进制数●整数部分采用除基取余法,先余为低,后余为高●小数部分采用乘基取整法,先整为高,后整为为低2.定点数的编码表示●通常用定点补码整数表示整数,用定点原码小数表示浮点数的尾数部分,用移码表示浮点数的阶码部分●原码:基本概念略,真值零的原码表示有正零和负零两种形式●补码:基本概念略,零的补码是唯一的,小数补码比原码多表示一个-1,整数补码比原码多表示一个-2。
计算机组成原理考点总结终结版
计算机组成原理考点总结终结版1.计算机的发展历程:从巨型机到小型机、微型机、个人计算机和移动计算机的演变过程,了解每个发展阶段的特点和主要代表机型。
2.计算机的基本组成:CPU(中央处理器)、内存、输入输出设备和外部设备。
了解它们的功能和相互间的连接方式。
3.CPU的结构和工作原理:包括控制器和运算器。
控制器负责控制程序的执行,运算器负责执行算术和逻辑运算。
了解指令的执行过程、寄存器的作用和通用寄存器的设计原则。
4.存储器的层次结构:包括寄存器、高速缓存、主存和辅助存储器。
了解它们在计算机中的作用、特点和层次关系。
5.输入输出设备的工作原理:包括串行和并行传输方式、中断和DMA (直接内存访问)技术。
了解输入输出设备与CPU之间的数据传输方式和控制方法。
7.指令系统的设计与性能指标:了解指令的格式、操作码和寻址方式。
掌握指令的执行周期和性能指标,如CPI(每条指令的时钟周期数)和MIPS(每秒执行百万条指令数)。
8.程序的执行过程:包括指令的获取、分析和执行。
了解程序从存储器到CPU的数据传输过程和指令的执行流程。
9.中断和异常处理:了解中断和异常的概念、分类和处理方法。
掌握中断向量表和中断处理程序的设计和实现。
10.性能评价和优化:了解计算机系统的性能评价指标,如响应时间、吞吐量和效能。
掌握性能优化的方法,如指令级并行和流水线技术。
以上是计算机组成原理中一些重要的考点总结,希望能对大家的学习有所帮助。
在复习过程中,还应结合教材、习题和实验来深入理解和巩固知识,进行综合性的学习。
(完整版)计算机组成原理知识点总结
第2章数据的表示和运算主要内容:(一)数据信息的表示1.数据的表示2.真值和机器数(二)定点数的表示和运算1.定点数的表示:无符号数的表示;有符号数的表示。
2.定点数的运算:定点数的位移运算;原码定点数的加/减运算;补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。
(三)浮点数的表示和运算1.浮点数的表示:浮点数的表示范围;IEEE754标准2.浮点数的加/减运算(四)算术逻辑单元ALU1.串行加法器和并行加法器2.算术逻辑单元ALU的功能和机构2.3 浮点数的表示和运算2.3.1 浮点数的表示(1)浮点数的表示范围•浮点数是指小数点位置可浮动的数据,通常以下式表示:N=M·RE其中,N为浮点数,M为尾数,E为阶码,R称为“阶的基数(底)”,而且R为一常数,一般为2、8或16。
在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来。
浮点数的机内表示浮点数真值:N=M ×2E浮点数的一般机器格式:数符阶符阶码值 . 尾数值1位1位n位m位•Ms是尾数的符号位,设置在最高位上。
•E为阶码,有n+1位,一般为整数,其中有一位符号位EJ,设置在E的最高位上,用来表示正阶或负阶。
•M为尾数,有m位,为一个定点小数。
Ms=0,表示正号,Ms=1,表示负。
•为了保证数据精度,尾数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于0.5。
对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求。
浮点数的机内表示阶码通常为定点整数,补码或移码表示。
其位数决定数值范围。
阶符表示数的大小。
尾数通常为定点小数,原码或补码表示。
其位数决定数的精度。
数符表示数的正负。
浮点数的规格化字长固定的情况下提高表示精度的措施:•增加尾数位数(但数值范围减小)•采用浮点规格化形式尾数规格化:1/2≤M <1 最高有效位绝对值为1浮点数规格化方法:调整阶码使尾数满足下列关系:•尾数为原码表示时,无论正负应满足1/2 ≤M <1即:小数点后的第一位数一定要为1。
知识点 计算机组成原理
知识点计算机组成原理知识点-计算机组成原理计算机组成原理重要知识点第一章绪论一、冯.诺依曼思想体系――计算机(硬件)由运算器、控制器、存储器、输入输出设备五部分组成,存储程序,按地址出访、顺序继续执行二、总线的概念。
按传送信息的不同如何划分;按逻辑结构如何划分三、冯.诺依曼结构(普林斯顿结构)与哈弗结构的存储器设计思想四、计算机系统的概念,软件与硬件的关系、计算机系统的层次结构(实际机器与交互式机器)五、计算机的主要性能指标的含义(机器字长,数据通路宽度,主存容量,运算速度)六、cpu和主机两个术语的含义,完备的计算机系统的概念,硬件、软件的功能分割七、总线概念和总线分时共享资源的特点、三态门与总线电路第二章数据的机器层次表示一、真值和机器数的概念数的真值变为机器码时存有四种则表示方法:原码表示法,反码表示法,补码表示法,移码则表示码。
其中移码主要用作则表示浮点数的阶码e,以利比较两个指数的大小和对阶操作方式二、一个定点数由符号位和数值域两部分组成。
按小数点位置不同,定点数有纯小数和纯整数两种表示方法。
几种定点机器数的数值则表示范围。
三、浮点数浮点数的标准表示法:符号位s、阶码e、尾数m三个域组成。
其中阶码e通常用移码表示(其值等于指数的真值e加上一个固定偏移值)。
规格化浮点数(原码,补码则表示的规格化浮点数的区别)五、处理字符信息(符号数据即非数值信息),七、常用的bcd码:8421码、2421码、余3码、格雷码(有权码,无权码,特点)八、检错纠错码:奇偶校验(掌握奇偶校验原理及校验位的形成及检测方法),海明码的纠错原理(理解)第三章指令系统一、指令格式:指令的基本格式,指令的地址码结构(3、2、1、0地址指令的区别),非规整型指令的操作码(扩展览会操作码)二、编址方式(位,字节,字…)三、操作数串行方式――立即串行、轻易串行、间接串行、寄存器串行、寄存器间接串行、相对串行、基址寻址、变址寻址、页面寻址四、指令串行方式――顺序对串行方式、弹跳串行方式五、指令类型及功能六、不同的计算机的i/o指令差别很大,通常有两种方式:独立编址方式,统一编址方式第四章数值的机器运算一、为运算器构造的简单性,运算方法中算术运算通常采用补码加减法,原码乘除法或补码乘除法。
计算机组成原理(考研+期末)重点知识点总结
计算机组成原理(考研+期末)重点知识点总结一、Ch01&02: 概论与数据表示●计算机系统组成1.硬件系统●冯·诺依曼思想●提出使用二进制作为计算机数制基础|●二进制运算规则简单●0/1状态更容易用物理状态实现●适合采用布尔代数方法实现运算电路●存储程序将程序存放在计算机的存储器中●程序控制计算机中控制器逐条取出存储器中的指令并按顺序执行●五大部件●运算器运算器完成算术运算,逻辑运算●控制器控制器控制指令的执行,根据指令功能给出实现指令功能所需的控制信号●存储器主存储器存放程序及数据●输入设备●输出设备●系统互联总线(Bus)是连接两个或多个设备的公共通信线路2.软件系统●应用软件●系统软件●操作系统●固件(Firmware)固化的软件,兼具硬件和软件的特性,如BIOS3.层次结构●高层是底层功能的扩展,低层是高层的基础●计算机性能指标与评价1.非时间指标●字长CPU一次操作能处理的最大数据位宽,一般与寄存器、运算器、数据总线的位宽相等●主存容量主存能存储的最大信息量,一般用MxN表示(M表示存储单元数,又称子容量;N表示每个存储单元存储的二进制位数,也称位容量)2.与时间有关的性能指标●时钟周期时钟周期是计算机中最小最基本的时间单元,在一个时钟周期内CPU完成一个最基本的动作时钟周期是时钟频率的倒数,也称节拍周期或T周期,随着主频的提高时钟周期将变短●CPI(Clock Cycles Per Instruction)执行每条指令所需要的平均时钟周期数●计算机数据表示1.进制转换●十进制转二进制真值●整数部分除2取余,倒着取,直到商为0为止●小数部分乘2取整,正着取,直到满足位数或小数部分为0为止2.数值编码●真值用正负号+/-表示正负的二进制数值●机器码将符号和数值一起编码表示的二进制数●原码符号位0正1负,数值位不变●表示区间●定点小数●定点整数●反码符号位与原码相同,数值位上正数与原码相同,负数为原码取反●表示区间与原码一致●补码●模的概念a ≡b (mod m) 模为m●时钟原理:表示负数时可以使用模的性质转换成正数,即把减法变成加法●负数的补码可以用模数加上该负数获得●有字长限制的二进制运算为有模运算,模数为最高位进位的权值●计算机中补码的定义●设定点小数x0.x1x2...xn 其中x0为符号位,该数模数为最高位进位2●根据补码定义可知●扩展至n位定点整数而言●求补码的简便方法●反码法(适合机器运算)当X为负数时,补码等于反码末位加1当x为正数时,补码与原码一致●扫描法(适合手工计算)当X为负数时,对真值部分从右到左扫描,右起第一个1及其右边的0保持不变,左边的真值位全部取反●移码●只能用于定点正数的表示,通常用于表示浮点数的阶码●移码与补码只有符号位相反,其余全相同3.浮点数表示●二进制浮点数采用了类似十进制科学计数法的表示方法●阶码E(Exponent)是定点整数,用移码表示●尾数M(Mantisa)是定点小数,用补码表示●浮点数表示范围●IEEE754标准4.汉字区位码●GB2312编码●双字节编码,16位,其中两个字节的最高位都是1,实际有14位编码空间●实际没有填满,使用94x94的矩阵表示所有汉字字符,矩阵的每一行称为“区”,每一列称为“位”●转换公式:区位码 + A0A0H = GB2312编码●汉字机内码计算机内部存储的汉字编码,如GB系列编码●汉字输入码(外码)使用英文键盘输入汉字的编码,即输入方案●流水码●音码(拼音)●形码(五笔)●音形码●汉字字形码(输出码)输出汉字的图形点阵数据,字形码按区位码排列的二进制文件称为汉字库●数据校验1.码距与校验●校验码在原始数据中引入部分冗余信息用于校验●码距/海明距离一个编码集内两个不同编码对应二进制位不同的个数●校验码的目的在于提高编码集中最小码距●码距越大,抗干扰能力越大,纠错能力越强,数据冗余越大,编码效率越低2.奇偶校验●冗余位:1位校验位P●检验串中1的个数●检错位G=1一定出错●只能提供奇数位错误的检错3.二维奇偶校验/交叉奇偶校验●将一个串分成很多等长的子串,按行分布在二维矩阵里,同时进行行和列的奇偶校验●一个数据位参加多个检验组,发生错误可在多个检测码中反馈4.海明校验5.CRC循环冗余校验●模2运算不考虑进位和借位的运算●生成步骤●1. 将原数值M左移r位得到R●2. 找一个r+1位的二进制串G●3. 用模2除法求R除以G得到的余数填在右边的空白r位上就是冗余码部分●解码将校验码除以生成多项式(约定的二进制串G)后余数为0表示数据正常二、Ch03: 运算器●定点加减法运算1.运算定义●补码加法●补码减法2.溢出检测●监测符号位:正正得负 & 负负得正 -> 溢出●监测进位:符号位进位与数值位进位不同为溢出●双符号位:将符号位扩展成两位进行运算●若相加后两个符号位不同为溢出●符号位最高位永远是正确符号位3.逻辑实现●全加器(FA)带进位的一位加法器●逻辑表达式●逻辑电路●半加器(HA)没有进位输入●多位串行加法器●先行进位加法器●定点乘法运算1.原码一位乘法●符号位:异或●真值部分:普通竖式运算●部分积使用累加寄存器存储2.补码一位乘法●符号位参与运算,可以采用单符号位,双符号位用于溢出检验●运算步骤●先写出[X]补,[-X]补,[Y]补备用,画出运算表格,注意[Y]补要在最右边扩充一个0●判断乘数[Y]补最后两位,决定部分积加哪个数●01:[X]补●00/11:0●10:[-X]补●将部分积和乘数都右移一位,注意左边移出的位接在右边●部分积是算术右移,即符号位扩展右移,且右边没有限制●乘数右边是位宽墙,不需要扩展●重复上述步骤直到乘数不足一位,将最终结果与移出位拼起来形成答案●浮点运算1.浮点加减法运算●阶码和尾数均采用补码表示●对阶:使两浮点数阶数相等,尾数就可以直接相加●规则:小阶向大阶看齐小阶放大,尾数减小,右移损失的是影响较小的低位●步骤●求阶差:减法运算●尾数移位●保留附加位移除的低位部分(的最高位),作为附加位参与中间运算提高精度●通常保留三个保留附加位,从右到左排序(高位到低位)●保护位●舍入位●粘位舍入位右侧还有数则粘位为1,否则为0●尾数运算●结果规格化目的是保证浮点数编码唯一性,真值格式是数据位的最高位一定是1●规格化方法●左移规格化(左规放大)●绝对值小于0.5需要放大●移动(逻辑左移,补0)多少位阶码减多少●注意符号位一起移●右移规格化(右规减小)●绝对值超过1,发生上溢●只需要算术右移(保留符号位)一位,阶码+1●舍入●末位恒置1法只要移位丢失的位中有一位是1,结果末位就是1●0舍1入法丢失位最高位若是1则将尾数末位+1●舍入可能破坏规格化结果,因此需要再次规格化●溢出判断●只有阶码移除才算溢出●当阶码符号位为01或10时结果溢出●IEE754浮点数●阶码用移码表示,尾数用原码表示,且尾数的最高位隐藏●对阶和规格化采用移码的计算规则●尾数隐藏位参与运算,采用原码运算规则2.浮点乘法运算●第一步:阶码相加●第二步:尾数相乘●第三步:规格化舍入三、Ch04: 存储系统●存储系统概述1.存储器的分类●按存储介质●磁存储器包含机械装置,体积大,速度慢,成本低●半导体存储器了解其是什么,不必掌握原理●双极型存储器●MOS存储器●静态MOS存储器(SRAM)●动态MOS存储器(DRAM)●光存储器(光盘)●按存储方式●随机存储器(RAM,Random Access Memory)根据地址随机读写数据单元,访问时间与访问位置顺序无关半导体存储器是随机存储器●顺序存储器(SAM,Sequential Access Memory比如磁带存储器●直接存储器(DAM,Direct Access Memory)不需要顺序搜索就能直接存取信息,兼具RAM和SAM的特性(根据地址读写,但时间和位置并非完全没有关系)磁盘是DAM,由于机械结构的延迟导致其时间和磁头与目标扇区的距离有关●按可写性●读写存储器●只读存储器(ROM,Read-Only Memory)●按可保存性●易失性存储器●非易失性存储器●按功能和速度●寄存器存储器●高速缓冲存储器(高速缓存Cache)隐藏在寄存器和主存之间的高速小容量存储器,用于存放CPU常用或即将使用的指令和数据,一般由SRAM构成,用于缓冲CPU寄存器和主存之间的性能差异●主存储器(主存)CPU除寄存器外唯一能直接访问的存储器,用于存放指令和数据,通过地址直接、随机地读写主存主存一般是半导体存储器,但还包括BIOS和硬件端口等●外存储器(外存/辅助存储器)容量大,但速度块,如磁盘、磁带、光盘、网络存储阵列等2.存储器性能指标●存储容量●位表示法用存储器中存储单元总数与存储字长(每个单元的位数)的乘积表示,如1K*4位(K=1024)●字节表示法带B表示法,1B=8位●存取速度●存取时间(访问时间)启动一次存储器操作到操作完成的时间,注意读写时间可能不同(DRAM读慢写快,闪存读快写慢)●存取周期连续启动两次操作之间最短的间隔时间,略大于存取时间对于主存而言,周期除了包括存取时间还包括状态恢复时间●存储器带宽单位时间内存储器能传输的信息量,与存储时间的长短和一次传输的数据位多少有关一般来说,存取时间越短,数据位宽越大,存储带宽越高3.存储系统层次结构4.DRAM刷新●刷新的概念定期补充电荷以避免电荷泄露(泄露电流)引起的信息丢失●刷新周期●刷新周期是存储器实际完成两次完整刷新的时间间隔●最大刷新周期:信息存储到数据丢失之前的时间间隔●按行刷新动态存储器的刷新按行进行●减少存储矩阵的行数,增加列数,可以减少刷新周期●刷新地址由刷新地址计数器产生,而不是CPU发出,位数与存储芯片的行数有关●每个刷新周期内,刷新地址计数器从0到最大值循环遍历一次●刷新时DRAM不能响应CPU访问,称为死时间●刷新方式由于CPU和内存刷新控制器存在内存争用问题,由不同的解决方案决定了不同的刷新方式●集中刷新●最大刷新周期:2ms●在数据丢失之前集中刷新所有行,即一个最大刷新周期的时间的最后部分全部用于刷新,其余时间用于读写●存在死区(集中刷新的区段CPU长时间无法访问),用于实时要求不高的场合●分散刷新●最大刷新周期:2ms●一次读写操作后紧跟着一个刷新操作,一个读写+刷新操作被称作一个存储周期●刷新次数过多,浪费了时间,用于低速系统●异步刷新(最常用)●最大刷新周期:2ms●各刷新周期分散地安排在一个最大刷新周期中●假设存储矩阵有有128行,每隔2ms/128=15.5微秒刷新一行,将128次刷新分散●主存系统1.主存特征●基本结构●空间逻辑上可以看作一个一维数组,每个数组元素存储一个m位的数据单元,主存地址就是数组的下标索引●硬件结构由存储体(DRAM)和外围电路(包括译码器、数据寄存器和读写控制电路构成)●存储体有2^n个m位的存储单元●地址译码器接受来自CPU的n位地址信号,转换成2^n根地址译码信号,其中每根译码信号都连接一个存储单元,2^n个译码信号中有且只有一个信号有效●数据暂存器暂存CPU送来写入的数据或主存读出的数据●读写控制电路接受CPU的读写控制信号,决定存储器的读写模式●数据存放●存储字长主存中每个存储单元存储的位数●数据字长(字长)计算机一次能处理的二进制位数,存储字长和数据字长不一定相同●地址访问模式存储字长都是字节(8-bit)的整倍数,通常按字节编址●字节地址(8位)●半字地址(16位)●字地址(32位)●小端(Little-Endian)存储数字中低位先存(在地位内存),大端存储与之相反●边界对齐●跨n个字节地址的变量访问需要消耗n个存取周期●对齐后访问速度高,不对齐节约主存空间2.主存的组织与CPU连接●存储器扩展左侧是4片2K x 2位的字长扩展右侧是4片8K x 8位的字数扩展●位扩展(DBUS,字长扩展/数据总线扩展)适用于存储芯片的数据总线位宽小于CPU数据总线位宽●各芯片同时并行工作●字扩展(ABUS,字数扩展/容量扩展/地址总线扩展)适用于存储芯片的单元字长小于要求的存储单元字长●CPU给出地址后,经译码器片选后,同一时刻只有一个芯片在工作●综合扩展●考察重点●根据要求对存储器的组合●不同存储器之间的关系(串联OR并联/多合一OR一分多)3.并行主存系统●SDRAM(同步DRAM,Sync Dynamic Random Access Memory)●普通DRAM的访问过程是CPU给出地址和控制信号 -> 经过存取时间后完成操作,存取时间内CPU只能等待●同步DRAM与CPU的数据交换时钟信号同步,不需要等待●DDR(Double Data Rate)SDRAM●在时钟周期的上/下沿各进行两次数据传输●DDRn代表2^n路总线,提升总带宽●双端口存储器双端口存储器有两组相互独立的端口,分别可独立地进行读写操作●两个端口地址不同时,不会发生冲突,可以并行读写●两个端口地址相同时,发生冲突●每个端口有一个阻塞标志BUSY,置0时表示阻塞,置1表示复位●冲突发生时由逻辑判断哪个端口优先操作,并将另一个端口置0,优先端口操作完成后再复位另一个端口,继续操作●多通道内存技术组织方式与存储扩展中的字长扩展方式一致(并联)●单体多字存储器(联动模式)多个存储模块共享地址总线,因此读取一个地址时可以并行读取到多个模块中同一地址的单元,从而实现在一个周期内访问多个存储字,m个存储模块可以提升m倍带宽●所有存储模块同步并发,共用同一个地址寄存器●单存储周期访问多个存储字,数据线为合并结果●性能线性增长,总线位宽变换●要求内存的容量、频率、时许完全一致●多体多字存储器(非联动模式)两个模块之间通过独立的片选信号、地址总线和读写控制线,数据总线也彼此独立,因此两根内存不需要同步,但仍是并发工作●多体单字存储器(多体交叉存储器/编址方式)由多个容量、存取速度相同的存储模块构成,但彼此之间不是并发运行,根据其编址方式的不同进行分类(把地址中哪一部分交给选片器)●高位多体交叉(顺序编址)●多模块串行,相邻地址在同一存储体内先顺着编完一个模块,再编下一个模块●可以扩充容量,但由于程序具有局部性和连续性的特点,往往会导致一个存储体访问频繁而其他存储器空闲●方便故障隔离,无性能提升●低位多体交叉(交叉编址)●多模块流水并行,相邻地址在不同存储体中●可以扩充容量并提升性能(减少恢复时间的影响)●适合突发的顺序访问,是带cache的主存(SDRAM和多通道内存)编址模式●考察重点:不同编址方式下的带宽计算(时间)●存储周期公式:T=nt●T=存储模块的存储周期●n=交叉模块数(通常为2的幂次方)●t=总线的反应时间/存储体切换时间●顺序编址读写时间:t总=nT●T=存储周期●n=读写的存储字个数●交叉编址读写:t总=T+(n-1)t●T=存储周期●n=读写的存储字个数●t=最短反应时间●带宽:W=B*n/t总●B=总线位宽度●n=读写的存储字个数●t总=读写总时间4.高速缓冲存储器(cache)SRAM相比DRAM速度更快,但容量小、功耗大、价格高,可用于缓冲(cache),缓解主存与CPU之间的性能差异,推而广之,一切有性能差异的地方都可以有cache●cache 工作原理●根据SRAM中cache块的大小,将主存进行分块(块大小与cache块大小相同),并对主存块进行编号●使用cache的理论依据:程序局部性在一段时间内,整个程序的执行仅限于程序中的某一部分,而执行程序所需的指令也仅限于某个存储区域●时间局部性(反复调用)当程序访问一个存储位置时,该程序在未来可能被多次访问(如循环体)●空间局部性(连续存放)一旦程序访问了某个存储单元,其临近的存储单元大概率也即将被访问(代码、数组等数据在主存中均按顺序存放)●cache 读操作流程●CPU接受要读取的地址,解码并在cache中查找地址●如果命中,则根据地址读出cache中数据并返回CPU●如果缺失,则为缺失的数据分配cache块(可能发生块替换),载入内容并更新cache,然后再读取数据返回CPU●cache 写操作流程●CPU接受地址,解码并在cache中寻找对应地址●若查找命中,则直接进行数据写入;若查找缺失,则根据是否采用写分配法进行下一步操作●写分配法(Write-Allocate)需要先将数据块载入cache,重新进行写命中流程●非写分配法则直接将数据写入主存●在写命中后,将数据写入到cache中●若采用写回(Write-Back, WB)策略,则将该cache行的修改位(脏位,Dirty Bit)置为1,并在该cache块被替换时才会将修改写入主存●若采用写穿(Write-Through, WT)策略(又称直写法),当写命中时,同时修改cache和主存中的同一数据块多CPU/多核系统下,各CPU都有自己的cache,因此这种情况下写穿法无法保证其他CPU中cache的同步更新●cache 相关术语●数据命中(Hit)CPU访问的数据在cache中找到●命中访问时间 tc命中时数据访问所需的时间,包括查找时间和cache访问时间●数据缺失(Miss)CPU访问的数据不能在cache中找到●缺失补偿(Miss Penalty)数据缺失时访问所需时间,包括查找时间、主存访问时间和cache访问时间,其中主存访问时间占大头,通常用tm表示●数据块(Block)cache和主存都被分为若干固定大小的数据块(cache和主存中块大小相同),每个块包含若干字(节),以块为单位交换数据,这也是一种预读策略●进行分块后,主存和cache地址都可以用块地址(序号):块内偏移地址(偏移字节数)的二维地址空间进行描述●命中率(Hit Ratio)h=Nc/(Nc+Nm)某程序运行期间,命中cache的次数比上访问主存的总次数●缺失率(Miss Ratio)1-命中率●平均访问时间 ta = htc + (1-h)tm●访问效率 e = tc/ta●各种因素间的关系●cache 命中率与容量的关系●块容量与命中率的关系空间局部性越好,时间局部性越差●地址映射方式与命中率的关系●cache 行/槽(Line/Slot)将一个cache数据块和相关的标记标志信息合称一个cache行●cache 关键技术●数据查找(Data Identification)如何快速判断数据是否在cache中●全相联映射中使用相联存储器(Content Addressable Memory, CAM)实现快速查找●CAM是一种直接按内容进行访问(输入的不是地址而是要查询的key)的存储器,用于存放查找表,其基本存储数据单元是键值对●硬件成本高(比较器多),通常用于存放查找表/全相联cache●存储容量=查找表容量=表项数*表项大小cache中用于存放块表,虚拟存储器中用于存放段/页表●CPU片内缓存●查找表与缓存副本一体●存放cache行(有效位+主存块序号+数据块副本)●片外缓存/片内查找表●查找表与缓存副本分离●只存放查找信息(有效位+主存块序号+cache块地址)●读逻辑实现●Valid位用于判定当前键值对是否有效(若无效直接不输出)●所有存储单元中的Key要与输入的关键字进行并发比较,有n个存储单元就有n个比较器●所有比较器的输出结果取或,输出为Hit结果●将每个比较器的输出结果输入三态门控制端,若Hit成功则输出对应Value●地址映射(Address Mapping)如何将主存数据放入cache行中●全相联(Full Associative Mapping)映射全相联模式下,主存中每一个数据块都可以放入cache中的任意数据块(任意行)中●新的主存数据块可以载入cache中的任意一个空行,只有cache满时才会进行替换,因此利用率最高,但需要CAM提供的快速查找功能,查找成本较高●优点:映射灵活,cache利用率高,冲突率低,命中率高●缺点:淘汰算法复杂,查找成本高●主存地址分为主存块地址/序号(tag,长度为s)和块内偏移量(offset,长度为w)两部分●cache块(数据块副本)应与主存中数据块大小相同,即容纳偏移量最大值数量的字节数,因此cache块大小为2^w字节●主存容量对应为2^(s+w)字节●所有cache行的实际容量为 n*(1+s+8*2^w)位●n:cache行数●1:每行有效位●s:每行tag部分(主存块序号)●8*2^w:数据块容量从字节转换成位●逻辑硬件实现假设cache块大小为4W(=4*16Bit),共8行主存按字访问,地址长度为9位,采用全相联映射●块大小为4W,且读取单位是字(W),则偏移地址为0~4,则w=2●tag部分由于地址总长度为9位,则s=9-2=7●其后过程与CAM类似,只是需要使用偏移地址选择最后的输出●查找表和数据块副本分开存放,用相联存储器连接●直接相联(Direct Mapping)直接相联模式下,每一个(类)主存块地址(序号)只能映射到cache中固定的行●映射规则:cache块号 i = 主存块号 j mod (cache行数 n)上述规则等价于将主存按cache总大小进行分区,每个分区中包含的数据块数量与cache行数相同,每个分区中的数据块只能填入对应序号的cache行中●主存地址可以细分为区地址(tag)、区内行索引(index)和偏移地址(offset)三部分●tag字段表示主存中分区的序号(查找标记)●index字段表示当前分区下cache行的序号●offset与全关联相同●cache的实际容量为n*(1+s-r+8*2^w)位●s是块地址总长度,r是行索引长度,s-r是区地址长度(直接相连cache只用存储区地址用于查询)●硬件逻辑实现●由于主存块只能放置在index对应的cache行中,因此不需要全相联查找,也不需要将查找表放在CAM中,直接通过index就可以访问对应数据●结构中没有相联存储器,所有cache行共用一个比较器●查找表和数据副本一起存放,无需相联存储器●优点是映射速度快,查找成本低,替换算法简单;缺点是命中率低,易冲突导致cache利用率低●组相联(Set Associative Mapping)组相联映射是将直接相联映射和全相联映射两种方式的折中,既能提高命中率,又能降低查找硬件的开销●k-路组相联将cache分成固定大小的组,每组有k行●主存数据块首先采用直接相联映射的方式定位到cache中固定的组,映射规则为cache组号 = 主存块号 mod (cache组数)等价于把k组cache块看成一个数据块进行映射,其中具体某一块的映射则由完全映射决定●然后采用全相联映射到组内任何一个cache行●主存地址可以分为标记字段(tag),组索引(index)和块内偏移(offset)三部分●tag字段与直接相联中分区序号类似●index字段是cache组的索引,即映射规则中得到的余数●cache的实际容量为 kn*(1+s-d+8*2^w)位●k为k路中的每组行数●n为cache组数●s-d是标记位长度●逻辑硬件实现●直接相联映射让数据查找的范围快速缩小到一个cache组,大大减少了查找范围,降低了硬件开销;组内采取全相联映射规则,避免了高冲突率,提高了cache的命中率●k路组相联只需要k个并发比较器●大容量cache可采用直接映射方式(cache够大可以提升命中率),小容量cache一般采用全相联映射或组相联映射●替换策略(Placement Policy)cache满后如何处理●先进先出法(FIFO)●最近不经常使用方法(LFU,Least Frequent Used)每行设置一个计数器,统计自处理器启动以来每个cache行的调用次数,当需要替换时替换掉调用次数最少的行。
计算机组成原理408考研基础知识点
计算机组成原理408考研基础知识点摘要:计算机组成原理408 考研基础知识点I.计算机组成原理概述A.计算机的基本组成部分B.计算机的工作原理II.数字逻辑基础A.布尔代数B.逻辑门电路C.组合逻辑电路D.时序逻辑电路III.计算机体系结构A.冯·诺依曼体系结构B.哈佛体系结构C.指令集体系结构D.数据通路IV.中央处理器A.中央处理器的功能B.指令的执行C.控制单元D.算术逻辑单元V.存储器系统A.存储器的基本概念B.存储器的分类C.存储器的层次结构D.cache 存储器VI.输入输出系统A.输入输出设备B.输入输出接口C.设备控制器D.总线VII.总结与展望A.计算机组成原理的重要性B.计算机技术的发展趋势正文:计算机组成原理408 考研基础知识点计算机组成原理是计算机专业中的一门基础课程,主要研究计算机的基本组成部分、工作原理以及相关的硬件系统。
在备考408 考研时,掌握计算机组成原理的基础知识对于理解计算机科学的其他领域具有重要意义。
本文将简要介绍计算机组成原理的一些基础知识点。
首先,计算机组成原理涉及计算机的基本组成部分。
一台计算机通常由输入设备、输出设备、存储器、运算器、控制器等组成。
这些部件协同工作,完成数据的输入、存储、处理和输出功能。
其次,计算机的工作原理是依据指令集体系结构,通过控制器对各种操作进行有序调度。
在这个过程中,运算器负责完成各种算术运算和逻辑运算,而存储器则负责存储数据和指令。
在计算机组成原理中,数字逻辑基础是一个重要的组成部分。
布尔代数、逻辑门电路、组合逻辑电路和时序逻辑电路等方面的知识为理解计算机硬件系统提供了基础。
这些知识点有助于我们了解如何使用逻辑电路设计计算机的各种组件。
在计算机体系结构方面,冯·诺依曼体系结构和哈佛体系结构是两种常见的结构。
冯·诺依曼体系结构以存储程序为基础,将程序指令和数据一起存储在存储器中;而哈佛体系结构则将程序指令和数据分开存储,提高了程序执行的效率。
计算机组成原理考研知识点总结
计算机组成原理考研知识点总结计算机组成原理是计算机科学与技术专业的一门重要课程,作为计算机考研的知识点之一,它涉及到计算机的硬件结构、指令系统、运算器、控制器、存储器、输入输出设备等方面的内容。
本文将对计算机组成原理的知识点进行总结。
一、计算机系统结构计算机系统由硬件和软件两部分组成。
硬件包括中央处理器(CPU)、内存、输入输出设备等,而软件则包括操作系统、应用程序等。
计算机硬件可以分为运算器、控制器和存储器三部分,它们共同协作完成计算机的各种任务。
二、指令系统指令系统是计算机中的指令集合,用于规定计算机能够执行的操作。
指令系统包括机器指令的格式和指令的编码方式。
机器指令格式包括操作码、操作数、寻址方式等内容。
指令的编码方式有定长编码和变长编码两种方式。
三、运算器运算器是计算机的主要执行部件,负责进行各种算术和逻辑运算。
运算器包括算术逻辑单元(ALU)和寄存器。
ALU是进行算术和逻辑运算的核心部件,寄存器用于存储运算中的数据和结果。
四、控制器控制器是计算机的指挥部,负责协调指令的执行和各个部件的工作。
控制器包括指令寄存器、程序计数器、指令译码器等。
指令寄存器用于存储当前执行的指令,程序计数器用于存储下一条将要执行的指令的地址,指令译码器用于解析指令的操作码和操作数。
五、存储器存储器用于存储计算机运行时的指令和数据。
存储器包括主存储器和辅助存储器。
主存储器是计算机中运行速度最快的存储器,用于存储当前运行的程序和数据。
辅助存储器包括硬盘、光盘等,用于长期存储数据。
六、输入输出设备输入输出设备用于与外部环境进行信息交互。
输入设备将外界的信息输入到计算机中,包括键盘、鼠标、扫描仪等;输出设备将计算机处理的结果输出到外界,包括显示器、打印机、音响等。
七、总线总线是计算机中各个部件之间传输数据和信号的通路。
总线可以分为数据总线、地址总线和控制总线。
数据总线用于传输数据,地址总线用于传输数据的地址,控制总线用于传输控制信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理一, 计算机系统概述(一) 计算机发展历程第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学.ENIAC用了18000电子管,1500继电器,重30吨,占地170m2,耗电140kw,每秒计算5000次加法.冯?诺依曼(VanNeumann)首次提出存储程序概念,将数据和程序一起放在存储器,使编程更加方便.50年来,虽然对冯?诺依曼机进行很多改革,但结构变化不大,仍称冯?诺依曼机.一般把计算机的发展分为五个阶段:发展阶段时间硬件技术速度/(次/秒)第一代1946-1957 电子管计算机时代40 000第二代1958-1964 晶体管计算机时代200 000第三代1965-1971 中小规模集成电路计算机时代 1 000 000第四代1972-1977 大规模集成电路计算机时代10 000 000第五代1978-现在超大规模集成电路计算机时代100 000 000ENIAC(Electronic Numerical Integrator And Computer)电子数字积分机和计算机EDVAC(Electronic Discrete Variable Automatic Computer)电子离散变量计算机组成原理是讲硬件结构的系统结构是讲结构设计的摩尔定律微芯片上的集成管数目每3年翻两番.处理器的处理速度每18个月增长一倍.每代芯片的成本大约为前一代芯片成本的两倍新摩尔定律全球入网量每6个月翻一番.数学家冯·诺依曼(von Neumann)在研究EDVAC机时提出了“储存程序”的概念.以此为基础的各类计算机通称为冯·诺依曼机.它有如下特点:①计算机由运算器,控制器,存储器,输入和输出五部分组成②指令和数据以同等的地位存放于存储器内,并可按地址寻访③指令和数据均用二进制数表示④指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置⑤指令在存储器内按顺序存放⑥机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成图中各部件的功能·运算器用来完成算术运算和逻辑运算并将的中间结果暂存在运算器内·存储器用来存放数据和程序·控制器用来控制,指挥程序和数据的输入,运行以及处理运行结果·输入设备用来将人们熟悉的信息转换为机器识别的信息·输出设备将机器运算结果转为人熟悉的信息形式运算器最少包括3个寄存器(现代计算机内部往往设有通用寄存器)和一个算术逻辑单元(ALU Arithmetic Logic Unit).其中ACC(Accumulator)为累加器,MQ(Multiplier-Quotient Register)为乘商寄存器,X为操作数寄存器,这3个寄存器在完成不同运算时,说存放的操作数类别也各不相同.计算机的主要硬件指标(4.a) 主机完成一条指令的过程——以取数指令为例(4.b) 主机完成一条指令的过程——以存数指令为例(二) 计算机系统层次结构1. 计算机硬件的基本组成计算机硬件主要指计算机的实体部分,通常有运算器,控制器,存储器,输入和输出五部分.CPU是指将运算器和控制器集成到一个电路芯片中.2. 计算机软件的分类计算机软件按照面向对象的不同可分两类:系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类软件面向系统.(包括:标准程序库,语言处理程序,OS,服务程序,数据库管理系统,网络软件)应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求.3. 计算机的工作过程(1)计算机的工作过程就是执行指令的过程指令由操作码和操作数组成:操作码指明本指令完成的操作操作码地址码地址码指明本指令的操作对象(2)指令的存储指令按照存储器的地址顺序连续的存放在存储器中.(3)指令的读取为了纪录程序的执行过程,需要一个记录读取指令地址的寄存器,称为指令地址寄存器,或者程序计数器.指令的读取就可以根据程序计数器所指出的指令地址来决定读取的指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数器加一就为读取下一条指令做好准备.(4)执行指令的过程在控制器的控制下,完成以下三个阶段任务:1)取指令阶段按照程序计数器取出指令,程序计数器加一2)指令译码阶段分析操作码,决定操作内容,并准备操作数3)指令执行阶段执行操作码所指定内容(三) 计算机性能指标1. 吞吐量,响应时间(1) 吞吐量:单位时间内的数据输出数量.(2) 响应时间:从事件开始到事件结束的时间,也称执行时间.2. CPU时钟周期,主频,CPI,CPU执行时间(1) CPU时钟周期:机器主频的倒数,T C(2)主频:CPU工作主时钟的频率,机器主频Rc(3)CPI:执行一条指令所需要的平均时钟周期(4)CPU执行时间:T CPU=In×CPI×T CIn执行程序中指令的总数CPI执行每条指令所需的平均时钟周期数T C时钟周期时间的长度3. MIPS,MFLOPS(1)MIPS:(Million Instructions Per Second)Te:执行该程序的总时间=指令条数/(MIPS×)In:执行该程序的总指令数Rc:时钟周期Tc的到数MIPS只适合评价标量机,不适合评价向量机.标量机执行一条指令,得到一个运行结果.而向量机执行一条指令,可以得到多个运算结果.(2) MFLOPS: (Million Floating Point Operations Per Second)MFLOPS=Ifn/(Te×)Ifn:程序中浮点数的运算次数MFLOPS测量单位比较适合于衡量向量机的性能.一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的.特点:1.MFLOPS取决于机器和程序两方面,不能反映整体情况,只能反映浮点运算情况2.同一机器的浮点运算具有一定的同类可比性,而非同类浮点操作仍无可比性当前微处理器的发展重点①进一步提高复杂度来提高处理器性能②通过线程进程级的并发性提高处理器性能③将存储器集成到处理器芯片来提高处理器性能④发展嵌入式处理器软件开发有以下几个特点1)开发周期长2)制作成本昂贵3)检测软件产品质量的特殊性计算机的展望一、计算机具有类似人脑的一些超级智能功能要求计算机的速度达1015/秒二、芯片集成度的提高受以下三方面的限制•芯片集成度受物理极限的制约•按几何级数递增的制作成本•芯片的功耗、散热、线延迟计算机辅助设计CAD 计算机辅助制造CAM计算机辅助工艺规划 Computer Aided Process Planning CAPP计算机辅助工程 Computer Aided Engineering CAE计算机辅助教学 Computer Assisted Instruction CAI科学计算和数据处理工业控制和实时控制网络技术应用虚拟现实办公自动化和管理信息系统 Computer Aided DesignCAD,CAM,CIMS Computer Aided Manufacturing多媒体技术 Computer Integrated Manufacturing System人工智能,模式识别,文字/语音识别,语言翻译,专家系统,机器人…二, 数据的表示和运算(一) 数制与编码1. 进位计数制及其相互转换1)进位计数制进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个基本概念:基数和权.基数:进位计数制中所拥有数字的个数.权:每位数字的值等于数字乘以所在位数的相关常数,这个常数就是权.任意一个R 进制数X,设整数部分为n 位,小数部分为m 位,则X 可表示为:X =a n-1r n-1 + a n-2r n-2 + ┅ + a 0r 0 + a -1r -1 + a -2r -2 + ┅ + a -m r -m(X)r = ∑--=m n i i i r K 12)不同数制间的数据转换(1)二,八,十六进制数转换成十进制数利用上面讲到的公式: (N)2=∑Di?2i ,(N)8=∑Di?8i , (N)16=∑Di?16i ,进行计算.(2)十进制数转换成二进制数通常要对一个数的整数部分和小数部分分别进行处理,各自得出结果后再合并.◆ 对整数部分,一般采用除2取余数法,其规则如下:将十进制数除以2,所得余数(0或1)即为对应二进制数最低位的值.然后对上次所得商除以2,所得余数即为二进制数次低位的值,如此进行下去,直到商等于0为止,最后得的余数是所求二进制数最高位的值.◆ 对小数部分,一般用乘2取整数法,其规则如下:将十进制数乘以2,所得乘积的整数部分即为对应二进制小数最高位的值,然后对所余数的小数部分部分乘以2,所得乘积的整数部分为次高位的值,如此进行下去,直到乘积的小数部分为0,或结果已满足所需精度要求为止.(3)二进制数,八进制数和十六进制数之间的转换八进制数和十六进制数是从二进制数演变而来的:由3位二进制数组成1位八进制数;由4位二进制数组成1位十六进制数.对一个兼有整数和小数部分的数以小数点为界,小数点前后的数分别分组进行处理,不足的位数用0补足.对整数部分将0补在数的左侧,对小数部分将0补在数的右侧.这样数值不会发生差错.2. 真值和机器数真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,称之为“真值”.机器数:在计算机中正负号也需要数字化,一般用0表示正号,1表示负号.把符号数字化的数成为机器数.3. BCD 码(Binary Coded Decimal 以二进制编码的十进制码)在计算机中采用4位二进制码对每个十进制数位进行编码.4位二进制码有16种不同的组合,从中选出10种来表示十进制数位的0~9,用0000,0001,…,1001分别表示0,1,…,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binary coded decima1,简称BCD)码”.在计算机内部实现BCD 码算术运算,要对运算结果进行修正,对加法运算的修正规则是:如果两个一位BCD 码相加之和小于或等于(1001)2,即(9)10,不需要修正;如相加之和大于或等于(1010)2,或者产生进位,要进行加6修正,如果有进位,要向高位进位.4. 字符与字符串在计算机中要对字符进行识别和处理,必须通过编码的方法,按照一定的规则将字符用一组二进制数编码表示.字符的编码方式有多种,常见的编码有ASCII 码,EBCDIC 码等.1)ASCII 码(American Standard Code for Information Interchange 美国信息交换标准码)ASCII 码用7位二进制表示一个字符,总共128个字符元素,包括10个十进制数字(0-9),52个英文字母(A-Z 和a-z),34专用符号和32控制符号.2)EBCDIC 码为Extended Binary Coded Decimal Interchange Code 的简称,它采用8位来表示一个字符.3)字符串的存放向量存储法:字符串存储时,字符串中的所有元素在物理上是邻接的.串表存储法:字符串的每个字符代码后面设置一个链接字,用于指出下一个字符的存储单元的地址.5. 校验码Check Digit数据校验码是一种常用的带有发现某些错误或自动改错能力的数据编码方法.其实现原理,是加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码.这样,可以通过检测编码的合法性来达到发现错误的目的.合理地安排非法编码数量和编码规则,可以提高发现错误的能力,或达到自动改正错误的目的.码距:码距根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,称其码距为1.1)奇偶校验码(Parity Bit)WIKI(开销最小,能发现数据代码中一位出错情况的编码,常用于存储器读写检查或ASCII 字符或其它类型的信息传输的检查)P216它的实现原理,是使码距由1增加到2.若编码中有1位二进制数出错了,即由1变成0,或者由0变成1.这样出错的编码就成为非法编码,就可以知道出现了错误.在原有的编码之上再增加一位校验位,原编码n位,形成新的编码为n+1 位.增加的方法有2种: 奇校验:增加位的0或1要保证整个编码中1的个数为奇数个.偶校验:增加位的0或1要保证整个编码中1的个数为偶数个.2)海明校验码(Hamming Code)P100实现原理,在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中.当某一位出错就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了依据.假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余2r-1个信息指出错误发生在哪一位.然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系:2r k+r+13)CRC校验码(Cyclic Redundancy Check 循环冗余校验)P144CRC校验码一般是指k位信息之后拼接r位校验码.关键问题是如何从k位信息方便地得到r位校验码,以如何从位k+r信息码判断是否出错.将带编码的k位有效信息位组表达为多项式:式Ci中为0或1.若将信息位左移r位,则可表示为多项式M(x).xr.这样就可以空出r位,以便拼接r位校验位.CRC码是用多项式M(x).xr除以生成多项式G(x)所得的余数作为校验码的.为了得到r位余数,G(x)必须是r+1位.设所得的余数表达式为R(x),商为Q(x).将余数拼接在信息位组左移r位空出的r位上,就构成了CRC码,这个码的可用多项式表达为:M(x)·xr+R(x)=[Q(x)·G(x)+R(x)]+R(x)=[Q(x)·G(x)]+[R(x)+R(x)]=Q(x)·G(x)因此,所得CRC码可被G(x)表示的数码除尽.将收到的CRC码用约定的生成多项式G(x)去除,如果无错,余数应为0,有某一位出错,余数不为0.(二) 定点数的表示和运算1. 定点数的表示1)无符号数的表示无符号数就是指正整数,机器字长的全部位数均用来表示数值的大小,相当于数的绝对值.对于字长为n+1位的无符号数的表示范围为: 0-12)带符号数的表示 (真值范围-n-1n)带符号数是指在计算机中将数的符号数码化.在计算机中,一般规定二进制的最高位为符号位,最高位为“0”表示该数为正,为“1”表示该数为负.这种在机器中使用符号位也被数码化的数称为机器数.根据符号位和数值位的编码方法不同,机器数分为原码,补码和反码.(1)原码表示法机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后,并以绝对值形式给出.这是与真值最接近的一种表示形式.原码的定义:(2)补码表示法机器数的最高位为符号位,0表示正数,1表示负数,其定义如下:(3)反码表示法机器数的最高位为符号,0表示正数,1表示负数.反码的定义:原码补码反码(mod ) (mod())整数(mod 2) (mod(2-))小数0 =0.0000=1.0000 =0.0000 =0.0000=1.1111负数原码求反+1 负数每位求反移码移码表示中零也是唯一的真值的移码和补码仅差一个符号位.若将补码的符号位由0改为1或从1改为0即可得到真值的移码乘法运算可用移码和加法来实现,两个n位数相乘,总共要进行n次加法运算和n次移位运算三种机器数的特点可以归纳为:·三种机器数的最高位均为符号位.符号位和数值位之间可用“.”(对于小数)或“,”(对于整数)隔开·当真值为正时,原码,补码和反码的表示形式均相同,即符号位用“0”表示,数值部分与真值部分相同·当真值为负时,原码,补码和反码的表示形式不同,其它符号位都用“1”表示,而数值部分有这样的关系,即补码是原码的“求反加1”,反码是原码的“每位求反”.2. 定点数的运算1)定点数的位移运算左移,绝对值扩大;右移,绝对值缩小.算术移位规则符号位不变码制添补代码正数0负数原0补右移添0左移添1 反 1算术移位和逻辑移位的区别:算术移位:带符号数移位;逻辑移位:无符号数移位;2)原码定点数的加/减运算;对原码表示的两个操作数进行加减运算时,计算机的实际操作是加还是减,不仅取决指令中的操作码,还取决于两个操作数的符号.而且运算结果的符号判断也较复杂.例如,加法指令指示做(+A)+(-B)由于一操作数为负,实际操作是做减法(+A)-(+B),结果符号与绝对值大的符号相同.同理,在减法指令中指示做(+A)-(-B)实际操作做加法(+A)+(+B),结果与被减数符号相同.由于原码加减法比较繁琐,相应地需要由复杂的硬件逻辑才能实现,因此在计算机中很少被采用.3)补码定点数的加/减运算;(1) 加法整数 [A]补 + [B]补= [A+B]补(mod 2n+1)小数 [A]补 + [B]补= [A+B]补(mod 2)(2) 减法整数 [A]补 - [B]补= [A+(-B)]补=[A]补+ [-B]补(mod 2n+1)小数 [A]补 - [B]补= [A+(-B)]补=[A]补 + [-B]补(mod 2)无需符号判定,连同符号位一起相加,符号位产生的进位自然丢掉4)定点数的乘/除运算(1)一位乘法<1>原码定点一位乘法两个原码数相乘,其乘积的符号为相乘两数的异或值,数值两数绝对值之积.设 [X]原=X0 X1 X2 …Xn[Y]原=Y0 Y1 Y2 …Yn[X·Y]原=[X]原·[Y]原= (X0⊕Y0)∣(X1 X2 …Xn)·(Y1 Y2 …Yn)符号∣表示把符号位和数值邻接起来.原码两位乘和原码一位乘比较原码一位乘原码两位乘符号位操作数绝对值绝对值的补码移位逻辑右移算术右移移位次数n最多加法次数n<2>定点补码一位乘法有的机器为方便加减法运算,数据以补码形式存放.乘法直接用补码进行,减少转换次数.具体规则如下: [X·Y]补=[X]补(-Y0 + 0. Y1 Y2… Yn )<3>布斯法“布斯公式”: 在乘数Yn后添加Yn+1=0.按照Yn+1 ,Yn相邻两位的三种情况,其运算规则如下:(1) Yn+1 ,Yn =0( Yn+1 Yn =00或11),部分积加0,右移1位;(2) Yn+1 ,Yn =1( Yn+1 Yn =10) ,部分积加[X]补,右移1位;(3) Yn+1 ,Yn =-1( Yn+1 Yn =01) ,部分积加[-X]补,右移1位最后一步不移位.(2)两位乘法<1>原码两位乘法,因此实际操作用Yi-1,Yi,C三位来控制,运算规则如下Yi-1 Yi C 操作0 0 0 0 0 1 0 1 00 1 11 0 0 1 0 1 1 1 0 1 1 1 +0, 右移2位 0→C +X, 右移2位 0→C +X, 右移2位 0→C +2X, 右移2位 0→C +2X, 右移2位 0→C -X, 右移2位 1→C -X, 右移2位 1→C +0, 右移2位 1→C<2>补码两位乘法根据前述的布斯算法,将两步合并成一步,即可推导出补码两位乘的公式. Yn-i-1 Yn-i Yn-i+1 [Pi+2]补0 0 0 0 0 1 0 1 00 1 11 0 0 1 0 1 1 1 0 1 1 1 +0, 右移2位 +[X]补, 右移2位 +[X]补, 右移2位 +2[X]补, 右移2位 -2[X]补, 右移2位 -[X]补, 右移2位 -[X]补, 右移2位 +0, 右移2位求部分积的次数和右移操作的控制问题.当乘数由1位符号位和以n(奇数)位数据位组成时,求部分积的次数为(1+n)/2,而且最后一次的右移操作只右移一位.若数值位本身为偶数n,可采用下述两种方法之一:①可在乘数的最后一位补一个0,乘数的数据位就成为奇数,而且其值不变,求部分积的次数为1+(n+l)/2,即n/2+1,最后一次右移操作也只右移一位.②乘数增加一位符号位,使总位数仍为偶数,此时求部分积的次数为n/2+1,而且最后一次不再执行右移操作.(3)补码除法笔算除法和机器除法的比较笔算除法机器除法商符单独处理符号位异或形成心算上商余数不动低位补“0”减右移一位的除数余数左移一位低位补“0”减除数2 倍字长加法器 1 倍字长加法器上商位置不固定在寄存器最末位上商<1>定点原码一位除法1>恢复余数法被除数(余数)减去除数,如果为0或者为正值时,上商为1,不恢复余数;如果结果为负,上商为0,再将除数加到余数中,恢复余数.余数左移1位.2>加减交替法当余数为正时,商上1,求下一位商的办法,余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的办法,余数左移一位,再加上除数.<2>定点补码一位除法(加减交替法)1〉如果被除数与除数同号,用被除数减去除数;若两数异号,被除数加上除数.如果所得余数与除数同号商上1,否则,商上0,该商为结果的符号位.2〉求商的数值部分.如果上次商上1,将除数左移一位后减去除数;如果上次商上0,将余数左移一位后加除数.然后判断本次操作后的余数,如果余数与除数同号商上1,如果余数与除数异号商上0.如此重复执行n-1次(设数值部分n位).3〉商的最后一位一般采用恒置1的办法,并省略了最低+1的操作.此时最大的误差为2-n.5)溢出概念和判别方法当运算结果超出机器数所能表示的范围时,称为溢出.显然,两个异号数相加或两个同号数相减,其结果是不会溢出的.仅当两个同号数相加或者两个异号数相减时,才有可能发溢出的情况,一旦溢出,运算结果就不正确了,因此必须将溢出的情况检查出来.判别方法有三种:1〉当符号相同的两数相加时,如果结果的符号与加数(或被加数)不相同,则为溢出.2〉当任意符号两数相加时,如果C=Cf,运算结果正确,其中C为数值最高位的进位,Cf为符号位的进位.如果C≠Cf ,则为溢出,所以溢出条件=C⊕Cf .3〉采用双符号f s2f s1.正数的双符号位为00,负数的双符号位为11.符号位参与运算,当结果的两个符号位甲和乙不相同时,为溢出.所以溢出条件= fs2⊕fs1 ,或者溢出条件= fs2fs1 + fs2fs1(三) 浮点数的表示和运算1. 浮点数的表示1)浮点数的表示范围;浮点数是指小数点位置可浮动的数据,通常以下式表示:N=M×R E其中,N为浮点数,M(Mantissa)为尾数(可正可负),E(Exponent)为阶码(可正可负),R(Radix)称为“阶的基数(底)”,而且R为一常数,一般为2,8或16.在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来.因此,浮点数的机内表示一般采用以下形式:浮点数的机内表示一般采用以下形式:Ms E M1位 n+1位 m位Ms是尾数的符号位,设置在最高位上.E为阶码(移码),有n+1位,一般为整数,其中有一位符号位,设置在E的最高位上,用来表正阶或负阶.M为尾数(原码),有m位,由Ms和M组成一个定点小数.Ms=0,表示正号,Ms=1,表示负.为了保证数据精度属数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于(0.5)10.对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求.浮点数的表示范围以通式N=M×R E设浮点数阶码的数值位取m位,尾数的数值位取n位2)IEEE754标准(Institute of Electrical and Electronics Engineers美国电气和电子工程协会)S 阶码(含阶符) 尾数数符小数点位置根据IEEE 754国际标准,常用的浮点数有三种格式:符号位S阶码尾数总位数短实数 1 8 23 32长实数 1 11 52 64临时实数 1 15 64 80单精度格式32位,阶码为8位,尾数为23位.另有一位符号位S,处在最高位.由于IEEE754标准约定在小数点左部有一位隐含位,从而实际有效位数为24位.这样使得尾数的有效值变为1.M .例如,最小为x1.0…0,,最大为x1.1…1.规格化表示.故小数点左边的位横为1,可省去.阶码部分采用移码表示,移码值127,1到254经移码为-126到+127.S(1位) E(8位) M(23位) N(共32位)符号位0 0 0符号位0 不等于0 (-1)S·2-126·(0.M) 为非规格化数符号位1到254之间- (-1)S·2E-127·(1.M) 为规格化数符号位255 不等于0 NaN(非数值)符号位255 0 无穷大0 有了精确的表示,无穷大也明确表示.对于绝对值较小的数,可以采用非规格化数表示,减少下溢精度损失.非规格化数的隐含位是0,不是1.2. 浮点数的加/减运算加减法执行下述五步完成运算:1)“对阶”操作比较两浮点数阶码的大小,求出其差ΔE,保留其大值E,E=max(Ex, Ey).当ΔE≠0时,将阶码小的尾数右移ΔE位,并将其阶码加上ΔE,使两数的阶码值相等.2)尾数加减运算执行对阶之后,两尾数进行加减操作.3)规格化操作规格化的目的是使得尾数部分的绝对值尽可能以最大值的形式出现.4)舍入在执行右规或者对阶时,尾数的低位会被移掉,使数值的精度受到影响,常用“0”舍“1”入法.当移掉的部分最高位为1时,在尾数的末尾加1,如果加1后又使得尾数溢出,则要再进行一次右规.5)检查阶码是否溢出阶码溢出表示浮点数溢出.在规格化和舍入时都可能发生溢出,若阶码正常,加/减运算正常结束.若阶码下溢,则设置机器运算结果为机器零,若上溢,则设置溢出标志.定点数和浮点数可从如下几个方面进行比较①当浮点机和定点机中的位数相同时,浮点数的表示范围比定点数大得多②当浮点数位规格化数时,其相对绝对远比定点数高③浮点数运算要分阶码部分和尾数部分,而且运算结果都要求规格化,故浮点运算步骤比定点运算的步骤多,运算速度比定点运算的低,运算线路比定点运算的复杂④在溢出的判断方法上,浮点数是对规格化的阶码进行判断,而定点数是对数值本身进行判断总之,浮点数在数的表示范围,数的精度,溢出处理和程序编程方面(不取比例因子)均优于定点数.但在运算规则即硬件成本方面又不如定点数(四) 算术逻辑单元ALU1.串行加法器和并行加法器1)串行进位加法器并行加法器可以同时对数据的各位进行相加,一般用n个全加器来实现2个操作数的各位同时向加.其操作数的各位是同时提供的,由于进位是逐位形成,低位运算所产生的进位会影响高位的运算结果.。