1.第一章
1.1计算机发展历程
1.发展历程:电子管-》晶体管-》中小规模集成电路-》超大规模集成电路
2.系统组成:控制器,运算器,存储器,输入设备,输出设备
3.性能指标(常考部分):
机器字长:计算机一次整数运算所能处理的二进制数据的位数
数据通路带宽:数据总线一次并行所能传递信息的位数
主存容量:计算机主存所能存储信息的最大容量
以下为运算速度的性能指标:
吞吐量:系统在单位时间处理的请求的数量
响应时间:从用户提交请求到系统首次产生响应并且获得其所需要结果需要的时间
时钟周期:节拍脉冲或者T周期,是CPU最小的时间单位
主频:计算机内部主时钟的频率,时钟周期的倒数
CPI:执行一条指令需要的时钟周期
执行时间:运行一个程序需要花费的时间
MIPS:每秒执行多少百万条指令
FLOPS:每秒执行多少次浮点运算(MFLOPS:每秒百万浮点操作 GFLOPS:每秒10亿次浮点运算,1GFLOPS=1000MFLOPS)
4.计算机系统=硬件+软件
5.摩尔定律:集成电路上的晶体管每18个月就会翻一番
6.按照指令流和数据流可以分为四种类型的系统:其中多指令流单数据流的系统(MISD),实际上不存在
1.2计算机系统层次结构
1.冯诺依曼机:原理:程序存储:按照地址访问并顺序执行指令
指令和数据(以二进制的方式)以同等地位存储在存储器中,按地址寻访;其中指令由操作码和地址码组成
早期冯诺依曼机以运算器为中心,现在计算机以存储器为中心
2.计算机硬件系统五大组成部分
一:输入设备:将外部信息以计算机能读懂的方式输入进来:鼠标,键盘等
二:输出设备:将计算机处理的信息以人可以接受的方式输出:屏幕,打印机
三:存储器:存储器分为主存储器(内部存储器,CPU可以直接访问)和辅存储器(外部存储器,CPU不能直接访问,需要导入信息到主存才能被CPU访问)
主存:存储体,MAR(地址寄存器),MDR(数据寄存器)
这里解释CPU(中央处理器):CPU包含运算器和控制器以及寄存器,寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
**主存-cache-寄存器结构**:
1.主存包含的范围非常广,一般分为只读存储器(ROM)、随机存储器RAM))。
2.寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。
3.Cache :即高速缓冲存储器,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。Cache又分为一级Cache(L1 Cache)和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,现在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。***所以cache容量大小不影响高速缓存系统的容量,因为不管多大都只是主存的副本,只能由主存决定***。**总结:大致来说数据是通过主存-Cache-寄存器,Cache缓存则是为了弥补CPU与内存之间运算速度的差异而设置的的部件。**
四:运算器(实现算术运算:加减乘除,逻辑运算:与或非)
核心ALU算术逻辑单元
ACC:累加器,存放运算结果或操作数—》加减乘除都可
MQ:乘商寄存器,在乘除运算时存放操作数或运算结果
X:通用操作数寄存器:用于存放操作数
五:控制器:协调各部件工作
IR:指令寄存器:存放当前要执行的指令
PC:程序计数器:存放下一条要执行的指令的地址,自动加一功能
CU:控制单元:分析指令,并且给出控制信号
过程:从主存中取出指令存放到IR,PC自动加一,CU分析指令并且给出控制信号指挥其他部件执行指令
CPU中至少六类寄存器:
指令寄存器IR,程序计数器PC,累加器AC,地址寄存器AR,数据寄存器DR,程序状态字寄存器PSW
DR:数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存存入一条指令或一个数据字时,也将它们暂时存放在数据寄存器中
AR:保存CPU当前所访问的主存单元的地址。
PSW:程序状态字寄存器用来保存由算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容,如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等,这些标志位通常用1位触发器来保存。
ALU:取决于具体的cpu架构,有的架构中ALU具有完整结构,包含寄存器且挂在内部总线上,应认为属于寄存器,而有些架构的ALU指单纯的组合逻辑,应认为不属于寄存器
主机:CPU+主存
外设:除了主机外的其他硬件装置(外存和IO设备等)统称外部设备,简称外设。
CPU和主存连接使用三大总线:
1.地址总线(Address Bus):地址总线用于传输CPU发送到主存的内存地址。它确定了CPU要读取或写入的内存单元的位置。地址总线的宽度决定了CPU可以寻址的内存空间大小。
2.数据总线(Data Bus):数据总线用于在CPU和主存之间传输数据。它传递读取或写入的数据。数据总线的宽度决定了CPU可以一次传输的数据量。
3.控制总线(Control Bus):控制总线用于传输控制信号,以控制数据和地址的传输。它包括各种控制信号,如读写信号、时钟信号、中断信号等。
这些总线共同工作,使得CPU能够与主存进行数据的读取和写入操作。
3.计算机三种语言
一:机器语言:也叫二进制代码语言,是计算机唯一可以直接识别和执行的语言
二:汇编语言:
三:高级语言:
高级语言—》汇编语言:过程叫编译
汇编语言—》机器语言:过程叫汇编
编译是高级语言转换为可执行程序的时候,需要先对完整的源程序做词法分析、语法分析等一系列检测,所有语法都没有问题后,一次性把所有源代码翻译,这要求源程序中不能有任何语法错误,否则将不会生成可执行程序,直到所有语法错误都改正,这种转换的方式称为编译,C、C++等语言就是采用了编译方式。
解释程序:一边翻译一边执行,直接将高级语言翻译到机器语言,与编译器(Compiler)相比,高级语言解释程序在执行时不需要生成可执行文件,而是直接将源代码转换成机器语言并立即执行。
编译可以将高级语言翻译成为汇编语言或机器语言,汇编只能是汇编语言到机器语言。
翻译程序包括编译程序和解释程序,编译程序会产生目标程序,解释程序不会生成目标程序
4.四大字长
机器字长:计算机进行一次整数运算所能够处理的二进制的位数,机器字长一般等于内部寄存器的大小,代表了计算机计算的精度。
存储字长:一个存储单元存储二进制代码的长度,等于MDR的的位数,必须是字节的整数倍
指令字长:一个指令的大小,一般是存储字长的整数倍
数据字长:数据总线一次传输数据的位数,可以不等于MDR,等于数据通路带宽