1计算机基础知识及性能评价.ppt_第1页
1计算机基础知识及性能评价.ppt_第2页
1计算机基础知识及性能评价.ppt_第3页
1计算机基础知识及性能评价.ppt_第4页
1计算机基础知识及性能评价.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 1 章计算机基础知识及性能评价,本章主要内容,计算机系统概述 计算机系统组成(硬件/软件) 计算机发展简史 计算机指令结构 CISC和RISC 计算机的技术指标(一些基本单位的意义) 计算机的基本结构 RISC CPU的基本结构 多线程CPU和多核CPU 存储层次和虚拟存储器管理 I/O接口和总线 如何提高计算机的性能 计算机性能评价 踪迹驱动模拟和执行驱动模拟 高性能计算机和互联网络 硬件描述语言,数字计算机与模拟计算机,通常所说的计算机实际上是指电子数字计算机。 “电子”指计算机的基本元件是电子元件。 “数字”指计算机内部电路是数字电路。 计算机内部数据以数字量(二进制数)形式存在。

2、数字量(离散量)是不连续的,到了最小量后不可再分解。 模拟量是连续的,电子模拟计算机以电压值的大小表示数值。,数字电路与模拟电路比较,具有如下优点: 电路简单 抗干扰能力强、可靠性高 状态转换快,1.1 计算机系统概述,1.1.1 计算机系统的组成 大家都知道计算机内部有CPU(Central Processing Unit),存储器(Memory)和一些连接键盘、显示器等的I/O接口(Input/Output Interface)。 包含了以上三种部件的芯片或电路板就称为单片机或计算机(主机)。 光有上面的这些部件,我们还不能直接使用这个计算机。 因为没有I/O设备(Input/Output

3、 Device)和计算机软件(Software)。,最基本的软件是操作系统(OSOperating System)。它负责管理计算机系统的所有资源,为用户使用计算机提供一个界面。 最常用的操作系统是MS-DOS和Linux核(Kernel)。 Windows、Fedora和CentOS等可被认为是在基本操作系统上开发的高级图形界面。 软件是在计算机硬件的基础上,根据一些算法而编制的程序和文档。,算法是指任何有目的、有计划的行为,根据一些基本操作按一定顺序进行操作的序列。 是程序的核心。 计算机系统一般配有一些软件,如: 编辑器(Editor),编译器(Complier)和汇编器(Assembl

4、er),软件调试器(Debugger)。 常用的实用程序库(Utilities)。 其他的软件可以统称为应用程序(Applications)。,软件的开发过程 选用一种高级语言(或汇编语言),用一个编辑器来编写程序,并存入硬盘。 用编译器或汇编器把它转换成目标码(CPU可执行的二进制的机器码),仍然存放在硬盘上。 通过操作系统执行它,看是否能工作,得到预期的结果。 若得不到预期的结果,可用调试器来跟踪程序的执行,找出错误所在。 一个成熟的软件要经过成百上千次调试才能趋于完善。,常用的I/O设备有键盘、鼠标、显示器、硬盘、打印机、扫描仪、摄像头、扬声器、话筒、光驱和U盘。 把计算机(CPU)和I

5、/O设备统称为硬件(Hardware)。 硬件是计算机物理设备的总称,是实实在在的东西。 物理构成 由各种电子器件、印刷线路板等构成的各种计算机插件,机架、电源、散热系统以及各种功能的外部设备等所组成的复杂系统。 逻辑功能 由中央处理机、存储器、外部设备和它们之间的信息连线、接口所组成。,计算机系统,计算机,处理器(CPU),存储器,I/O接口,I/O设备,键盘、鼠标、显示器、硬盘、打印机,摄像头、扬声器、话筒、U盘、光驱,扫描仪、磁带机,软件,操作系统、编译器、汇编器、连接器,实用程序,应用程序,电源,计算机系统组成,总结:计算机系统由硬件和软件构成。 目前硬件功能简单,软件功能复杂的原因:

