- 冯诺依曼体系:
早期计算机只有固定应用程序,当要改变程序需要重新更改结构和设计电路。
必须有一个存储器,一个控制器,一个运算器。
必须有输入输出设备。
cpu=运算器+控制器
问题:cpu和存储器速率之间的问题无法调和,cpu处理速度很快,存储设备传输速度很慢。
- 现代计算机体系:
解决上述瓶颈
cpu=运算器+控制器+存储器
-
编程语言:
程序翻译:高级语言(高级语言和汇编语言)到(由编译器生成)低级语言 到计算机实际执行语言
程序解释:高级语言(作为输入)使用低级语言实现另一个程序(解释器) 到低级语言
计算机执行的指令都是低级语言(机器语言)
翻译过程生成新的低级语言,解释不生成新的
解释的过程由低级语言编写的解释器去解释高级语言
如:java程序-jvm字节码-机器码为:编译+汇编
微指令<微程序=机器指令,一条机器指令对应一个微程序,一个微程序对应一组微指令
操作系统:对上提供简易的操作界面,对下对接了指令系统,管理硬件资源
汇编语言层:汇编语言可以翻译成可直接执行的机器语言,完成翻译的过程的程序就是汇编器
高级语言层:如我们熟知c,java等 -
计算机的计算单位
容量单位:物理层面,高低电平记录信息,理论上只认识0、1两种状态,0/1称为bit(比特位)
中文编码集:Windows系统默认使用GBK编码,编程推荐使用UTF-8编码 -
总线:
提供了对外连接的接口
不同设备可以通过USB接口进行连接
连接的标准,促使外围设备接口的统一
分为片内总线和系统总线
片内总线:芯片内部的总线,寄存器与寄存器之间,寄存器与控制器,运算器之间
系统总线:各设备之间的连线,有:数据总线,地址总线,控制总线
数据总线:双向传输各个部件的数据信息,数据总线的位数(总线宽度)是数据总线的重要参数
地址总线:指定源数据或目的数据在内存的地址,地址总线的位数与存储单元有关
控制总线:用来发出各种控制信号的传输线,控制信号经由控制总线从一个组件发给另外一个组件,控制总线可以监视不同组件之间的状态(就绪/未就绪)
总线的仲裁方法:链式查询,计时器定时查询,独立请求 为了解决总线使用权的冲突问题
- 计算机的输入输出设备
cpu与io的通信:程序中断,DMA(直接存储访问)
程序中断:当外围io设备就绪时,向cpu发出中断信号,cpu有专门的电路响应中断信号
提供低速设备通知cpu的一种异步方式,cpu可以告诉运转同时兼顾低速设备的响应