计算机组成——外设

来源:互联网 发布:数据库管理系统考试 编辑:程序博客网 时间:2024/05/21 17:25

 引言

    目前使用的计算机的结构大都采用冯.诺依曼结构。包括:CPU(运算器,控制器),存储器,输入输出设备。

先从输入输出设备走起,简单说下输入输出技术。

编址方法

 在编程的世界里,对外设的接口编址有两种,一种是内存与接口地址独立编址方法,另一种是内存与接口地址统一编址方法。


独立编址:顾名思义,独立就是内存和接口编址分开编址,接口是接口,内存是内存。他们的指令不相同,而且各自有各自的编址空间。而且各自的编址空间是连续的。


统一编址:顾名思义,内存和接口是一模一样的。采取统一的编址空间,各自的编址空间你中有我,我中有你。即:编址空间是不连续的。指令也是大体相同的。


CPU与外设的传送方式

大体有三种:程序方式,中断方式,DMA方式


在程序方式中有两种:无条件传送,这种传送比较简单,外设和CPU可以随时进行输入的交换。适用于一些简单的,少量的,不频繁的数据交换。这也像时间管理,这些简单的事,不是频繁的事情,两份钟原则。直接去做。


有条件传送,相反的适用于一些复杂的,较为频繁,或者外设不充裕的情况下,采取该种方式。这种事情就较为复杂了,而且很频繁。或许我们就需要拿出一个番茄来处理了。就相当于有条件。


先说下生活的一件事情。由于本人担负卫生环境方面的责任。所以会检查卫生是否合格等等。反映在计算机里:我会主动的发起信号,来检测是否有条件为true的信号。也就是说这种就是——程序查询方式,CPU会主动检测外设的状态,然后判断状态是否满足TRUE,如果满足CPU就会执行相应的外设请求。


程序查询方式:这种外设与CPU的数据传送方式我不喜欢,这是一种CPU主动的方式。CPU会检测外设的状态,如果 

检测到了true的信号,就会去处理。在这种方式里有两大缺点:降低了CPU的效率。对外部的突发事件无法做到实

时处理。当然了这种方式实现起来很简单,电路设计也简单。只要约定一个时间,让CPU重复两个步骤:检测接口的状

态,检测状态是否满足true的条件。与生活做类比,闹钟的设置就蕴涵了一个道理。我们设置了闹钟的时间,是让

时间来发出一个信号——我们该起床了。而不是我们每个一段时间去查看下时间,看是否到了该起床的时间了。


另一个生活事情:我们的大老板是不会主动检测卫生环境问题的。而且有下面来发现问题,主动的向上请求老板,让老板来处理。这样就保证有了问题才会请大老板。这样才不会浪费大老板的宝贵资源。除非是下面除了问题,断线了。大老板才会出动。反映到计算机里这就是——中断方式。

中断方式:

中断方式实现起来,较为复杂,而且电路设计,程序设计也不简单。不过对于现在实现起来是很简单的了。


主要由三个步骤:1、外设发出请求信号。2、CPU接受信号,,保存好自己的当前的执行程序。3、处理外设的请求。4、返回原先的程序,继续执行。根据它的步骤我们就知道,实现起来不简单,电路设计也要复杂一些。不过对于现在的技术来说已经不难了。


中断的方法:通知老板的方法很多,有邮件,有飞信等。看计算机的通知方法都有哪些(离不开硬件和软件)。

1、多中断信号线法。每个中断源都有一个CPU的专线。

2、中断软件查询法。通过软件来查询是哪个线路的请求。

3、菊花链法:所有的中断源共用一个线路。

4、总线仲裁法。一个总线仲裁机制。

5、中断向量表法:用来保存各个中断源的中断服务程序入口地址,以便CPU去处理中断源的请求。


知道怎么处理中断请求之后,又有新的问题了。大老板怎么处理多个人的请求呢,很简单,根据一定的标准来判断谁的请求更加的高级,遇到高级的请求就处理,甭管现在再处理谁的请求。


最后一个方式——直接存储器方式

这种方式不需要CPU的参与,是在主存与外设之间直接进行数据块的传递。


总线:

数据的传送离不开线路,总线分为三种

1、芯片级——内部总线。我认为是CPU了,内存了里面的一些线路。

2、系统总线——插件级总线(ISA EISA VEISA PCI)。我认为是主板上的那些线路。比如:地址,数据总线。

3、外部总线——又称通信总线(USB SCSI RS-232C IEEE系列)。咱们能看的见的线路。


PS:在软考中考到了总线周期这么一题。

时钟周期:CPU处理操作的最基本的单位,即我们所说的主频。

机器周期:访问内存花费的时间,读取一条指令的时间。

指令周期:读取指令,并执行完所需要的时间。

总线周期:CPU完成一次访问MEM或IO/端口操作所需要的时间。一般为4个时钟周期。



0 0
原创粉丝点击