那些作为程序员你不能不知道的知识——计算机组成原理(二)
文章目录
一、计算机的字符与编码集
1.1 ASCUII码
- 使用7个bits就可以完全表示
- 包含95个可打印字符
- 包含33个不可打印字符(包含控制类字符)
- 很多应用或者国家的符号都无法表示
1.2 Extended ASCII 码
- 常见的数字字符
- 带音标的欧洲字符
- 其他常用符、表格符
1.3 GB2312
- 《信息交换用汉子字符编码集——基本集》
- 一共收录了7445个字符
- 包括6763个汉字和682个其他符号
1.4 GBK
- 《汉字内码扩展规范》
- 向下兼容GB2312,向上支持国际ISO标准
- 收录21003个汉字,支持全部中日韩汉字
1.5 Unicode
- 统一码、万国码、单一码
- Unicode定义了世界通用的符号集,UTF-*实现了编码
- UTF-8以字节为单位对Unicode进行编码
注意:
- Windows系统默认使用GBK进行编码
- 编程时推荐使用UTF-8
二、计算机的总线
2.1 总线的概述
- USB Universal serial bus 通用串行总线
- 提供了对外连接的接口
- 不同设备可以通过USB接口进行连接
- 连接的标准。促使外部连接设备的接口的统一
2.2 总线存在意义
就一句话:解决不同设备之间的通信问题
2.3 总线的分类
2.3.1 片内总线
- 芯片内部的总线
- 寄存器与寄存器之间
- 寄存器与控制器、运算器之间
- 其实就是高集成度芯片内部的信息传输线
2.3.2 系统总线
- CPU、主内存、IO设备、各组件之间的信息传输线
- 数据总线又分为三种
2.3.2.1 数据总线
- 一般与CPU位数相同(32/64)
- 双向传输各个部件之间数据信息
- 数据总线的位数(总线宽度)是数据总线的重要参数
2.3.2.2 控制总线
- 用来发出各种控制信号的传输线
- 控制信号经由控制总线从一个组件发送到另一个组件
- 控制总线可以监控不同组件的状态(就绪/未就绪)
2.3.2.3 地址总线
- 指定源数据或目的数据在内存中的地址
- 地址总线的位数与存储单元有关
2.4 总线的仲裁
意义:为了解决总线使用权冲突的问题
2.5 总线的仲裁方法
2.5.1 链式查询
- 电路复杂程度低,仲裁方式简单
- 优先级低的设备难以获得总线的使用权
- 对电路故障比较敏感
2.5.2 计时器定时查询
- 仲裁控制器对设备进行标编号并使用计数器累计次数
- 接收到仲裁信号后,往所有设备发送计数值
- 计数值与设备编号一致则获得总线使用权
2.5.3 独立请求
- 每个设备均有总线独立连接仲裁器
- 设备可单独向仲裁器发送请求与接受请求
- 当同时接收到多个请求信号,仲裁器有权按优先级分配使用权
三、计算机的输入输出设备(IO设备)
3.1 常见的输入输出设备
-
字符输入设备
-
键盘
- 薄膜键盘
- 机械键盘
- 电容键盘
-
图像输入设备
- 鼠标
- 数位板
- 扫描仪
-
图像输出设备
- 显示器
- 打印机
- 投影仪
-
3.2 输入输出接口的通用设计
3.2.1 设计思想
- 向设备发送数据
- 读取数据
- 设备有没有被占用
- 设备是否连接
- 设备是否启动
主要分为:- 数据线:
是IO设备与主机之间进行数据交换的传送线
单向数据传输线
双向数据传输线 - .状态线
IO设备向主机报告的信号线
查询设备是否已正常连接并就绪
查询设备是否已经被占用 - 命令线
CPU向设备发送命令的信号线
发送读写信息
发送启动停止信息 - 设备选择线
主机选择IO设备进行操作的信号线
对连接在总线上的设备进行操作
- 数据线:
3.3 CPU与I/O设备的通信
-
CPU速度与IO设备速度不一样
-
程序中断
- 当外围IO设备就绪时,向CPU发送中断信号
- CPU有专门的电路响应中断信号
- 提供低速设备通知CPU的一种异步方式
- CPU可以再高速运转的同时兼顾低俗设备的响应
3.4 DMA(直接存储器访问)
- DMA直接连接主存与IO设备
- DMA工作时不需要CPU的参与
- 当主存与CPU交换数据时,不需要打断CPU
- 可以提高CPU的效率
- 主要存在于硬盘和外置显卡中
总结
及时总结,加深印象,继续努力。
如果看到最后,请动动小手,留下您的赞。