深入浅出计算机组成原理学习笔记:输?输出设备:我们并不是只能?灯泡显?“0”和“1”(第43讲)…

我们在前面的章节搭建了最简单的电路,在这里面,计算机的输入设备就是一个一个开关,输出设备呢,是一个一个灯泡。的确,早期发展的时候,计算机的核心是做“计算”。
我们从“计算机”这个名字上也能看出这艺点。不管是中文名字“计算机”,还是英文名字“Computer”,核?都是在”计算“这两个字上。不过,到了今天,这些“计算”的贡作,更多的是艺个幕后工作。

我们讨论是使用自己的PC,还是智能手机,这部分时间都是在和计算机进行各种“交互操作”。换句话说,就是在和输入输出设备打交道。这些输入输出设备也不再是个一个开关,
或者一个一个灯泡。你在键盘上直接敲击的都是字符,而不是“0”和“1”,你在显示意器上看到的,也是直接的图形或者文字的画面,而不是一个一个闪亮或者关闭的灯泡。
想要了解这其中的关窍,那就请你和我一起来看一看,计算机里面的输入输出设备。

一、经典的适配器模式

1、硬件设备并不是直接和CPU直接通信的

 

二、经典的适配模式

1、把接口和实际设备分离

3、Windows操作系统

 

首先是数据寄存器

而状态寄存器

2、IntelX86

 

这是一张我自己的显卡,在设备管理器里面的资源(Resource)信息。你可以看到,里面既有MemoryRange,这个就是设备对应映射到的内存地址,也就是我们上?所说的MMIO的访问方式
。同样的,里面还有I/Oange,这个就是我们上?所说的PMIO,也就是通过端?来访问I/O设备的地址。最后,里面还有一个IRQ,也就是会来?于这个设备的中断信 了。

五、总结与延伸

好了,讲到这里,不知道,现在你是不是可以把CPU的指令、总线和I/O设备之间的关系彻底串联起来了呢来带你回顾一下。

CPU并不是发送一个特定的操作指令来操作不同的I/O设备。因为如果是那样的话,随着新的I/O设备的发明,我们就要去扩展CPU的指令集了。

在计算机系统里面,CPU和I/O设备之间的通信,是这么来解决的。

首先,在I/O设备这?侧,我们把I/O设备拆分成,能和CPU通信的接?电路,以及实际的I/O设备本身。接?电路里面有对应的状态寄存器、命令寄存器、数据寄存器、数据缓冲区和设备内存等等
。接?电路通过总线和CPU通信,接收来?CPU的指令和数据。?接?电路中的控制电路,再解码接收到的指令,实际去操作对应的硬件设备。

而在CPU这?侧,对CPU来说,它看到的并不是已个个特定的设备,而是已个个内存地址或者端?地址。CPU只是向这些地址传输数据或者读取数据。所需要的指令和操作内存地址的指令其实没有什么本质差别。
通过软件层面对于传输的命令数据的定义,而不是提供特殊的新的指令,来实际操作对应的I/O硬件。

相关资源:软件标书范本(技术部分)_软件技术标书-项目管理文档类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月13日
下一篇 2019年7月13日

相关推荐