那些作为程序员你不能不知道的知识——计算机组成原理(二)

一、计算机的字符与编码集

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 设计思想

  • 向设备发送数据
  • 读取数据
  • 设备有没有被占用
  • 设备是否连接
  • 设备是否启动
    主要分为:
    1. 数据线:
      是IO设备与主机之间进行数据交换的传送线
      单向数据传输线
      双向数据传输线
    2. .状态线
      IO设备向主机报告的信号线
      查询设备是否已正常连接并就绪
      查询设备是否已经被占用
    3. 命令线
      CPU向设备发送命令的信号线
      发送读写信息
      发送启动停止信息
    4. 设备选择线
      主机选择IO设备进行操作的信号线
      对连接在总线上的设备进行操作

3.3 CPU与I/O设备的通信

  • CPU速度与IO设备速度不一样

  • 程序中断

    • 当外围IO设备就绪时,向CPU发送中断信号
    • CPU有专门的电路响应中断信号
    • 提供低速设备通知CPU的一种异步方式
    • CPU可以再高速运转的同时兼顾低俗设备的响应

    那些作为程序员你不能不知道的知识——计算机组成原理(二)

3.4 DMA(直接存储器访问)

  • DMA直接连接主存与IO设备
  • DMA工作时不需要CPU的参与
  • 当主存与CPU交换数据时,不需要打断CPU
  • 可以提高CPU的效率
  • 主要存在于硬盘和外置显卡中

总结

及时总结,加深印象,继续努力。
如果看到最后,请动动小手,留下您的赞。