6、 可行性。过于复杂的硬件设计有可能实现不了。 成本。计算机的售价必须控制在市场能够接收的范围之内。 增强适应性。同样的祼机安装不同的软件就变成了功能各异的虚拟机。,1.1.2 计算机发展简史,特征: 采用电子管作为逻辑元件; 用阴极射线管或声汞延迟线作主存储器; 数据表示主要是定点数表示; 采用机器语言或汇编语言编写程序。 主要是为军事和国防尖端技术而研制计算机。,第一代计算机(1946年-1954年),第二代计算机(1955年-1964年),特征: 用晶体管代替电子管; 用铁淦氧磁芯和磁盘作主存; 引入变址寄存器和浮点运算部件; 利用I/O处理机提高输入输出操作能力等。 引入了高级语言(如F

7、ortran等)进行程序设计; 建立了子程序库和批处理管理程序。 计算机除在军事和国防尖端技术上应用外,还用于气象、工程设计、数据处理以及其它科学研究等领域。,第三代计算机(1965年-1974年),特征 用中小规模集成电路IC代替了分离晶体管, 用半导体存储器逐渐代替铁淦氧磁芯存储器; 广泛使用微程序技术简化处理机设计、提高了处理机的灵活性; 引进了多道程序、并行处理等新技术。 在软件方面,操作系统的成熟及其功能的日益强大是第三代计算机的显著特点; 多处理机、虚拟存储器系统以及面向各种用户的应用软件的发展,丰富了计算机的软件资源。,为了充分利用已有的软件资源,解决软件兼容问题而发展了多种系列

8、机。所谓通用化、标准化、系列化已成为计算机设计的指导思想。 通用化:指令系统丰富,兼顾科学计算、数据处理、实时控制三个方面。 系列化:指各档次的机器采用相同的系统结构,从而保持程序兼容。 即在指令系统、数据格式、字符编码、中断系统、控制方式、输入/输出操作方式等方面保持一致。 程序兼容是指在一种型号上运行的程序可以不加修改地在其它型号计算机上运行,只是执行时间不同而已。,标准化:采用标准构件,通过积木方式来构造计算机系统。即DIY的思想。 在计算机的另一个发展方向是大量生产低成本的小型计算机。 最典型的例子是DEC公司的PDP11系列机,由于它的成本低、性能好,适用范围广,在计算机的推广普及方

9、面起了巨大的作用。,第四代计算机(1975年以后),特征: 以大规模集成电路LSI和超大规模集成电路LSI为计算机主要功能部件; 用集成度高的半导体存储单元作主存储器; 在系统结构方面发展并行处理技术、多机系统、分布式计算机系统和计算机网络以及非冯.诺依曼结构计算机等。 在软件方面发展分布式计算机操作系统、数据库和知识库、高效可靠的高级语言以及软件工程标准化等,并逐步形成软件产业部门。,第四代计算机另一重要分支是微处理器和微型计算机。 1971年Intel公司研制成功的微处理器4004,之后又研制成8080。目前市场上已有16位、32位和64位微型计算机。 微型计算机体积小、功耗低、成本低,其

10、性能价格比优于其它类型的计算机。,计算机发展促进了人工智能的发展,提出了智能计算机的概念。一般要求智能计算机具有下列功能: 智能接口功能 能自动识别自然语言(文字、语音)和图形、图象(视觉)能力。 理解和推理功能 要求能根据计算机内存储的信息(知识)进行推理,具有问题求解和学习功能。 知识库管理功能 要求能完成知识获取、知识检索和知识更新等功能。 另一个问题是软件的保护。,1.1.3 计算机指令结构,CPU能执行的实际上是它能理解的指令(Instruction)。 不同的CPU有不同的指令系统,它们的格式以及二进制位的表示也是不同的。 指令格式如下:,操作码部分指定该指令要完成什么样的操作。

