计算机组成与系统结构袁春风第二版-第一章
2023-04-04 14:07:20 0 举报
AI智能生成
计算机考研408教材系列脑图
作者其他创作
大纲/内容
计算机的发展历史
通用电子计算机的诞生
1946年,美国,ENIAC,世界第一台通用电子计算机
每秒5000次加法运算
耗资40多万美元
耗电150千瓦
运行到1955年10月
第一代计算机
20世纪40-50年代
电子管计算机
逻辑元件:电子管
存储元件:声延迟线或磁鼓
逻辑结构:定点运算
存储程序
将事先编好的程序和原始数据送入主存后才能执行程序,一旦程序被启动执行,计算机能在不需要操作人员干预下自动完成逐条取出指令并执行的任务
IAS计算机
通用计算机的原型
包含5个部件
算术逻辑单元(运算器)
程序控制器
主存储器(中心)
输入设备
输出设备
第二代计算机
20世纪50年代中后期到60年代中
晶体管计算机
内存采用磁芯存储器
外存采用磁鼓与磁带存储器
体积小,速度快,功耗低,可靠性高
第三代计算机
20世纪60年代中到70年代中
集成电路计算机
集成电路的应用是微电子与计算机技术结合的突破
1964,IBM360,第一个采用集成电路的计算机
大型巨型与小型机同时发展
第四代计算机
20世纪70年代后
超大规模集成电路计算机
LSI,大规模集成电路
VLSI,超大规模集成电路
计算机网络的发展与广泛应用
计算机系统的基本组成
计算机硬件
冯诺依曼机构计算机的特征
采用“存储程序”工作方式
计算机由运算器,存储器,控制器,输入设备和输出设备组成
存储器不仅能存储数据,而且能存放指令,形式上数据和指令没有区别,当计算机应能区分它们;控制器应能控制指令的自动执行;运算器能进行加减乘除,并且能进行逻辑运算;操作人员可以通过输入输出设备使用计算机
计算机内部以二进制形式表示指令和数据;每条指令由操作码和地址码两部分组成,操作码指出操作类型,地址码指出操作数的地址;由一串指令组成程序
中央处理器,CPU,主要用于指令的执行
数据通路
算术逻辑部件
通用寄存器
控制器
对指令进行译码
生成相应的控制信号
存储器
内存
主存储器,主存,main memory
高速缓存,cache
外存
辅助存储器
磁盘
固态硬盘
海量后备存储器
外部设备
机械部分
外部设备本身
电子部分,设备控制器
IO控制器
IO适配器
总线
传输信息的介质,用于在部件之间传输信息
计算机软件
第一阶段
科学计算为主
第二阶段
输入输出量较大
出现了操作系统
出现了高级语言
数据库及其管理系统
软件工程
第三阶段
软件新技术
根据软件的用途
系统软件
操作系统
语言处理系统,编译器
数据库管理系统
实用程序,磁盘碎片整理程序,备份程序
应用软件
数据处理
科学计算等
计算机系统的层次结构
计算机糸统抽象层的转换
软件
应用(问题)
算法
编程语言
高级语言
低级语言,机器级语言(机器语言,汇编语言)
翻译程序
汇编程序,也称汇编器,用来将汇编语言源程序翻译成机器语言目标 程序
解释程序,也称解释器,用来将源程序中的语句按其执行顺序逐条翻译成机器指令并立即执行
编译程序,也称编译器,用来将高级语言源程序翻译成汇编语言或机器语言目标程序
操作系统
指令集体系结构(ISA)
软件和硬件之间接口的一个完整定义
定义了一台计算机可以执 行的所有指令的集合
指软件能感知到的部分,也称软件可见部分
硬件
指令集体系结构
微体系结构
具体实现ISA的组织
是软件不可感知的部分
相同的ISA可能具有不同的微体系结构
由逻辑电路实现
功能部件
电路
电器
计算机系统的不同用户
最终用户,end user
使用应用程序完成特定任务的计算机用户
能够感知到的只是系统提供的简单人机交互界面和安装在计算机中的相关应用程序
系统管理员
利用操作系统等软件提供的功能对系统进行配 置、管理和维护,以建立高效合理的系统环境供计算机用户使用的操作人员
能感知到的是系统中部分硬件层面、系统管理层面以及相关的实用程序和人机交互界面
应用程序员
使用高级编程语言编制应用软件的程序员
所看到的计算机系统除了计算机硬件、操作系统提供的应用编程接口(API)、人机交互界面和实用程序外,还包括相应的程序语言处理系统
语言处理系统中还包括可供应用程序调用的各类函数库
系统程序员
设计和开发系统软件的程序员
计算机系统的层次化结构
系统软件和应用软件在ISA上实现
系统程序员,机器语言程序员--机器语言机器
系统管理员--操作系统虚拟机
汇编语言程序员--汇编语言虚拟机
应用程序员--高级语言虚拟机
最终用户--应用程序层
透明:在计算机技术中,一个存在的事物或概念从某个角度看似乎不存在,即,对实际存在的事务或概念感觉不到
程序开发与执行过程
从 源 程 序 到 可 执 行 程 序
通过程序编辑软件得到hello, c 文件
将 hello, c 进行预处理、编译、汇编和链接,最终生成可执行目标文件
预处理阶段:预处理程序(cpp)对源程序中以字符井开头的命令进行处理
编译阶段:编译程序(ccl)对预处理后的源程序进行编译,生成一个汇编语言源程 序文件,以 s 为扩展名
汇编阶段:汇编程序(as)对汇编语言源程序进行汇编,生成一个可重定位目标文件(relocatable object file),以 o 为扩展名
链接阶段:链接程序(Id)将多个可重定位目标文件和标准库函数合并成为一个可 执行目标文件(executable object file),可执行目标文件简称为可执行文件
可执行文件的启动和执行
外壳程序
shell命令行解释器
内核服务例程
程序的执行过程就是数据在CPU、主存储器和I/O 模块之间流动的过程
程序与指令的关系
可执行目标文件中包含机器代码段
可执行文件的执行实际上是所包含的机器代码段执行的过程
机器代码段由一条一条机器指令(通常简称为指令)构成
指令(instruction) 就是用0 和 1表示的一串0/1序列,用来指示CPU完成一个特定的原子操作
取数指令(load instruction)
从存储单元中取出一个数据存放到CPU的寄存器中
存数指令(store instruction)
将CPU寄存器的内容写入一个存储单元
ALU指令(ALU instruction)
将两个寄存器的内容进行某种算术或逻辑运算后再送入一个CPU寄存器中
输出指令(output instruction)
将一个CPU寄存器的内容输送到IO模块的某个寄存器中
指令包含的字段
操作码字段
指出指令的操作类型
地址码字段
指出指令所处理的操作数的地址
立即数字段
指出具体的一个操作数或偏移地址
指令的执行过程
CPU
ALU
用于进行算术运算和逻辑运算
通用寄存器组
由若干个通用寄存器组成,每个通用寄存器有一个编号;通过指令可以指定哪个编号的寄存器中的数据作为ALU运算的操作数
标志寄存器
用来存放ALU运算得到的一些标志信息,如结果是否为0、有无产生进位或借位、结果是否为负数
控制器
指令寄存器,Instruction Register,IR
用于存放从主存读出的指令;指令中的操作码被送到控制器进行译码,以生成控制信号
程序计数器
存储器地址寄存器,Memory Address Register, MAR
存储器数据寄存器,Memory Data Register, MDR
总线
地址
MAR中的地址信息将会直接送到地址线上
控制
读/写信号线,指出数据是从CPU写入主存储器还是从主存储器读出到CPU
数据
根据是读操作还是写操作来控制将MDR中的数据直接送到数据线上还是将数据线上的数据接收到MDR中
主存储器
用来存储指令和操作数
每个存储单元有一个编号,称为地址,通常一个存储单元存放一个字节(8位)
主机
CPU+主存
CPU执行过程
第一步:根据PC取指令到IR
第二步:指令译码并送出控制信号
第三步:取操作数
第四步:指令执行
第五步:回写结果
当一条指令执行结束时,PC中一定是下一条指令的地址
指令的执行由时钟信号(clock signal)进行定时,一条指令的执行可能需要一个或多个 时钟周期
计算机系统性能评价
计算机性能的定义
吞吐率(throughput)
表示在单位时间内所完成的工作量
也被称为带宽,bandwidth
响应时间(response time)
也称为执行时间(execution time)或等待时间(latency) ,是指从作业提交开始到作业完成所用的时间
响应时间包括
cpu执行时间
磁盘访问时间
存储器访问时间
输入输出操作时间
操作系统的额外开销
计算机性能的测试
CPU时间
用户CPU时间,指真正用于运行用户程序代码的时间
系统CPU时间,指为了执行用户程序而需要CPU运行操作系统程序的时间
CPU性能
指用户CPU时间,它只包含CPU运行用户程序代码的时间
系统性能
指系统的响应时间,它与CPU外的其他部分也有关系
时钟周期(clock cycle,tick,clock tick,clock)
CPU产生同步的时钟定时信号,也就是CPU的主脉冲信号,其宽度称为时钟周期
时钟频率(clock rate,主频)
CPU中的主脉冲信号的时钟频率,是 CPU时钟周期的倒数
CPI(cycles per instruction)
表示执行一条指令所需的时钟周期数
CPU执行时间=程序所含时钟周期数 / 时钟频率= 程序所含时钟周期数X时钟周期= CPI X 程序总指令条数X 时钟周期
程序总时钟周期数= 程序所含指令条数XCPI
两台计算机性能之比就是CPU时间之比的倒数
若计算机M1和 M2的性能之比为n
计算机M1的速度是计算机M2的速度的n 倍
在计算机M2上执行程序的时间是在计算机M1上执行时间的n倍
虽然时钟频率提高会加快CPU执行程序的速度,但不能保证执行速度有相同倍数的提高
指令条数少并不代表执行时间短
时钟频率高也不说明执行速度快
评价计算机性能时,必须同时考虑时钟周期,指令条数,CPI三个因素
用指令执行速度进行性能评估
MIPS(Million Instructions Per Second),其含义是平均每秒钟执行多少百万条指令
MIPS反映了机器执行定点指令的速度
MFLOPS(Million FLOating-point operations Per Second) ,表示每秒所执行的浮点运算有多少百万次,它是基于所完成的操作次数而不是指令数来衡量的
用基准程序进行性能评牯
SPEC测试程序集是应用最广泛、也是最全面的性能评测基准程序集
整数测试程序集SPECint
浮点测试程序集SPECfp
CPU性能测试集(SPEC CPU2000)
Web服务器性能测试集(SPECweb99)
执行时间的归一化值= 参考机器上的执行时间十被测机器上的执行时间
0 条评论
下一页