560 likes | 901 Views
计算机组成原理. 主讲:关桂霞. http://guanguixia.ie.cnu.edu.cn. 2. 课程的目的和任务. 1. 课程性质 : 硬件主干课程. 以模型机为例介绍计算机的 硬件结构 及其 工作原理 , 适当辐射实用机型;使学生掌握计算机硬件系统中各大部件的组成、工作原理、逻辑实现、设计方法以及互连构成整机的技术。. …. SOPC. (由此开始). 单台整机的硬件组成及内部运行机制. 单片机 …. 系统结构 网络 …. 计算机组成原理 …. 数字逻辑电路 汇编语言 …. 模电 离散数学 数理逻辑 ….
E N D
计算机组成原理 主讲:关桂霞 http://guanguixia.ie.cnu.edu.cn
2.课程的目的和任务 1.课程性质:硬件主干课程 以模型机为例介绍计算机的硬件结构及其工作原理,适当辐射实用机型;使学生掌握计算机硬件系统中各大部件的组成、工作原理、逻辑实现、设计方法以及互连构成整机的技术。
… . SOPC (由此开始) 单台整机的硬件组成及内部运行机制 单片机… 系统结构 网络… 计算机组成原理… 数字逻辑电路 汇编语言 … 模电 离散数学 数理逻辑 … 高数 英语 物理 计算机文化基础… 3.“组成原理”在硬件学科体系中的地位 计算机专业课 计算机专业基础课 电类专业基础课
4.教学内容 “计算机组成原理”课程的教学大纲规定: 讲解单台计算机的完整硬件系统的基本组成原理与内部运行机制 。 单台:非多机系统,非多处理器结构。 完整:计算机整机,全部的硬件功能部件。 基本:不一定是最高性能,最合理的组成,而是 最基础的必要的组成部分。
1.一般用户观察到的计算机硬件系统 电源 导线和电缆 硬盘 软驱 内存 微处理器(CPU) 扩展槽 扩展卡 主板
2. 专业用户观察到的计算机硬件系统 CPU插座 PCI总线插槽 内存条
个人计算机由主机和外设组成 每个电路板中有十几个集成电路 主机中包含多个电路板 每个集成电路中有十几个模块 每个门电路实现基本的逻辑运算 每个模块中有上千万个单元 所有信息都用二进制编码表示 每个单元中有十几个门电路 进一步解剖计算机
教学内容以计算机硬件知识为主,并按计算机组成,把课程分为如下四个单元:教学内容以计算机硬件知识为主,并按计算机组成,把课程分为如下四个单元: 第一单元:以运算器的功能、组成与设计为主进行讲解,其中数字化编码、数据表示和数值数据的运算方法为本单元的基础知识,运算器部件是目标。 第二单元:以多级存储器的组成与运行原理、设计与实现方法为主进行讲解,包括主存储器、高速缓冲存储器、外存储器三部分,它们所用的存储介质的特性和部件运行原理是本单元的基础知识,三种存储器部件是目标。
第三单元:以控制器的功能、组成与设计为主进行讲解,其中的指令系统、指令格式、寻址方式等为本单元的基础知识,控制器部件是目标。第三单元:以控制器的功能、组成与设计为主进行讲解,其中的指令系统、指令格式、寻址方式等为本单元的基础知识,控制器部件是目标。 第四单元:围绕常用的输入/输出方式,包括中断方式和DMA 方式,几种常用的输入/输出设备的功能与组成,通用输入/输出接口与总线的构成和使用方法进行讲解。
5.与其它课程的关系 前导课程:数字逻辑电路 汇编语言程序设计 后续课程:微机原理与接口、操作系统、 系 统结构、单片机、 计算机网络、 嵌入式系统、SOPC(片上系统)
6.实验教学 为了更好地贯彻理论联系实际要求,也为了更好地培养学生的实验动手能力和创新意识,实验室配置了16位字长、硬软件配置比较合理的教学计算机系统,既为讲课提供了实例内容,又为教学实验提供了实验设备, 这是课程教学改革的重要举措。 此外,希望在整个教学过程中,大家对理论联系实际,增强工程观点,培养动手能力和增强创新意识等一些问题,有更深切的体会,要有意识地加强在这些方面的锻炼与提高。
序 号 实 验 项 目 学时安排 实验一 教学机认识实验 2学时 实验二 运算器实验1 2学时 实验三 运算器实验2 2学时 实验四 半导体存储器扩展实验 2学时 实验五 教学机的汇编程序实验 2学时 实验六 控制器实验 2学时 实验学时安排
7.教学参考书 • 《计算机组成原理》 • 唐朔飞编著,高等教育出版社 • 《计算机组成与结构》 • 王爱英主编, 清华大学出版社 • 《计算机组成原理》 • 王 诚主编,清华大学出版社
8.教学环节与成绩评定 ①教学环节:是传授与接收理论知识的主渠道,要求尽量不缺课,课堂上不彼此说话。考试成绩占70分。 ②课外作业:每一单元有一定数量的作业,是帮助理解和熟练掌握课堂教学内容的重要环节,应独立认真完成 。作业成绩占10分。 ③课堂表现:可以更好地启发学生思考,提高学生的合作与参与意识,从而提高教学效率。课堂表现成绩占20分。 ④学生自学:是学生学习的重要环节,应提倡鼓励。
第1章 绪 论 • 计算机系统的基本组成 • 计算机系统的层次结构 • 计算机的工作过程 • 计算机的主要性能指标
一、计算机系统的组成 硬件系统和软件系统
1.计算机的硬件组成 ENIAC= Electronic Numerical Integrator and Computer(电子数字积分机和计算机) 这一庞然大物装有18,000个电子管,总重量达30吨,耗资近50万美元,不过它还没有引入CPU的概念。 • 现代计算机的结构基础:“存储程序控制”
输 入 设 备 输 出 设 备 存储器 运算器ALU 控制器 CPU 诺依曼计算机的工作原理可概述为: • “存储程序”+ “程序控制” • 要点: • 1. 五大部件; • 2.以二进制表示数据和指令(程序); • 3. 存储程序,顺序执行。
运算器部件是计算机中进行数据加工的部件,其主要功能包括:运算器部件是计算机中进行数据加工的部件,其主要功能包括: 1.执行数值数据的算术加减乘除等运算; 执行逻辑数据的与或非等逻辑运算; 由一个被称为 ALU 的部件完成。 2.暂时存放参加运算的数据和中间结果; 由多个通用寄存器来承担。 3.运算器通常也是数据传输的通路 。 计算机硬件系统组成(1) 运 算 器
控制器是计算机中控制执行指令的部件: 一、正确执行每条指令 1.首先是取来一条指令; 2.接着分析这条指令; 3.再按指令格式和功能执行这条指令。 二、保证指令按规定序列自动连续地执行。 三、对各种异常情况和请求及时响应和处理。 说到底,控制器要向计算机各功能部件提供每一时刻协同运行所需要的控制信号 计算机硬件系统组成(2) 控 制 器 运 算 器
由高速缓冲存储器、主存储器、外 存储器所组成的多级(层)存储器系统, 是计算机中用于存储程序和数据的系统。 这三级存储器各自的功能分工、所用的 存储介质的工作原理和特性各不相同。 将作为三个部分分别讲解。 计算机硬件系统组成(3) 控 制 器 运 算 器 高速缓存 主存储器 外存设备
输入设备是向计算机中送入程序和数据的有一定独立功能的设备,通过接口 和 总线与计算机主机连通,用于人机交互联系,如计算机键盘和鼠标等。 计算机硬件系统组成(4) 控 制 器 运 算 器 高速缓存 输入设备 主存储器 外存设备
输出设备是计算机中用于送出计算机内部信息的设备,例如打印机、 显示器等。 计算机硬件系统组成(5) 控 制 器 运 算 器 高速缓存 输入设备 主存储器 输出设备 外存设备
输入输出接口 总 线 计算机硬件系统组成(6) 运 算 器 控 制 器 高速缓存 输入设备 主存储器 输出设备 外存设备 这些部件和设备通过总线和接口连接在一起, 构成计算机整机系统,协同运行。
总线的基本概念 总线是连接各个部件的信息传输线,是各个部件共享的传输介质。 串行 并行
单总线(系统总线) I/O接口 I/O接口 … I/O接口 CPU 主存 I/O 设备1 I/O 设备2 I/O 设备n … 单总线结构容易产生信息传输的瓶颈,因此现在的计算机系统大多采用多总线结构。 单总线结构框图
I/O总线 M 总 线 I/O接口 I/O接口 … I/O接口 主存 I/O 设备1 I/O 设备2 I/O 设备n … 中央处理器 CPU 面向 CPU 的双总线结构框图
系统总线 I/O接口 … I/O接口 CPU 存储总线 I/O 设备1 I/O 设备n … 主存 以存储器为中心的双总线结构框图
三态门:具有三种逻辑状态的门电路。 1、“0”状态 2、“1”状态 3、 浮空状态(高阻) 总线电路控制
操作系统 汇编程序 高级语言编译程序 系统诊断、调试检测程序 数据库管理程序等 系统软件 应用软件 软件组成 用各种语言编写的应用程序 各种应用软件包 2.计算机软件的组成
二、计算机系统的层次结构 这里从计算机设计者、应用者以及计算机语言的角度,把计算机系统按功能划分成多级层次结构。
软件 用户 硬件 计算机硬件、软件和用户的关系
计算机 语言 为了更好地研究和设计计算机,我们可以从计算机编程语言出发把其看成是按功能划分的多级层次结构。 10001000 0000 0000 00000000 0001 0010 10001000 0001 0000 00000000 0011 0100 000000000000 0001 00000111 0101 0000 机器语言:由0和1按一定规则排列组成的一个指令集;它是计算机唯一能识别和执行的语言。 汇编语言:用助记符来表示机器指令中的操作码和操作数的指令系统 。 mvrd r0, 12 mvrd r1, 34 add r0, r1 mvrr r5,r0 Main () { int a, b, sum; a=123; b=456; sum=a+b } 高级语言:一种更接近于人类自然语言和数学语言的语言,用高级语言编写程序可以大大减少编程人员的劳动,因此它也具有较好的可移植性。
操作系统 虚拟机器 计算机系统的层次结构 每一级都能进行程序设计,且得到下面各级的支持。 高级语言 虚拟机器 M3 汇编语言 虚拟机器 M2 机器语言 实际机器 M1 微指令系统 微程序机器 M0
虚拟机器 M4 虚拟机器 M3 软 件 虚拟机器 M2 硬 件 实际机器 M1 微程序机器 M0 temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; 用编译程序翻译 成汇编语言程序 用汇编程序翻译 成机器语言程序 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) 用机器语言解释操作系统 用微指令解释机器指令 1000 1100 0100 1111 0000 0000 0000 0000 1000 1100 0101 0000 0000 0000 0000 0100 1010 1100 0101 0000 0000 0000 0000 0000 1010 1100 0100 1111 0000 0000 0000 0100 由硬件直接执行微指令 … , EXTop=1,ALUSelA=1,ALUSelB=11,ALUop=add, IorD=1,Read,MemtoReg=1,RegWr=1,......
举例:将编制好的程序放在主存中,由控制器控制逐条取出指令执行,以计算a+b-c=?为例加以说明。举例:将编制好的程序放在主存中,由控制器控制逐条取出指令执行,以计算a+b-c=?为例加以说明。 设a、b、c为已知的3个数,分别存放在主存的5~7号单元中,结果将存放在主存的8号单元。 三、计算机的工作过程
数据总线 主存 000 LOAD 005 001 ADD 006 002 SUB 007 ALU 003 STORE 008 004 HALT 累加器 005 a 006 b 007 c 008 存储器数据寄存器
数据总线 主存 000 LOAD 005 001 ADD 006 002 SUB 007 ALU 003 STORE 008 004 HALT 累加器 005 a 006 b 007 c 008 取数指令 存储器数据寄存器 LOAD 005 a a a
数据总线 主存 000 LOAD 005 001 ADD 006 002 SUB 007 ALU 003 STORE 008 004 HALT 累加器 005 a 006 b 007 c 008 加法指令 存储器数据寄存器 LOAD 005 ADD 006 a+b a a b b a
数据总线 主存 000 LOAD 005 LOAD 005 001 ADD 006 ADD 006 002 SUB 007 ALU 003 STORE 008 004 HALT 累加器 005 a a+b a 006 b b 007 c 008 减法指令 存储器数据寄存器 b SUB 007 a+b-c c c
数据总线 主存 000 LOAD 005 LOAD 005 001 ADD 006 ADD 006 002 SUB 007 SUB 007 ALU 003 STORE 008 004 HALT 累加器 005 a a+b-c a+b a 006 b b 007 c c 008 存数指令 存储器数据寄存器 b c STORE 008 a+b-c a+b-c a+b-c
数据总线 主存 000 LOAD 005 LOAD 005 001 ADD 006 ADD 006 002 SUB 007 SUB 007 ALU 003 STORE 008 004 HALT 累加器 005 a a+b-c a+b a 006 b b 007 c c 008 停机指令 存储器数据寄存器 b c STORE 008 HALT a+b-c a+b-c a+b-c
四、主要技术指标 机器字长 运算速度 存储容量
1. 机器字长 指计算机一次能并行运算的二进制的位数。 ALU的运算位数 寄存器的位数 内部数据总线的位数 字长越长,表示机器运算精度和处理能力越强。字长从8位、16位、32位、64位发展过来的。
2. 运算速度 方法1:采用单位时间内执行指令的平均条数、 并以MIPS作为计量单位来衡量。 (Million of Instruction Per Second) MIPS — 每秒执行多少百万条指令 例如: 3 MIPS表示每秒执行300万条指令。 0.6 MIPS表示每秒执行 60万条指令。 MFLOPS、 CPI
由于各种指令执行时间不同,例如: 某计算机的统计结果为 1 ×109 V= 0.3×200+0.2 ×400+0.1 ×2500+0.2 ×300 +0.2 ×250 =2 ×106条=2MIPS平均每秒能执行200万条机器指令
方法2:CPU内部的工作频率。主频越高, 芯片内的运行速度也越快!对于 结构相同的计算机在相同时间内 执行更多的指令。 例如: Pentium Ⅲ 450MHz ~1.2 GHz Pentium Ⅳ 1.4GHz、1.7GHz、 2.0GHz、2.4GHz、3.06GHz