11、地址码部分可以是立即数、寄存器号、存储器地址或者它们的结合。作用是给出如何得到操作数以及把指令的操作结果存到什么地方等信息。,立即数是直接参与运算的数据(常量,运行过程中不允许变化),在指令中给出。 立即数的二进制位数从832位不等。 CPU中有多个寄存器,它们能够保存数据(可以变化变量),且速度非常快。 一般8256个不等。 存储器的地址(二进制数)一般是32位。有些CPU直接在指令中 给出,有些是通过寄存器的内容与立即数相加得到。 存储器数据也是变量,常量也可以放到存储器中。,C语言语句的类型 分支语句(if,switch)、循环(for,while,do-while)、顺序(赋值等)。

12、指令种类 整数算术运算和逻辑运算 寄存器与存储器之间的数据传送 条件与无条件转移 子程序调用与返回 浮点运算 I/O访问 系统维护,如系统调用和从中断返回等。,下面用C语言编写一个乘法的函数mull16,要求用加法和移位操作实现两个16位无符号数相乘,结果为32位无符号数。下面以4位为例来说明算法。,a=1011 b=1101 c=0 a*b 1011 1101 1011 0000 1011 1011 10001111,c=c+1*a a=a1 c=c+0*a a=a1 c=c+1*a a=a1 c=c+1*a,unsigned int mull16(unsigned int x,unsign

13、ed int y) unsigned int a,b,c,i; a=x;b=y;c=0; for(i=0;i1; /shift a 1-bit right return c; ,如果CPU为X86结构,经过VC6.0编译后生成如下的X86程序。 debugrun to cursordisassebly。 从程序中的一条指令add ecx,dword ptr ebp-4可以看出,X86的指令具有双操作数的结构。其中一个是通用寄存器ecx(源/目的寄存器),另一个是内存地址ptr ebp-4 (源操作数地址)。,12: unsigned int mull16(unsigned int x,unsi

14、gned int y) 13: 00401090 push ebp 00401091 mov ebp,esp 00401093 sub esp,50h 00401096 push ebx 00401097 push esi 00401098 push edi 00401099 lea edi,ebp-50h 0040109C mov ecx,14h 004010A1 mov eax,0CCCCCCCCh 004010A6 rep stos dword ptr edi 14: unsigned int a,b,c,i; 15: a=x;b=y;c=0; 004010A8 mov eax,dwor

15、d ptr ebp+8 004010AB mov dword ptr ebp-4,eax 004010AE mov ecx,dword ptr ebp+0Ch 004010B1 mov dword ptr ebp-8,ecx 004010B4 mov dword ptr ebp-0Ch,0 16: for(i=0;i16;i+) 004010BB mov dword ptr ebp-10h,0 004010C2 jmp mull16+3Dh (004010cd) 004010C4 mov edx,dword ptr ebp-10h 004010C7 add edx,1 004010CA mov

16、 dword ptr ebp-10h,edx 004010CD cmp dword ptr ebp-10h,10h 004010D1 jae mull16+69h (004010f9),17: if(b 004010F9 mov eax,dword ptr ebp-0Ch 23: 004010FC pop edi 004010FD pop esi 004010FE pop ebx 004010FF mov esp,ebp 00401101 pop ebp 00401102 ret,编译成MIPS机器的汇编程序,可以看出,该机器的指令具有三个操作数的结构,其中二个为源操作数,另一个为目的操作数。

17、 还有一个地址的指令,也有0个地址的指令。具体情况在以后介绍。,下表以add指令为例进行总结,其中x,y,z既可以是存储器地址,也可以是寄存器编号。,表 以操作数个数对指令进行分类,所有的指令均用二进制表示。每条指令所用的二进制位数 不等,在此不一一列出。不同机器的指令的复杂程度也不一样。 见(P6-7),1.1.4 CISC和RISC,随着集成电路制造工艺的进步,计算机硬件成本不断下降,软件成本不断上升,促使人们在指令系统中增加指令条数和指令的复杂度,给软件提供了更多的支持,这就形成了CISC计算机。 CISC是对那些具有复杂指令系统的CPU的总称。有2层意思: 一条指令能完成复杂的操作,如

18、从存储器取来数据、计算、再把结果存入存储器中。 指令格式不规范,操作码及整个指令的长度不统一。 CISC指令系统试图提供与某些高级语言的语句相对应的指令,使一条指令能完成尽可能多的操作。如: 计数器减1,如果计数器不为0则跳转。 为提高数组元素计算效率,一条指令可以完成多个操作,如相加,访存,修改等。,CISC指令系统往往会提供丰富的寻址方式(Addressing Modes)。 是不是CISC所有的指令都是复杂指令呢?NO。 编译器能否有效地使用这些复杂的指令呢?NO。 CISC在当时的优点是代码紧凑,使用较少的存储器。缺点是实现复杂的指令需要较多的芯片面积且不利于流水线操作。,精简指令系统

19、计算机(RISC),20世纪70年代,工程技术人员对CISC计算机进行测试。测试结果表明,仅占指令总数的20%的简单指令在程序中出现的概率高达80%;而功能复杂的指令在程序中出现的概率却很低,实现这些指令的成本却很高。 由此产生了精简指令计算机的想法。,RISC指令系统的特点: 指令长度固定。它有利于流水线CPU设计。 所谓的Load/Store结构,即一条Load指令把存储器的数据读取到寄存器中,一条Store指令把寄存器的数据写(存)到存储器中。 运算指令的操作数都在寄存器中。 RISC是否已经取代了CISC呢?NO! CISC(如X86)有大量的软件资源可以继承,而RISC没有。 RIS

20、C和CISC在竞争中相互借鉴、取长补短。,CISC和RISC总结,RISC计算机与CISC计算机相比的特点: 减指令总数,优先选用使用频率高的简单指令。 指令长度固定,指令种类较少。 寻址方式种类少。 只有取数和存数指令需要访问主存,其他指令的操作都在寄存器之间进行,因此大部分指令都可以在一个周期内完成。 处理器中设置大量的通用寄存器。 为提高指令执行速度,采用流水线技术和硬连线控制逻辑。 采用优化编译技术对高级语言程序进行编译,减少程序的执行时间。,说明: I 代表对于同一个高级语言程序编译后产生的机器指令条数。 T 是一个机器周期。 CPI是每条指令实际的机器周期数。,1.1.5 计算机的

21、主要指标,1、运算速度 主频是指CPU的时钟频率。设时钟频率为f,时钟周期为T,则 f=1/T 目前CPU的时钟频率在3GHz左右。 计算机速度是指在单位时间内执行指令的平均条数或执行的平均操作结果数。单位为MIPS(百万条/秒)。 计算机的速度主要受限于电信号传输延迟和门电路延迟时间以及计算机系统结构等因素。,指令的平均执行时间Tm=(每种指令在程序中出现的概率*该指令周期) 平均运算速度Vm=1/Tm 例如:假设某机器系统按指令周期长短分为5种,t1=10ns,t2=12ns,t3=15ns,t4=18ns,t5=20ns。这5种指令在程序中出现的概率分别是f1=0.2,f2=0.14,f

22、3=0.4,f4=0.16,f5=0.1,计算出平均运算速度是多少MIPS? Tm=10*0.2+12*0.14+15*0.4+18*0.16+20*0.1=14.56ns Vm=1/Tm=1/14.56=68.68MIPS,2、字长(机器字长) 计算机的字长是指CPU能同时处理的二进制数的位数。 字长越长计算机处理数据的精度越高,所需的硬件资源越多。目前字长有8、16、32、64位等。,3、存储器 存储器指标分为存储容量和存取速度。 (1)存储容量 存储容量是指计算机能够存储二进制信息的数量,一般以位、字节和字为单位。 通常,容量越大,存储的信息越多,运行速度越快。 由于性能与价格等多种原因

23、,计算机存储系统也是一个多级层次存储结构,如高速缓存、主存、辅存等。 主存由半导体存储元件构成,其容量受价格限制。 辅存由磁盘、磁带机构成,其速度慢、价格低,容量大。,(2)存取速度 主存存取速度是用存储周期来衡量,硬/光盘的存取速度衡量标准之一是转速。 存取周期是指连续启动两次独立的存储器操作所需要的最小间隔时间。存取周期一般为10ns左右。 硬/光盘速度是用硬盘的转速表示。目前硬盘的转速为450015000r/s(转/秒)。,现在来看一下上面提到的CPU频率如3GHz与存储器容量如16GB中G的是否一样? 3GHz中的G=109 16GB中的G=230 下表列出了一些基本单位的意义。,计算

24、机特点,运算速度快 运算精度高 记忆能力强 具有逻辑推理和判断能力 自动化程度高,使用方便 通用性强 兼容性好 可维护性好-平均修复时间 可靠性高-平均无故障时间,1.2 计算机的基本结构,从第一台计算机问世算起,到现在有六十多年时间,发展速度相当快。 提出电子计算机的原因:战争急需快速而准确地解决弹道计算问题。 1943年在宾夕伐尼亚大学开始研制,到1946年宣布完成。它重达30吨,用了18000个电子管,耗电100千瓦以上。 同时冯诺依曼(Von Neumann)领导莫尔小组研制EDVAC计算机,采用了存储程序方案,其后的计算机都采用这种模式,称为冯诺依曼计算机。,冯诺依曼机型的基本特点:

25、 计算机由运算器、控制器、存储器、输入设备、输出设备组成。 采用存储程序的方式,程序和数据存放在同一个存储器中,指令和数据一样可以送到运算器运算(程序可以修改) 。 指令和数据用二进制码表示。 指令由操作码和地址码组成。 指令在存储器中按顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的单元地址,一般按顺序递增,也可按运算结果或外界条件而改变。 机器以运算器为中心,输入输出设备与存储器间的数据传送都通过运算器。,现在的CPU和(微)处理机(器)也不加以区分,它们基本上是同一个概念。它们集成有Cache(一种小容量高速度的存储器)和TLB(一种用于地址转换的缓冲区)。,1.2.1

26、RISC CPU的基本结构,CPU负责执行指令。下图是简化了的单周期的RISC CPU的结构图。,说明,指令从指令存储器中读出,其地址由程序计数器PC(Program Counter)提供。 小三角形处接时钟信号。 寄存器堆(Register File)里有许多寄存器,存放的是数据。 ALU(Arithmetic Logic Unit)负责计算,2个数据可以全部来自寄存器堆,其中一个也可以来自指令中的立即数。 多路器(Mutiplexer)从多个输入中选择一个送出。 计算结果存入寄存器堆。,如果是Load指令,则ALU的输出作为地址使用,访问数据存储器,把从数据存储器中读出的数据存入寄存器堆。

27、 如果是Store指令,把寄存器的内容存入数据存储器。 Load/ Store指令执行时必须知道存储器地址。 如果是条件转移指令,则要根据ALU输出的标志位来判断是否转移,转移地址由当前PC和带符号的立即数(偏移量)相加得到。 不转移时,PC要加“1”条指令的长度(单位为字节)。,单周期CPU是指一条指令的所有操作全部完成后,才开始下一条指令的执行。 流水线CPU是把一条的执行过程分成若干个阶段(级- Stage),使得多条指令能重复执行。如下图所示。,图中有流水线有5级: 取指令IF(Instruction Fetch)级。 指令译码ID(Instruction Decode)级。 执行EX

28、E(Execution)级。 存储器访问MEM(Memory Access)级。 结果写回WB(Write Back)级。 级与级之间设置有流水线寄存器,用来保存中间结果。 一级占用一个周期。 这样的流水线CPU能同时执行5条指令,每条指令处在不同的级,从而增加指令的呑吐率。,现在的CPU芯片中都集成有指令Cache和数据Cache,如下图所示。,1.2.2 多线程CPU和多核CPU,为了提高计算机的性能,又采用了以下技术。 超标量(Superscalar)CPU试图在一个周期取出多条指令并执行。但由于指令的相关性,即一条指令使用前一条指令的结果,超标量CPU的性能提升了大约20%。为了得到这

29、种性能的提升,需要增加大量的硬件。 多线程(Multithreading)CPU试图并执行多个线程。 一个线程就是一段能够独立执行的程序,再加上执行所需的环境。,一个简化的能够同时执行4个线程的多线程CPU的结构如下图所示。,说明 PC程序计数器 RF寄存器堆 FU功能部件,如ALU和FLU。 无名字的是流水线寄存器,用来保存中间运算结果。,多线程CPU的特点是所有线程共享功能部件和Cache,这有利于提高这些部件的使用效率,但增加了硬件设计的复杂度。 多核(Multi-Core)CPU是在一个芯片中集成多个核(Core)。一个核相当于一个普通的CPU。 一个简化的4核CPU的结构如下图所示。

30、,与多线程相比,多核CPU具有设计简单的优点,但功能部件的利用效率没有多线程高。 多核中的每个核又可以是一个多线程CPU,即多核多线程CPU或多线程多核CPU。 一般地讲,多核CPU中每个核都可以独立工作。这样的CPU可以实现多指令流多数据流MIMD功能。当然还有实现单指令流多数据流SIMD功能的CPU。,1.2.3 存储层次和虚拟存储器管理,主存是用来暂时存放正在执行的程序的地方。 程序包含指令和数据。 CPU从存储器读出指令,对数据进行计算(处理)。 由于主存的速度比CPU慢,因此在CPU片内集成有小容量的高速存储器Cache。,片/外内是指在CPU芯片之内/外。,分开的指令Cache和数

31、据Cache,指令和数据共享Cache,寄存器堆速度最快,只存放数据,有一个重要的工作:与主存一起,为用户提供一个较大空间的虚拟存储空间(虚拟存储器),1.2.4 I/O接口和总线,CPU通过I/O接口来访问I/O设备的。 一个计算机系统中有很多I/O设备,因此在系统中往往设置有总线(BUS)。所有的I/O设备通过I/O接口连接到总线上,如下图所示。 工作过程 当I/O设备准备好要与CPU通信时,可以通过I/O接口向CPU发出中断请求。 CPU收到请求后,暂停当前程序的执行,转去执行中断处理程序。 在中断处理程序中,CPU可以使用指令来读写I/O数据,然后返回到被暂停的程序继续执行。,读写I/

32、O数据的依CPU的不同而不同。 在使用存储器映像的I/O空间的情况下,CPU可以用和访问存储器相同的Load/Store指令来读写I/O数据。即存储器与I/O空间合在一起编址,称为统一编址。 如果使用与存储器分开的I/O空间(编址),则必须要有专门的I/O指令。即独立编址。,1.3 如何提高计算机的性能,1、改进集成电路的工艺,减小线宽,增加晶体管数量以及提高CPU的频率(贡献大)。 2、改进体系结构,减少一条指令执行所需的平均的时钟周期的数量(还需要努力)。,1.3.1 计算机性能和性能评价,单从时间角度观察性能,同样一个程序,计算机执行的时间越短,它的性能越好。 计算公式如下 T=I*CPI*TPC I (Instructions)是被执行的指令的总数。 CPI (Cycles Per Instructions)是每条指令执行时所需要的平均的时钟周期

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论