《计算机组成原理》 输入输出系统

I/O功能模块通常简称为:I/O接口,也叫适配器,指CPU、主存和外围设备之间通过系统总线进行连接的标准化逻辑部件。为了保证处理器和不同外设之间高效和可靠的交互,CPU必须通过I/O接口与外设连接,其数据传送过程分为两个阶段:I/O接口与外设之间的数据传送,以及CPU与I/O接口之间的数据传送。

下图展示了CPU、I/O接口和外围设备之间的连接关系。其中外围设备自身带有设备控制器,它是控制外围设备进行操作的控制部件,它通过I/O接口接收来自CPU传送的各种信息,并根据设备的不同要求将这些信息传送到设备,或者从设备中读出信息传送到I/O接口。

一个标准的I/O接口可以连接一个或多个设备,其结构也如图中所示,通常包括如下功能:

  • 控制:接口模块根据指令信息来控制外围设备的动作,比如启动或者关闭;
  • 缓冲:接口模块在外围设备和计算机其他部件之间作为一个缓冲器,以补偿各种设备在速度上的差异;
  • 状态:接口模块监视外围设备的工作状态并保存,比如准备就绪或者忙,供CPU询问外围设备状态时用;
  • 转换:接口模块可以完成数据转换,保证数据能在外围设备和CPU之间正确的传送;
  • 整理:接口模块可以完成一些特别功能,当需要时可以修改字计数器或者当前内存地址寄存器;
  • 程序中断:当外围设备向CPU请求某种动作时,接口模块会产生一个中断请求信号到CPU;

《计算机组成原理》 总线系统

总线是构成计算机系统的互联机构,是多个系统部件之间进行数据传输的公共通道。借助于总线,各部件之间实现地址、数据、控制信息的互换。一个单处理器系统中的总线,可以分为三类:

  • 内部总线:CPU内部连接各寄存器及运算部件之间的总线;
  • 系统总线:CPU同计算机的其他高速功能部件,如存储器、通道等互相连接的总线,称为系统总线;
  • I/O总线:低速I/O设备之间互相连接的总线;

Redis 日常操作

官方文档:https://redis.io/commands/

Remote Dictionary Server远程字典服务,是一个开源的使用C语言编写的Key-Value数据库。redis是一个基于内存的存储系统,当然也支持持久化,它会周期性的把更新的数据写入磁盘(RDB)或者把修改操作追加的记录文件(AOF),并在此基础上实现master-slave(主从)同步。所以redis可以用于高速缓存(内存&多路复用IO),同时它支持多种数据类型,以及集群和事务的操作,进而也可以用于发布订阅、地图信息分析、计数器等系统