计算机组成原理主讲教师:秦磊华abc_119@126.comLhqin@mail.hust.edu.cn计算机组成原理2计算机组成原理是计算机专业的核心专业基础课,主要介绍计算机各大组成部件的结构、工作原理、设计方法以及组成整机的有关技术。B:本课程的主要内容A:课程介绍•计算机系统概论•数据信息的表示及运算方法•信息的存储•指令系统的分析与设计•控制器的原理和设计•系统总线•输入/输出系统计算机组成原理3计算机组成原理数字逻辑电路汇编语言计算机系统结构微机接口技术操作系统其它其它基础课基础课专业基础课专业课计算机组成原理4参考书目:1.(美)RANDALE.BRYANT;DAVIDO‘HALLARON.深入理解计算机系统(修订版).(08年度畅销榜TOP50).中国电力出版社.2.(荷)ANDREWS.TANENBAUM.计算机组成结构化方法(英文影印版)(第5版).人民邮电出版社.3.(美)DAVIDA.PATTERSON;JOHNL.HENNESSY.计算机组成与设计硬件/软件接口(原书第3版).机械工业出版社.4.CarlHamacherZvonkoVranesicSafwatZaky著.计算机组成.机械工业出版社.5.唐朔飞.计算机组成原理(第2版).高等教育出版社6.白中英;戴志涛;周锲;杨旭东;张杰.计算机组成原理.科学出版社.教材:秦磊华吴非莫正坤.计算机组成原理.清华大学出版社,2011年计算机组成原理5全书学习学时建议第一章计算机系统概述3学时第二章数据信息的表示5学时第三章运算方法与运算器8学时第四章存储系统12学时第五章指令系统4学时第六章中央处理器10学时第七章流水线(系统结构中学习)第八章系统总线4学时第九章输入/输出系统6学时共计52学时计算机组成原理6本课程的学习过程中应注意的问题方法站在设计者的角度看计算机组成:站在系列课程的角度学组成:数字逻辑、汇编语言、系统结构、接口技术要动手:查阅相关资料并动手实验(QuartusII)查阅学科前言资料、阅读经典著作,多思考独立完成作业答疑网站:自主学习:计算机组成原理7一、计算机系统概述(知识点)1计算机系统的组成及各部分的功能冯诺依曼计算机的思想五大组成部分及其功能2计算机的性能指标和性能评价非时间指标:字长、主存容量时间相关的性能指标:主频、CPU执行时间、CPI、MIPS、MFLOPS3计算机系统的层次结构分层结构及分层的优点每层的作用和特点硬件与软件功能的逻辑等价性计算机组成原理81.冯诺依曼计算机计算机系统的组成及各部分的功能基本思想:存储程序和程序控制关注:原理与结构之间的对应关系计算机组成原理91)硬件结构及各部分的功能(1)运算器算术/逻辑运算根据运算的结果设置条件状态寄存器条件状态寄存器计算机组成原理10指挥协调计算机其他部件进行工作的重要部件。控制器根据不同的指令,产生指令执行过程中所需要的控制信号。(2)控制器计算机组成原理11•保存程序、数据和中间结果的场所•常用的单位和之间的换算关系位—bit字节---Byte1Byte=8bitKB1KB=1024B(需要10根地址线)MB1MB=1024KB(需要20根地址线)GB1GB=1024MB(需要30根地址线)TB1TB=1024GB(需要40根地址线)⑦PB1PB=1024TB(需要50根地址线)(3)内存储器(Memory)计算机组成原理12(4)输入和输出设备•常用的输入设备:键盘、鼠标、扫描仪、磁盘机、磁带机等•常用的输出设备:显示器、打印机、绘图仪、磁盘机、磁带机等•提供人---机接口计算机组成原理13(5)系统总线:计算机内各大部件之间的连接部件计算机组成原理14冯诺依曼计算机的基本体系结构和哈佛结构冯诺依曼体系结构计算机:Intel8086、ARM7、MIPS等。哈佛结构计算机:MotorolaMC68、ZilogZ8、ARM9、ARM10、ARM11等。现代计算机多是Cache采用哈佛结构,主存采用冯诺依曼结构。计算机组成原理15(1)应用软件:为某类具体应用编制的各种程序(2)系统软件:为简化程序设计,方便计算机的使用、提高计算机的使用效率,发挥和扩大计算机的功能及用途而编制的各种程序。•各种服务程序:诊断、排错程序•语言处理程序:汇编、C、编译等•操作系统OS•DBMS2)软件的分类计算机组成原理161)非时间指标(1)机器字长指参与运算的数的基本位数;与运算器、寄存器的位数有关;字长越长,表示数据的范围就越大,计算精确度也越高;目前常见的计算机为32位和64位计算机。2.计算机系统的性能评价计算机组成原理17(2)数据总线宽度指数据总线一次能并行传送的信息位数。a)一般指CPU内部运算器与存储器之间的数据总线。b)有些计算机内部与外部数据总线宽度不一致:8086、80286、80386内外数据总线等宽;8088、80386SX外部总线宽度小于内部总线宽度;Pentium外总线64位,内总线32位(两条32位流水线)计算机组成原理18(3)存储器容量和带宽主存容量是指其包含的存储单元总数.主存可以字节(B)编址、也可以字(W)编址。存储带宽:指单位时间内从存储中读出的二进制信息量,常用单位B/s(字节/秒)表示。计算机组成原理19(1)CPU时间执行一段程序所占用的CPU时间(程序的执行时间除CPU时间外还包括I/O、存储访问、各类排队时延等)。CPU时间=程序中所有指令的时钟周期数之和时钟周期时间=程序中所有指令的时钟周期数之和/时钟频率(回顾汇编语言课程中延时子程序的设计原理)2)时间指标计算机组成原理20(2)CPI(ClockcyclesPerInstruction)执行一条指令所需要的平均时钟周期数CPI=一段程序中所有指令的时钟周期数之和/指令条数=程序中各类指令的CPI程序中该类指令的比例考虑CPI后的CPU时间可表示为:CPU时间=1()niIiICCPI时钟周期时间总指令数ICi表示程序中第i类指令的条数计算机组成原理21(3)MIPS(MillionInstructionsPerSecond)表示每秒钟执行指令的条数(以百万条为单位)MIPS106指令条数执行时间CPU时钟周期总数指令条数106/ffCPI=106MIPS指令条数106程序的执行时间Te=计算机组成原理22(4)MFLOPS(MillionFloating-PointOperationsPerSecond)描述计算机每秒钟执行浮点操作的次数,而不是MIPS所衡量的单位时间内执行的指令条数。MFLOPS=程序中的浮点运算次数/(执行时间106)计算机组成原理23(5)应用举例例1假设一台计算机主频为1GHZ,在其上运行由2105条指令组成的目标代码,程序主要由4类指令组成,他们所占的比例和各自的CPI如下表所示,求程序的CPI和MIPS。指令类型CPI指令混合比例算术和逻辑160%Load/Store218%转移412%Cache缺失访存810%解:CPI=1*60%+2*18%+4*12%+8*10%=2.24MIPS=f/(CPI*106)=1*109/(2.24*106)=446.4计算机组成原理24(6)关于计算机系统的性能评价的思考(1)CPU时间、CPI、MIPS、MFLOPS在评价计算机性能方面的特点和不足?(2)如何科学合理测试计算机系统的综合性能?有哪些常用测试工具?测试结果能否真实反映计算机的实际性能?计算机组成原理253.计算机系统的层次结构不同的级面向不同的用户,采用不同的程序设计方法,使用不同的程序设计工具,得到的目标代码性能也不同。计算机组成原理261)软件和硬件的逻辑等价性2)透明性:本来存在的事物,从某个角度去看却好象不存在。3)计算机分层结构中的透明性:一般机器级的特性(如通用寄存器的数量)对高级语言程序设计者透明微指令的格式对一般机器级程序设计者透明计算机组成原理274.本章小结1)了解计算机的特点、计算机的发展、计算机的应用;2)掌握冯诺依曼体系结构计算机的特点、工作原理;3)熟悉计算机系统的组成及各部分的作用;4)了解计算机的性能指标及其意义,能运用这些指标进行初步的计算机系统性能评价;5)理解计算机系统的层次结构;