站在冯诺依曼体系角度看待数据传输c

1. 冯诺依曼体系


冯诺依曼体系结构包括以下几点:

(1)计算机由5部分组成,包括输入设备,输出设备,存储器(内存),CPU(运算器和控制器)。

(2)采用存储程序形式,即程序代码部分和数据部分在同一个内存中,数据和代码是没有区别的。

(3)以控制器为中心,I/O设备与存储器的数据交换都要经过运算器。

  (4)  数据以二进制的形式存储。

2. 基于冯诺依曼体系的数据传输

我们以QQ消息为例进行说明:

第一步:在打开QQ软件的前提下,我们通过键盘输入内容。此时,CPU需要处理输入设备输入的数据,但是CPU只能和内存直接进行数据交换,所以,首先我们需要把输入设备的数据通过CPU加载到存储器(内存)。

第二步:此时,点击发送,就看着数据到达消息输出框内。此时,CPU需要做大量的工作,CPU需要将数据从内存加载到它的左膀右臂中(寄存器)中,这时,硬件驱动会告知操作系统,操作系统对数据从应用层向下至数据链路层,逐层添加各自的报头,(报头的内容和具体的协议下次再细说),此时,CPU对数据的处理已经完成,将数据重新写回内存,由内存和输出设备直接联系。

第三步:数据传输路途中。在上一步的最后,数据从存储器输出到输出设备,这里的输出设备一般指网卡(在数据链路层),通过数据报头中的各种信息,我们经过一个比较复杂的过程(路由选择)将数据传递到对方的网卡中。

第四步:对方收到数据。在上一步中,我们已经将数据传送到对方的网卡中了,此时,CPU发生中断,得知有数据来了,CPU通知驱动(架起硬件和操作系统的桥梁),驱动告知操作系统,操作系统对数据不断自底向上进行解包和分用,此时,CPU完成对数据的处理工作,将数据写回内存,由内存输出到输出设备上,对方就可以看到数据了。



猜你喜欢

转载自blog.csdn.net/qq_37954088/article/details/80289528