目录
2. 控制器控制指令的执行,根据指令功能给出实现指令功能所需的控制信号
CPI(Clock cycles Per Instruction)
MIPS(Million Instructions Per Second)
MFLOPS(Million Floating-Point Operations Per Second)
例1.1 某程序的目标代码主要由4类指令组成,它们在程序中所占的比例和各自的CPI如下表所示,试回答下列问题:(1)求该程序的CPI;(2) 若该CPU的主頻为400MHz,求该机的MIPS。
1.1计算机系统发展
国外电子健算计发展历程:
速度越来越快,体积越来越小,成本越来越低,功耗越来越低
摩尔定理:
当价格不变时,集成电路上可容纳的晶体管数量大约18~24个月翻一番,性能也将提升一倍。主要意义在于:
1. 单个芯片集成度提高后,其成本变化不大,因此总成本明显下降;
2. 高集成度的芯片中,电路间的距离更近,连线更短,工作速度可以更高;
3. 增加了芯片内部的连线,从而减少了外部连线,可靠性得以提高;
4. 计算机体积越来越小,减少了电能的消耗,适应性更好。
计算机发展规律:
集成电路生产的三大环节
IC设计:逻辑设计和规则制定,根据设计图制作掩模
IC制造:将电路图从掩模转移至晶圆,实现预定芯片功能。
- 光刻:最复杂、最关键的工艺。
- 光刻的最小线条尺寸是其发展水平的重要标志
IC封测:完成对芯片的封装和性能、功能的测试
提高晶体管开关响应速度,减少漏电流。
我国计算机发展概况
1. 起步于20世纪50年代,1958年研究出第一台计算机103型通用计算机。
2. 60-70年代相继研制出了晶体管通用计算机和小规模集成电路通用计算机。
3. 80年代研制出了运算每秒 1亿次的"银河- I"巨型机。
4. 1985年6月,中国第一台自行研制的微机长城0520研制成功。
5. 1992年,国防科技大学成功研制 “银河-I I〞通用并行巨型机。
6. 2010年-2015年,国防科技大学研制的“〝天河〞系列超级计算机连续6次位居全球超级计
算机500强榜首。
7. 2016-2018 Sunway TaihulLight-(神威太湖之光)三连冠。
8. 高性能计算,并行计算上已紧跟国际先进水平,但计算机的核心部件CPU技术还远远落后。
9. 国产龙芯、飞腾、申威、兆芯、海光、海思、展讯,松果。
1.2计算机系统的组成
冯诺伊曼体系
1. 采用二进制形式表示数据和指令
2. 数据和指令以同等地位存放于存储器中,并按地址寻访
3. 存储程序,以及程序控制
4. 由五大功能部件组成硬件系统,并规定了他们各自的功能
冯诺依曼结构计算机中数据采用二进制编码表示,其主要原因是
1.二进制运算规则简单
2.制造两个稳态的物理器件较为容易
3.便于逻辑门电路实现算术运算
1. 运算器完成算术运算、逻辑运算
进行算术和逻辑运算,用于信息加工的部件。由ALU和一系列寄存器组成。设置通用寄存器组提高速度。主要性能指标:一是机器字长:一次运算能处理的二进制位数。是计算机的重要性能指标。二是速度:每秒运算的次数
2. 控制器控制指令的执行,根据指令功能给出实现指令功能所需的控制信号
整个计算机的指挥中心,控制计算机各部件协调工作。工作实质是解释程序,取指令——指令译码——操作命令——执行端 。控制流和数据流:控制流:操作命令,由控制器产生,流向各功能部件。数据流:受控制流控制,从一个部件流向另一个部件,在流动的过程中被相应的部件加工处理。
3. 主存储器存放程序及数据
记忆部件,用以保存程序及数据。由存储体、数据部件及控制逻辑组成。按照给定的地址寻找存储单元,进行读出或写入信息的操作。主要性能指标:一是存储容量:以KB、MB、 GB、 TB等为单位,二是速度:存取时间、存储周期、数据传输率等。
存储器性能:1. 外存 慢 大 2. 主存 快 小
4. 输入设备、输出设备进行信息形式的转换
输入设备将人们熟悉的信息形式转换成计算机能够接收并识别的信息形式 ,通过设备接口与主机连接。
输出设备將计算机运算结果转換成人们和其他设备能够接收和识别的信息形式,通过设备接口与主机连接。
外存储器也是计算机中重要的外部设备,它既可以作为输入设备,也可以作为输出设备,此外,它还有存储信息的功能。
5. 系统互连
总线(Bus)是连接两个或多个设备(部件)的公共信息通路。主要由数据线、地址线和控制线组成。
系統总线:CPU连校计算机其他各部件的总线
单总线结构的计算机系统
6. 程序设计语言
机器语言:
机器语言是计算机能够直接理解和执行的语言。它由二进制代码组成,使用0和1表示指令和数据。每个计算机架构都有自己的机器语言,因此不同的计算机使用不同的机器语言。编写机器语言程序需要对计算机硬件有深入的了解,因为它直接操作底层硬件。
主要用于底层系统编程、嵌入式系统和硬件驱动程序等需要直接操作硬件的场景。
特点: 直接由二进制数表示代码,不易懂,难记忆,易出错。
汇编语言:
汇编语言是机器语言的一种更加可读性强的表示形式,符号语言。它使用助记符(mnemonics)来代替二进制代码,使得程序员更容易理解和编写程序。每个助记符对应一个特定的机器指令。汇编语言程序需要通过汇编器将其转换为机器语言,然后才能在计算机上执行。
通常用于对性能要求较高的应用程序,或者需要直接访问底层硬件的场景。
特点;助记符指令和机器指令一一对应,用汇编语言编写的 程序效率高,占用存储空间小,运行速度快 ,用汇编语言能编写出最优化的程序。但缺乏通用性。
高级语言:
高级语言是相对于机器语言和汇编语言而言的。它使用更接近自然语言的语法和结构,使得程序员能够更快速、更易读地编写程序。高级语言通常具有更强大的抽象能力和更丰富的库函数,可以提高开发效率。常见的高级语言有C、C++、Java、Python等。高级语言的程序需要通过编译器或解释器将其转换为机器语言,然后才能在计算机上执行。
广泛应用于各种软件开发领域,包括应用程序开发、网站开发、数据分析、人工智能等。1.3计算机系统的层次结构
特点:编写容易,代码可读性好,可移植性好。
1.3计算机系统的层次结构
不同用户处在不同层次
不同层次具有不同属性
不同层次使用不同工具
不同层次代码效率不同
软件与硬件具有逻辑等价性
例题:将高级语言源程序转换成机器级目标代码文件的程序称为:编译程序
1.4计算机性能指标
1.4.1 基本性能
机器字长:处理机运算器中一次能够完成运算的二进制数的位数,如32位、64位等;与内部寄存器、运算器、数据总线等的位宽相同;一般以字节为基本单位,是字节的整数倍;字长对计算精确度、数据的表示范围以及精度等有影响。
主存容量:主存能存储的最大信息量,一般用M*N表示;有字容量、字节容量、位容量等;增加主存容量能减少程序运行期间访问外存的次数。
对机器性能的影响:
1. 机器精确度:字长越长,计算精确度就越高。反之同理。
2. 数据的表示范围和精度:字长越长,定嗲书的表示范围就越大,浮点数的表述范围越大,精度也就越高。
1.4.2 与时间有关的性能指标
CPI(Clock cycles Per Instruction)
CPU时间
执行一段程序所需的时间,包括用户CPU时间+系统CPU时间。仅考虑用户CPU时间即,CPU执行用户程序所花费的CPU时间。
IPC(Instructions Per cycles)
每个时钟周期CPU能执行的指令条数,是CPI的倒数。
MIPS(Million Instructions Per Second)
主频越高,MIPS值越高;CPI越小,MIPS值越高
MFLOPS(Million Floating-Point Operations Per Second)
每秒执行指令浮点数操作的次数
CPU性能公式
1.4.3应用
例1.1 某程序的目标代码主要由4类指令组成,它们在程序中所占的比例和各自的CPI如下表所示,试回答下列问题:(1)求该程序的CPI;(2) 若该CPU的主頻为400MHz,求该机的MIPS。
例1.2 若计算机A和B是基于相同指令集设计的两种不同类型的计算机,A的时钟周期为2ns,某程序在A上远行时的CPI为3。B的时钟周期为4ns,同一程序在B上运行时的CPI为2。对这个程序而言,计算机A和B哪个更快?快多少?
例1.3 设某计算机中A、B、C三类指令的CPI如表1.5所示。現有两种不同的编译器将同一高级语言的语包编译成两种不同类型的代码序列,其中包含 上述3类指令的数量如表1.6所示。请求解下列问题:(1)两种代码序列的CPI分别是多少?(2)哪种代码的执行速度快?