一、本课程在计算机系统中的位置一、课程目标1、结构与原理掌握建立计算机系统的整机概念;掌握计算机各部件的组成原理与技术;了解计算机系统组成与结构的新技术2、分析与计算能力掌握对组成与结构进行性能分析的方法;通过量化计算,加深对组成原理的理解与掌握3、应用与设计能力通过实验,培养逻辑设计及理论指导实践的能力二、课程内容组织第1章计算机系统概论计算机的模型、硬件组成,计算机的工作过程、性能指标第2章数据的表示和运算数据的编码及表示,定点及浮点运算方法,ALU结构与组成第3章存储系统层次结构,RAM组成,主存、Cache、虚存的组成原理第4章指令系统指令功能与指令格式,操作数存放及寻址方式,CISC/RISC第5章中央处理器CPU的功能与结构、工作流程,指令执行过程,数据通路组织,CU的结构及组成,微程序控制器技术,指令流水技术第6章总线概述,操作步骤,仲裁/定时方式,互连结构第7章I/O系统组成,I/O设备,I/O接口,I/O方式(4种)1、学习方法建立整机概念,将所学知识点融合在一起;从逻辑设计出发,分析多种方案的利与弊;通过量化分析,加深对原理的掌握与理解。2、学习效率第1章计算机系统概论◆计算机:按照内部存储的指令序列,对数字化信息进行自动高速处理、存储、传送、控制的装置。指令:指示计算机硬件完成某种功能的明确的命信息:有用的数据,有多种不同类型,其表现手段可以采用数字化形式或模拟量形式;运算:包括算术运算和逻辑运算,要求自动与高速;处理:对信息进行搜索、识别、变换,甚至联想、思考和推理等等。◆计算机的基本功能主要包括计算机软件(指令串及数据)CUALU存储器…系统总线I/O设备1I/O接口1I/O设备2I/O接口2I/O设备nI/O接口n数据处理数据存储数据传送控制◆数据处理功能运算功能:算术运算功能和逻辑运算,应用于数值计算和非数值计算两个方面;处理对象:数值、字符、图形、图像、声音和视频等。◆数据存储功能主存储器:保存指令和数据;辅助存储器:以文件的形式保存大量数据信息。◆数据传送功能内部数据流动:CPU和主存以及CPU内部寄存器与运算器之间的数据流动;外部数据传送:输入/输出(I/O)和计算机通信。◆控制功能控制器:产生各种基本操作信号并按某种时序发出以完成相应功能;指令编码、指令系统:一台计算机的所有指令集合。1.1.1计算机系统的软硬件*计算机系统的组成:功能的实现方式—①硬件具备数据的存储、传送及处理和过程控制功能②软件表示应用的数据处理及过程控制需求└→程序(指令序列,硬件用不同指令表示不同功能)③执行软件实现应用的数据处理及过程控制功能*计算机系统组成的特性:软件功能靠硬件实现,硬件性能靠软件反映*计算机系统结构:机器语言程序员所看到的计算机属性概念性结构和功能特性←┘*计算机组成:实现计算机系统结构时所体现的计算机属性*计算机实现:实现计算机组成时所体现的计算机属性*相互关系:计算机系统结构—确定软硬件功能分配及其界面特性;计算机组成—逻辑实现系统结构的内容;计算机实现—物理实现计算机组成的内容举例系统结构计算机组成计算机实现乘法功能是否有乘法指令乘法器还是加法+移位器件、电路主存系统最大容量、编址方式速度保证、单体/多体MEM总线带宽信号线数、时钟、传输方式§1.2计算机系统基本组成一、冯·诺依曼模型计算机*结构与组成:由运算器、存储器、控制器、输入及输出设备组成,以运算器为中心;*数据表示与运算:指令及数据均用二进制方式表示,运算亦采用二进制方式*存储程序原理—程序存储方式:指令及数据预先存放(以等同地位)在存储器中;*存储器结构:由定长单元构成的一维空间,存储器按地址访问;*指令组成:由操作码及地址码组成;例:若加法运算的操作码用010表示,第01000号与第10000号两个存储单元内容相加的操作可表示为:0100100010000*存储程序原理—程序控制机制:按程序逻辑顺序、自动地、逐条地取出指令并执行。输入设备存储器运算器控制器输出设备注:数据信息指令信息控制信息状态信息冯·诺依曼计算机模型。1)计算机由运算器、存储器、控制器和输入/输出五个部件组成;2)存储器以二进制形式存储指令和数据;3)存储程序工作方式;4)五部件以运算器为中心进行组织。二、计算机硬件的基本组成1、计算机硬件的结构现代计算机均在冯·诺依曼模型基础上进行改进*采用以存储器为中心的结构:使数据传送与数据处理并行,有利于提高系统性能*由多种存储器构成存储系统:解决速度-容量-价格间的矛盾,有利于提高性能/价格*采用总线互连形式:实现部件操作标准化,有利于提高系统的可扩展性2、计算机部件的基本组成(1)存储器*功能:存储程序和数据、通过读/写操作接收/提供信息*组成:*完成操作的过程:读操作—①接收地址及命令,内部操作;②输出数据写操作—①接收地址及命令;②接收数据,内部操作(2)运算器*功能:实现算术运算及逻辑运算,并暂存运算结果*组成:*(AC)+[Y]→AC的运算过程:(0)(AC)为被加数(1)加数[Y]→TEMP(2)(AC)+(TEMP)(3)ALU结果→AC△约定:(X)表示寄存器X中内容,[Y]表示存储单元Y中内容(3)控制器*功能:指挥及控制各部件协调地工作,以实现程序执行过程*程序执行过程:①循环的指令执行过程(取指令及执行指令);②下条指令地址由当前指令产生(按程序逻辑顺序)(4)输入/输出设备*功能:实现外部-内部信息的输入/输出及格式转换;*种类:键盘、鼠标、显示器、打印机、磁盘等;*连接:通过I/O接口(又称适配器或控制器)与总线连接,I/O接口实现信息传送时的缓冲、中转等功能取指令取指阶段分析指令执行指令执行阶段三、计算机软件的基本组成三、计算机软件的基本组成四、计算机工作过程计算机的工作过程就是执行程序的过程。考查指令ADDNUM,R0的执行过程。图1.4CPU组成以及和存储器的连接考查指令ADDNUM,R0的执行过程。程序执行过程*程序执行的初始条件:(a)程序及数据已存放在主存储器MM中;(b)PC内容已经为即将执行的程序首条指令地址*程序执行的实现方法:--控制器指挥与控制①取指—(PC)→[MM]→IR,(PC)+“1”→PC;②分析—(IR)→ID→CU;③执行—实现指令约定操作(指令转移时重写PC);④循环—若无中断执行的要求,转①§1.3计算机系统的性能指标一、计算机系统的性能指标*系统性能:指在计算机硬件上运行的计算机软件的性能1、硬件性能参数*机器字长:指CPU一次能处理的二进制位数。└→指ALU一次能处理的n位CPU—指机器字长为n个二进制位的CPU;例如,Core2CPU为64位CPU对系统性能的影响—机器字长越长,数据处理性能越好;(∵应用数据长度>机器字长时,需分次运算)对其它硬件的影响—直接影响ALU、REG长度,间接影响存储字长、数据总线位数*机器主频:指CPU内部主时钟脉冲的频率,常用f表示。主频单位—1GHz=1×103MHz=1×106KHz=1×109Hz;时钟周期—CPU内部基本操作的时长,常用TC表示;f与TC关系—倒数关系,即f=1/TC*存储容量:指存储器可存储二进制信息的总位数。主存容量—容量S=存储单元个数×存储字长;辅存容量—容量S=存储块个数×存储块长度;容量单位—1GB=1×210MB=1×220KB=1×230B=8×230bit;最大主存容量—CPU能够访问的主存最大容量,它决定了CPU的地址和数据引脚数量2、系统性能指标时间是唯一标准,主要有响应时间和吞吐量两个指标。*响应时间:指一个任务从任务输入到结果输出的总时间,*吞吐量:又称吞吐率,指单位时间内能处理的工作量,即吞吐量=n个任务的总工作量÷n个任务的总时间特点—反映了多任务计算机系统的软硬件总体性能表示—因工作量无统一定义,通常用MIPS及MFLOPS代替△MIPS(每秒百万次指令)△MFLOPS(每秒百万次浮点运算)*其他:RAS(可靠性/可用性/可维护),兼容性等二、计算机软件的发展历史1、计算机语言的发展机器语言→汇编语言→高级语言→应用语言*高级语言例:FORTRAN、PASCAL、C/C++、Java2、系统软件的发展*语言处理程序:汇编程序、编译程序、解释程序;*操作系统:DOS、UNIX、Windows;(多道程序、分时/实时、网络、分布式、面向对象)*服务性程序:装配、调试、诊断、排错;*数据库:数据库(网状、层次、关系型)、数据库管理软件;*网络:协议(NetNIOS、TCP/IP等)及实现库三、计算机系统分类按规模及功能分类超级计算机—科学计算等;大型计算机—多用户使用等;小型计算机—办公应用等;工作站—图形处理及分布式计算等;微型计算机—应用广泛;单片机/嵌入式系统—工业控制等66Cmax610CPI10CPI1MIPS10MIPSfT主频程序执行时间程序执行的指令条数第二章数据的表示和运算§2.1数据的编码一、数制及其转换1、进位计数制*进位计数制:又称进制或数制,是用一组固定的符号和统一的规则来表示数值的方法。有数码、基数和位权3个基本参数*常用的4种进制:*R进制数表示:(N)R=(kn-1…k1k0.k-1k-2…k-m)R=其中,ki∈{0,1,…(R-1)}(2)十进制数小数转换成R进制数小数*小数转换规则:乘基取整、上左下右例3—将(0.6875)10分别转换成二、八进制数(3)十进制数转换成R进制数*转换规则:整数部分、小数部分分别转换后再合并练习1—(19.6875)10=(X)2=(Y)8,X=?Y=?4、二、八、十六进制数相互转换*隐含规律:2=21,8=23,16=24(1)二进制、八进制数相互转换*转换规则:①从小数点向两边分别转换;②3个二进制数位(不够时补零)等价于1个八进制数位例4—(13.724)8=(001011.111010100)2=(1011.1110101)2(10011.01)2=(010011.010)2=(23.2)8(2)二进制、十六进制数相互转换*转换规则:①从小数点向两边分别转换;②4个二进制数位(不够时补零)等价于1个十六进制数位例5—(2B.E)16=(00101011.1110)2=(101011.111)2(11001.11)2=(00011001.1100)2=(19.C)16二、机器数及其编码*数值数据:组成—由符号、小数点及数值构成,可缺省符号及小数点运算—①符号与数值分开运算;②加减法需先比较大小*机器数:符号数字化的数,通常0/1表示+/-;如(+101)2→(0101)2、(-0.101)2→(-.101)2→(1.101)2真值—带“+”或“-”符号的数*机器数的运算方法:①采用手工运算方法,硬件实现很不方便;如—(+x)+(-y)时,先求x-y、再求结果符号、最后求x-y或y-x☆②采用新运算方法,便于硬件实现(如符号与数值一起运算)└→必须使用新的编码方法!*机器数的编码方法:原码、补码、反码、移码等1、原码表示法(原码编码方法)*基本思想:用0/1表示符号+/-,数值位为真值的绝对值*纯整数原码定义:设X=±xn-2…x0,xi=0或1,则[X]原=xn-1xn-2…x0,*纯小数原码定义:设X=±0.x-1…x-(n-1),则[X]原=x0.x-1…x-(n-1)*原码的特性:①X与[X]原关系—·[X]原与X表示值的范围相同,·[+0]原≠[-0]原;②运算方法—符号与数值分开运算(与手工运算一致)└→适合于乘除法,加减法较复杂2、补码表示法*目标:实现符号与数值一起运算(1)有模运算与补数示例—将时针从10点拨向7点,有两种拨法:①倒拨10-3=7;②顺拨10+9=7+12=7*有模运算:运算时只计量小于“模”的部分,多余部分被丢弃模—计量系统的计数范围;同余—若A、B、M满足A=B+kM(k为有符号整数),则记A≡B(modM),称B和A为模M的同余*补数:若a、b、M满足a+b=M,称a、b互为模M的补数运算特征—c-a=c-(M-b