电子说
1.1 计算机发展历程
计算机硬件的发展:
第一代计算机(1946-1957):逻辑元件:电子管、机器语言编程
第二代计算机(1958-1964):逻辑元件:晶体管、开始使用高级语言:
fortran
第三代计算机(1965-1971):逻辑元件:较小规模的集成电路、高级语言迅速发展
第四代计算机(1972至今):逻辑元件:较大规模的集成电路、现代计算机(微处理器、流水线、高速缓存等)
1.2 计算机系统结构层次
计算机系统组成
计算机系统由硬件系统和软件系统共同构建起来
硬件:有形的物理设备,是计算机系统中实际装置的总称
软件:在硬件上运行的程序和相关的数据及文档
计算机功能部件
1.输入设备 :
是指将程序和数据(外部信息)以计算机能识别和接受(读懂)的方式输入进来,如键盘,鼠标等。
2.输出设备 :
就是将计算机处理的信息以人所能接受的方式输出出来,比如显示屏,打印机。
3.存储器 :是计算机的存储部件,用来存放程序和数据
主存储器的组成:
注:现代计算机常把地址寄存器(MAR) 和数据寄存器(MDR)存在于CPU中
(后续第三章介绍)
地址寄存器(MAR):存放地址,经过地址译码后找到所选的存储单元;
数据寄存器(MDR):用于暂存从存储器中读或写的信息
存储体:存放二进制信息
时序控制逻辑:产生存储器操作所需的各种时序信号(读、写操作等)
存储字(word):存储单元中二进制代码的组合(可以为n*8bit即 8 16 32 64等)
存储字长:存储单元中二进制代码的位数(长度)
存储元件:1bit(以dram为例 即为一个栅级电容 只能存储一为信息)
即:存储体由多个存储单元组成,存储单元由多个存储元件组成
4.运算器 :是计算机的运算单元,用于算术运算和逻辑运算
运算器的核心单元是算术逻辑单元(ALU)
5.控制器
一般将运算器和控制器集成到同一个芯片上,称为中央处理器(CPU)
计算机软件分类
系统软件:保证计算机系统高效运行的基础软件
包括操作系统,数据库管理系统,语言处理系统(比如编译器),分布式软件系统,网络软件系统,标准库系统,服务性系统
应用软件:解决某个应用领域中的各类问题而编制的程序(app)
包括各种科学计算类程序,工程设计类程序,数据统计与处理程序。
三个级别语言
1)机器语言。又称二进制代码语言,需要编程人员记忆每条指令的二进制编码。
机器语言是计算机唯一可以直接识别和执行的语言。
2)汇编语言。汇编语言用英文单词或其缩写代替二进制的指令代码,更容易为人们记忆和理解。使用汇编语言编辑的程序,必须经过一个称为汇编程序的系统软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上执行。
3)高级语言。高级语言(如C、C++、Java等)是为方便程序设计人员写出解决问题的处理方案和解题过程的程序。通常高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或直接由高级语言程序翻译成机器语言程序。
高级语言——汇编语言的过程叫做编译,汇编语言——机器语言的过程叫做汇编,
边翻译边执行的叫做解析。
计算机的工作过程
计算机的工作过程分为以下三个步骤:
1)把程序和数据装入主存储器。(loader干的)
2)将源程序转换成可执行文件。(生成hex文件)
3)从可执行文件的首地址开始逐条执行指令。(上电cpu进行寻指,依次执行)
1.从源程序到可执行文件
1)预处理阶段:预处理器(cpp)对源程序中以字符#开头的命令进行处理,
例如将#include命令后面的.h文件内容插入程序文件。输出结果是一个以.i 为扩展名的源文件 hello.i。(1.头文件要展开 2.#define这种定义的字符串要替代下 等操作)
3)汇编阶段:汇编器(as)将 hello.s 翻译成机器语言指令,把这些指令打包成一个称为可重定位目标文件的hello.o,它是一种二进制文件,因此在文本编辑器中打开它时会显示乱码。
4)链接阶段:链接器(ld〉将多个可重定位目标文件和标准库函数合并为一个可执行目标文件,或简称可执行文件。
本例中,链接器将hello.o和标准库函数prinft所在的可重定位目标模块prinft.o合并,生成可执行文件 hello。最终生成的可执行文件被保存在辅存上。
PS.link完成后生成hex文件,才是可执行的文件
2.指令执行过程的描述
指令和变量数据存在主存里面
通用过程
先PC将指令地址发送给MAR,MAR根据地址在存储体中找到指令数据存放在MDR中,之后MDR将指令存放在IR中,取指令结束,之后指令中的操作码进入CU中,地址码重复上述取指令步骤,将数据发送到ACC中,执行指令结束。
注意:
1.执行指令阶段 CU会根据不同指令把MDR数放在ACC/MQ/X等中
2.区分指令和数据的依据:指令周期的不同阶段
1.3 计算机的性能指标
1.机器字长
计算机的位数(机器字长),表示计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数。计算机字长通常选定为字节(8位)的整数倍,通常是2,4,8倍。不同的计算机,字节可能不同
2.数据通路带宽
数据总线一次所能传送信息的位数。
3.主存容量
MAR的位数反映存储单元的个数,如MAR为16位,表示存储单元为2^16 = 64K;
存储单元个数*位宽=容量(长×宽)
2^10=1k若MDR为32位,则存储容量为2^16x32.
4.吞吐量,指系统在单位时间内处理请求的数量 ;从用户观点看,它是评价计算机系统性能的综合参数!
响应时间,指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结构的等待时间。
CPU时钟周期。通常为节拍脉冲或T周期,即主频的倒数,它是CPU中最小的时间单位,每个动作至少需要1个时钟周期。
主频(CPU时钟频率)。机器内部主时钟的频率,是衡量机器速度的重要参数。
CPU周期又称为机器周期,由多个时钟周期组成!
指令周期>CPU周期>时钟周期
CPI(Clock cycle Per Instruction),即执行一条指令所需的时钟周期数。
CPU执行时间,指运行一个程序所花费的时间。
CPU执行时间 = CPU时钟周期数/主频 = (指令条数xCPI)/主频
CPU的性能取决于三个要素:主频、CPI 、指令条数
全部0条评论
快来发表一下你的评论吧 !