目录
1.计算机系统概述
1.1计算机发展历程
1.2计算机系统层次结构
计算机硬件
计算机软件
计算机系统层次结构
计算机系统工作原理
指令执行过程
1.2部分习题
1.3计算机性能指标
计算机主要性能指标
几个专业术语
1.3部分习题
1.计算机系统概述
1.1计算机发展历程
1946年,世界上第一台电子数字计算机(ENIAC)问世
第一代计算机(1946-1957)——电子管时代:逻辑元件使用电子管,使用机器语言编程,主存用延迟线或磁鼓存储信息,容量极小,体积庞大,运算速度较低
第二代计算机(1958-1964)——晶体管时代:逻辑元件使用晶体管,开始出现高级语言及其编译程序,主存使用磁芯存储器,有了操作系统的雏形
第三代计算机(1965-1971)——中小规模集成电路时代:逻辑元件使用中小规模集成电路,半导体存储器,操作系统有了分时操作系统
第四代计算机(1972-至今)——超大规模集成电路时代:逻辑元件使用超大规模集成电路,产生微处理器
摩尔定律:当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。
1.2计算机系统层次结构
计算机系统的组成:硬件和软件。硬件指有形的物理设备,软件指在硬件上运行的程序和相关数据及文档
计算机硬件
冯诺依曼机基本思想
冯诺依曼在研究EDVAC机时提出了“存储程序”概念,冯诺依曼机特点:
1.采用“存储程序”的工作方式
2.计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成
3.指令和数据以同等地位存储在存储器中,形式上没有区别,但计算机能区分它们
4.指令和数据均用二进制代码表示,指令由操作码和地址码组成
“存储程序”的基本思想:将事先编制好的程序和原始数据送入主存后才能执行,一旦程序被执行,就无需操作人员的干预,计算机会自动逐条执行指令,直至程序执行结束
1.输入设备
将程序和数据以机器所能识别和接受的信息形式输入计算机,设备有键盘、鼠标、扫描仪、摄像机等
2.输出设备
将计算机处理的结果以人们所能接受的形式或其它系统所要求的信息形式输出,设备有显示器、打印机等
3.存储器
存储器分为主存储器(内存)和辅助存储器(外存)。CPU能够直接访问主存,辅存的信息必须调入主存后,才能被CPU所访问。主存工作方式是按存储单元的地址进行存取,主存存放二进制信息,地址寄存器(MAR)存放访存地址,经地址译码找到所选的存储单元,数据寄存器(MDR)用于暂存要从存储器中读或写的信息,时序控制逻辑用于产生存储器操作所需的各种时序信号
存储体由许多存储单元组成,每个存储单元包含若干个存储元件,每隔存储元件存储一位二进制代码“0”或“1”,因此存储单元可以存储一串二进制代码,称为存储字,这串代码的位数称为存储字长,存储字长可以是1B(8bit)或是字节的偶数倍
MAR用于寻址,其位数对应着存储单元的个数,如MAR为10位,则有个存储定义,记为1K。MAR长度与PC长度相等
MDR的位数和存储字长相等,一般为字节的2次幂的整数倍,如MDR为16位,则每个存储单元存放16bit(设1个字=16bit)
4.运算器
运算器的核心是算术逻辑单元(ALU),运算器包含若干通用寄存器,用于暂存操作数和中间结果,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、变址寄存器(IX)、基址寄存器(BR)等,其中前三个寄存器是必须具备的
运算器内还有程序状态寄存器(PSW),也称标志寄存器,用于存放ALU运算得到的一些标志信息,如结果是否溢出、有无产生进位或错位、结果是否为负等
5.控制器
控制器是计算机的指挥中心,由程序计数器(PC)、指令寄存器(IR)和控制单元(CU)组成
PC用来存放当前想要执行的指令地址,具体自动加1功能(“1”指指令长度),即可自动形成下一条指令地址,与主存MAR之间有一条直接通路
IR用来存放当前指令,内容来自主存MDR,指令中的操作码OP(IR)送至CU,用以分析指令并发出微操作命令序列,地址码Ad(IR)送至MAR,用于取操作数
运算器和控制器集成到同一芯片上,称为中央处理器(CPU),CPU和主存共同组成主机,而除主机外的其他硬件设备统称为外部设备,简称外设
CPU和主存之间通过一组总线相连,总线有地址、控制和数据3组信号线。MAR的地址信息之间送到地址线上,用于指向主存存储单元;控制线有读写信号线,指出数据是从CPU写入主存还是从主存读出CPU
计算机软件
按功能分,可分为系统软件和应用软件
系统软件通常作为系统资源提供给用户使用,如操作系统(OS)、数据库管理系统(DBMS)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务型程序
应用软件指用户为解决某个应用领域的问题而编制的程序,如各种科学计算类程序、工程设计类程序等
三个级别语言
1.机器语言:计算机唯一可以直接识别和执行的语言
2.汇编语言:用英文单词代替二进制指令代码,经过汇编程序翻译为机器语言程序后才能执行
3.高级语言:为方便程序设计人员解决问题的程序,需要经过编译程序编译成汇编语言程序,然后经汇编操作得到机器语言程序,或直接由高级语言程序翻译成机器语言程序
汇编程序:将汇编语言程序翻译成机器语言程序
解释程序:将源程序中的语句按序逐条翻译成机器指令并执行
编译程序:将高级语言程序翻译成汇编语言或机器语言程序
计算机系统层次结构
微程序机器层——传统机器语言层——操作系统层——汇编语言层——高级语言层
下层是上层的基础,上层是下层的扩展,软件和硬件之间的界面——指令集体系结构(ISA)
计算机系统工作原理
从源程序到可执行文件:
1.预处理:对源程序中对字符#开头的命令进行处理,hello.i
2.编译阶段:编译源程序,生成汇编语言源程序hello.s
3.汇编阶段:翻译成机器语言指令,打包可重定位目标文件hello.o
4.链接阶段:将多个可重定位目标文件和标准库函数合并为一个可执行文件hello,最终生成的可执行文件被保存在磁盘上
指令执行过程
根据PC取指令——指令译码——取操作数——指令执行——回写结果——修改PC的值
1.取指令:PC——>MAR——>M——>MDR——>IR
根据PC取指令到IR。将PC内容送到MAR,MAR中的内容直接送地址线,同时控制器将读信号送读写信号线,主存根据地址线上的地址和读信号,从指定存储单元读出指令,送到数据线,MDR从数据线接收指令信息,并传送到IR
2.分析指令:OP(IR)——>CU
指令译码并送出控制信号。控制器根据IR指令的操作码,生成相应控制信号,送到不同执行部件
3.执行指令:Ad(IR)——>MAR——>M——>MDR——>ACC
取数操作。将IR中的指令地址吗送到MAR,MAR中的内容送地址线,同时控制线将读信号送读写信号线,从主存读出操作数,并通过数据线送至MDR,再传送到ACC中
每取完一条指令,(PC)+1——>PC
1.2部分习题
1.冯诺依曼的工作方式是()
A.控制流驱动方式 B.多指令多数据流方式 C.微程序控制方式 D.数据流驱动方式
2.在运算器中,不包含()
A.状态寄存器 B.数据总线 C.ALU D.地址寄存器
3.冯诺依曼计算机中的指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是()
A.指令操作码的译码结果 B.指令和数据的寻址方式 C.指令周期的不同阶段 D.指令和数据所在的存储单元
1.A
早期冯诺依曼机以运算器为中心,且为单处理机,采用“存储程序”原理,基本工作方式是控制流驱动方式,B是多处理机
2.D
地址寄存器位于CPU内,未集成到运算器与控制器中
3.C
CPU根据指令周期的不同阶段来区分,在取指阶段取出的是指令,在执行阶段取出的是数据。
1.3计算机性能指标
计算机主要性能指标
字长:计算机进行一次整数运算所能处理的二进制数据的位数,通常与CPU的寄存器位数、加法器有关
数据通路带宽:数据总线一次所能并行传送信息的位数
主存容量:主存储器所能存储信息的最大容量,用字节来表示,或用字数*字长表示(512K*16位),其中MAR的位数反映了存储单元的个数,MDR的位数反映了存储单元的字长。
运算速度
吞吐量:系统在单位时间内处理请求的数量,主要取决于主存的存取周期
响应时间:用户发送请求到系统对请求作出响应并获取所需结果的等待时间。
CPU时钟周期:主频的倒数,通常为节拍脉冲或T周期,是CPU中最小的时间单位
主频:机器内部主时钟的频率,衡量机器速度的重要参数,主频越高,完成指令步骤所用时间越短,执行指令速度越快,常用主频有1.8GHz、2.4GHz、2.8GHz
CPI:执行一条指令所需的时钟周期数
CPU执行时间:运行一个程序所花费的时间,CPU执行时间=CPU时钟周期数/主频=(指令条数*CPI)/主频
IPS:每秒执行多少条指令,IPS=主频/平均CPI
MIPS:每秒执行几百万条
FLOPS:每秒执行多少次浮点运算,浮点操作数/执行时间
MFLOPS:每秒执行多少百万次浮点运算,浮点操作数/(执行时间*)
GFLOPS:每秒执行多少十亿次浮点运算..
TFLOPS:每秒执行多少万亿次浮点运算...
几个专业术语
基准程序:专门用来进行性能评价的一组程序
系列机:具有基本相同的体系结构,使用相同基本指令系统的多个不同型号的计算机组成的一个产品系列。
兼容:指软件和硬件的通用性,即运行在某个型号的计算机系统中的硬件/软件也能应用于另一个型号的计算机系统
软件可移植性:把使用在某个系列计算机中的软件直接运行在另一个系列计算机的可能性
固件:将程序固化在ROM中组成的部件,是具有软件特性的硬件,吸收了软硬件各自的优点
1.3部分习题
1.若一台计算机的机器字长为4字节,表明该机器()
A.能处理的数值最大为4位十位进制数
B.能处理的数值最大为4位二位进制数
C.在CPU中能够作为一个整体处理32位的二进制代码
D.在CPU中运算结果最大为
2.在CPU寄存器中,()对用户完全透明
A.程序计数器 B.指令寄存器 C.状态寄存器 D.通用寄存器
3.计算机中,CPU的CPI与()因素无关
A.时钟频率 B.系统架构 C指令集 D.计算机组织
4.从用户观点看,评价计算机系统性能的综合参数是()
A.指令系统 B.吞吐率 C.主存容量 D.主频率
5.基准程序A在某计算机上运行时间为100s,其中90s为CPU时间,其余为I/O时间,若CPU速度提高50%,I/O速度不变,则基准程序A所耗费时间是()
A.55s B.60s C.65s D.70s
6.下列部件中,其位数一定与机器字长相同的是()
A.ALU B.指令寄存器 C.通用寄存器 D.浮点寄存器
1.C
4*8=32位
2.B
汇编程序员可以通过JMP指令来设置PC值,状态寄存器、通用寄存器只有汇编程序员可见,而IR、MDR、MAR是CPU内部工作的寄存器,对程序员均不可见
3.A
CPI是执行一条指令所需的时钟周期数,B,C,D都会影响CPI,但时钟频率不会影响,但可加快指令的执行速度,如执行一条指令要10个时钟周期,一台主频为10GHz的CPU比一台主频为100MHz的CPU快
4.B
吞吐率指系统在单位时间内请求处理的数量,是评价计算机系统性能的综合参数
5.D
T=90/1.5+10=70s
6.AB
机器字长等于CPU内部用于整数运算打的运算器位数和通用寄存器