如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
计算机组成原理教学课件清华大学2012年12月第1章计算机系统概述为什么要学习计算机组成原理这门课程课程有多难,能不能学好课程教学定位和教学要求这里说的计算机系统(computersystem),是指电子数字通用计算机系统,三个定语各自表明了计算机系统的一个方面的特性。“电子”一词表明使用电子线路(不同于机械、继电器等)来实现计算机硬件的关键逻辑功能;“数字”一词表明使用的电子线路是数字式电路(不同于模拟电路),运算和处理的数据是二进制的离散数据(不同于连续的电压或电流量);“通用”一词表明计算机本身功能多样(并非专用于某种特定功能),具有完成各种运算或数据处理能力。计算机系统由硬件和软件两大部分组成。硬件指由中央处理器、存储器以及外围设备等组成的实际装置,硬件的作用是完成每条指令规定的功能。指令是计算机运行的最小的功能单位,指令是指示计算机硬件执行某种运算、处理功能的命令。软件是为了使用计算机而编写的各种系统的和用户的程序,程序由一个序列的计算机指令组成。指令是用于设计程序的一种计算机语言。一台计算机提供的全部指令构成该计算机的指令系统。指令系统的设计质量关系到厂家和用户的利益。硬、软件系统相互依存,分工互动,缺一不可,如同一个健全人的物质性的肉体和精神性的智力与思维。软件是为了使用计算机而编写的各种系统的和用户的程序,程序由一个序列的计算机指令组成。在计算机系统的6层结构中给出的基本软件包括操作系统和3个级别的计算机语言。操作系统主要完成对系统中的硬、软件资源的管理与调度分配,并向程序设计人员和计算机的操作者提供各种服务。3个级别的语言是机器语言(二进制代码语言)、汇编语言(符号语言)和高级语言(算法语言),使用它们设计程序的难易程度和工作效率差别很大。以计算从1到10的累加和为例,看一看3个级别语言的程序例子,并简单介绍该机器语言程序在计算机内部的执行过程。BASIC程序汇编语言程序机器语言程序(16进制)10sum=02000:subR15,R1501FF20fori=1to10subR1,R1011130sum=sum+imvrdR0,0A8800000A40nextiincR1091050printsumaddR15,R100F160endcmpR1,R00310jrnz200447FCcala0664CE000064ret8F00数据运算部件硬件系统由5个功能部件组成。数据输入设备分担对程序和原始数据的输入功能,数据存储部件分担对程序和数据的存储功能,数据运算部件分担对数据的运算处理功能,结果输出设备分担对运算处理结果的输出功能。控制器部件则是依照每条指令的运行功能的需要,向各个部件或设备提供它们协调运行所需要的控制信号,在整个硬件系统中起到指挥、协调和控制的作用。图中间部位给出的是计算机的3种类型的总线,可以看出,计算机的5个功能部件正是通过这3种类型的总线被有机地连接在一起,从而构成一台完整的、可以协调运行(执行程序)的计算机硬件系统。可以把计算机想象为一个加工处理数据的工厂,则数据运算部件就是数据加工车间,数据存储部件就是存放原材料、半成品和产品的库房,输入设备相当于运入原材料的卡车,输出设备相当于运出最终产品的卡车,控制部件则相当于承担领导指挥功能的厂长和各个职能办公室。在领导的正确指挥下,如果能够源源不断地取得原材料,工厂内又有存放的场所,车间能够对这些原材料进行指定的加工处理,加工后的产品可以畅通地运出去销售,则这个工厂(计算机)就纳入正常运行的轨道。前面说的还只限于硬件,当然号必须有配套的软件系统,例如工厂就需要有管理制度、运营策略等。(1)计算机的字长在计算机系统内部,通常选用多少个二进制位来表示一个数据或一条指令是一个关键技术指标,例如16、32或者64位,这个位数被称为计算机的字长。例如在32位字长的计算机系统中,一个整数、一条指令通常都用32位二进制数表示,叫做一个字,运算器、存储器、数据和地址总线等通常都被设计成32位。字长对计算机的处理能力和运行性能有明显影响,字长较长有利于提高计算机的性能,但需要使用更多的硬件,计算机系统的价格也会高一些。(2)CPU的速度衡量CPU速度,通常有两种方式。第一种方式是使用CPU主频,即每一秒钟提供给CPU的时钟脉冲的个数,通常用赫兹(Hz)表示,例如500MHz。但对不同厂家、不同系列的计算机系统,只用CPU主频来说明其运行速度则未必准确。第二种方式是使用CPU每一秒钟能执行的指令条数,单位是MIPS(millioninstructionspersecond),其计算公式可以通过如下方式推导出来,T=CPI×T_IC×I,这里的T是执行一个程序占用的时间,CPI是执行一条指令平均使用的CPU