《南开大学《计算机组成原理》笔记-随堂笔记》由会员分享,可在线阅读,更多相关《南开大学《计算机组成原理》笔记-随堂笔记(37页珍藏版)》请在金锄头文库上搜索。
1、;、计算机组成原理1. 理解单处理器计算机系统中各部件的内部工作原理,组成结构以及相互连接方式,具有完整的计算机系统的整机概念. )2. 理解计算机系统层次化结构概念,熟悉硬件与软件间的界面,掌握指令集体系结构的基本知识和基本实现方法3. 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算,分析,并能对一些基本部件进行简单设计.一, 计算机系统概述(一) 计算机发展历程第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学.ENIAC用了18000电子管,1500继电器,重30吨,占地170m2,耗电140kw,每秒计算5000次加法.冯诺依曼(Van
2、Neumann)首次提出存储程序概念,将数据和程序一起放在存储器,使编程更加方便.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 Int
3、egrator And Computer)电子数字积分机和计算机 EDVAC(Electronic Discrete Variable Automatic Computer)电子离散变量计算机 ;组成原理是讲硬件结构的 系统结构是讲结构设计的 摩尔定律 微芯片上的集成管数目每3年翻两番.处理器的处理速度每18个月增长一倍. 每代芯片的成本大约为前一代芯片成本的两倍 新摩尔定律 全球入网量每6个月翻一番. 数学家冯诺依曼(von Neumann)在研究EDVAC机时提出了“储存程序”的概念.以此为基础的各类计算机通称为冯诺依曼机.它有如下特点:计算机由运算器,控制器,存储器,输入和输出五部分组成
4、指令和数据以同等的地位存放于存储器内,并可按地址寻访指令和数据均用二进制数表示:指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置指令在存储器内按顺序存放机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成图中各部件的功能运算器用来完成算术运算和逻辑运算并将的中间结果暂存在运算器内存储器用来存放数据和程序控制器用来控制,指挥程序和数据的输入,运行以及处理运行结果输入设备用来将人们熟悉的信息转换为机器识别的信息输出设备将机器运算结果转为人熟悉的信息形式运算器最少包括3个寄存器(现代计算机内部往往设有通用寄存器)和一个算术逻辑单元(ALU Ari
5、thmetic Logic Unit).其中ACC(Accumulator)为累加器,MQ(Multiplier-Quotient Register)为乘商寄存器,X为操作数寄存器,这3个寄存器在完成不同运算时,说存放的操作数类别也各不相同.计算机的主要硬件指标 主机完成一条指令的过程以取数指令为例 主机完成一条指令的过程以存数指令为例(二) 计算机系统层次结构1. 计算机硬件的基本组成计算机硬件主要指计算机的实体部分,通常有运算器,控制器,存储器,输入和输出五部分.CPU是指将运算器和控制器集成到一个电路芯片中.2. 计算机软件的分类计算机软件按照面向对象的不同可分两类:系统软件:用于管理整
6、个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类软件面向系统.(包括:标准程序库,语言处理程序,OS,服务程序,数据库管理系统,网络软件)应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求.3. 计算机的工作过程!(1)计算机的工作过程就是执行指令的过程 指令由操作码和操作数组成:操作码地址码 操作码指明本指令完成的操作地址码指明本指令的操作对象(2)指令的存储 指令按照存储器的地址顺序连续的存放在存储器中.(3)指令的读取 为了纪录程序的执行过程,需要一个记录读取指令地址的寄存器,称为指令地址寄存器,或者程序计数器.指令的读取就可以根据程序计数
7、器所指出的指令地址来决定读取的指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数器加一就为读取下一条指令做好准备.(4)执行指令的过程 在控制器的控制下,完成以下三个阶段任务:1)取指令阶段 按照程序计数器取出指令,程序计数器加一2)指令译码阶段 分析操作码,决定操作内容,并准备操作数3)指令执行阶段 执行操作码所指定内容(三) 计算机性能指标1. 吞吐量,响应时间(1) 吞吐量:单位时间内的数据输出数量.(2) 响应时间:从事件开始到事件结束的时间,也称执行时间.、2. CPU时钟周期,主频,CPI,CPU执行时间(1) CPU时钟周期:机器主频的倒数,TC(2)
8、主频:CPU工作主时钟的频率,机器主频Rc(3)CPI:执行一条指令所需要的平均时钟周期(4)CPU执行时间:TCPU=InCPITC In执行程序中指令的总数 CPI执行每条指令所需的平均时钟周期数& TC时钟周期时间的长度3. MIPS,MFLOPS(1)MIPS:(Million Instructions Per Second) Te:执行该程序的总时间=指令条数/(MIPS)In:执行该程序的总指令数Rc:时钟周期Tc的到数 MIPS只适合评价标量机,不适合评价向量机.标量机执行一条指令,得到一个运行结果.而向量机执行一条指令,可以得到多个运算结果.,(2) MFLOPS: (Mill
9、ion Floating Point Operations Per Second) MFLOPS=Ifn/(Te)Ifn:程序中浮点数的运算次数MFLOPS测量单位比较适合于衡量向量机的性能.一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的.特点:1. MFLOPS取决于机器和程序两方面,不能反映整体情况,只能反映浮点运算情况2. 同一机器的浮点运算具有一定的同类可比性,而非同类浮点操作仍无可比性当前微处理器的发展重点进一步提高复杂度来提高处理器性能通过线程进程级的并发性提高处理器性能将存储器集成到处理器芯片来提高处理器性能发展嵌入式处理器软
10、件开发有以下几个特点1) 开发周期长2) 制作成本昂贵3) 检测软件产品质量的特殊性$计算机的展望一、计算机具有类似人脑的一些超级智能功能 要求计算机的速度达1015/秒 二、芯片集成度的提高受以下三方面的限制 芯片集成度受物理极限的制约 按几何级数递增的制作成本 芯片的功耗、散热、线延迟计算机辅助设计CAD 计算机辅助制造CAM,计算机辅助工艺规划 Computer Aided Process Planning CAPP计算机辅助工程 Computer Aided Engineering CAE计算机辅助教学 Computer Assisted Instruction CAI 科学计算和数据
11、处理 工业控制和实时控制网络技术应用虚拟现实办公自动化和管理信息系统 Computer Aided DesignCAD,CAM,CIMS Computer Aided Manufacturing多媒体技术 Computer Integrated Manufacturing System人工智能,模式识别,文字/语音识别,语言翻译,专家系统,机器人二, 数据的表示和运算(一) 数制与编码1. 进位计数制及其相互转换1)进位计数制进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个基本概念:基数和权. 基数:进位计数制中所拥有数字的个数.权:每位数字的值等于数字乘以所在位数的相关常数,这个常
12、数就是权.任意一个R进制数X,设整数部分为n位,小数部分为m位,则X可表示为:Xan-1rn-1 + an-2rn-2 + + a0r0 + a-1r-1 + a-2r-2 + + a-mr-m(X)r = 2)不同数制间的数据转换 (1)二,八,十六进制数转换成十进制数| 利用上面讲到的公式: (N)2=Di2i ,(N)8=Di8i, (N)16=Di16i,进行计算.(2)十进制数转换成二进制数通常要对一个数的整数部分和小数部分分别进行处理,各自得出结果后再合并.u 对整数部分,一般采用除2取余数法,其规则如下:将十进制数除以2,所得余数(0或1)即为对应二进制数最低位的值.然后对上次所
13、得商除以2,所得余数即为二进制数次低位的值,如此进行下去,直到商等于0为止,最后得的余数是所求二进制数最高位的值.u 对小数部分,一般用乘2取整数法,其规则如下:将十进制数乘以2,所得乘积的整数部分即为对应二进制小数最高位的值,然后对所余数的小数部分部分乘以2,所得乘积的整数部分为次高位的值,如此进行下去,直到乘积的小数部分为0,或结果已满足所需精度要求为止.(3)二进制数,八进制数和十六进制数之间的转换?八进制数和十六进制数是从二进制数演变而来的:由3位二进制数组成1位八进制数;由4位二进制数组成1位十六进制数.对一个兼有整数和小数部分的数以小数点为界,小数点前后的数分别分组进行处理,不足的
14、位数用0补足.对整数部分将0补在数的左侧,对小数部分将0补在数的右侧.这样数值不会发生差错.2. 真值和机器数真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,称之为“真值”. 机器数:在计算机中正负号也需要数字化,一般用0表示正号,1表示负号.把符号数字化的数成为机器数.&3. BCD码(Binary Coded Decimal以二进制编码的十进制码)在计算机中采用4位二进制码对每个十进制数位进行编码.4位二进制码有16种不同的组合,从中选出10种来表示十进制数位的09,用0000,0001,1001分别表示0,1,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binary coded decima1,简称BCD)码”.在计算机内部实现BCD码算术运算,要对运算结果进行修正,对加法运算的修正规则是: 如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需要修正; 如相加之和大于或等于(1010)2,或者产生进位,要进行加6修正,如果有进位,要向高位进位.4. 字