微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机小白学步(17) 单片机/计算机系统概述:核心模块

单片机小白学步(17) 单片机/计算机系统概述:核心模块

时间:11-19 来源:互联网 点击:

围模块速度远不及CPU,例如从硬盘读数据;也可能是执行不需CPU干预的费时操作(也可以理解成外围模块执行这个操作的速度慢);或者是接收来自外界的操作,例如按下键盘电脑需要很快进行响应,要不然就表现为很卡甚至死机了。

这时为了及时知道外围器件处理的结果并进行处理,就有几种工作流程了。

一是轮询法(故事中的方法一)。以一定的间隔不断查询外围器件工作状态。好处是设计起来比较简单;缺点是效率太低,特别是当外围设备太多、速度差异很大时,CPU几乎没空干别的事。

二是中断法(故事中的方法二)。外围模块处理好任务以后,主动给CPU发送中断请求(填好表格交给班长)。然后CPU中断当前任务,转而处理中断请求,对该模块的执行结果进行处理(检查表格填写正确,并收集表格)。处理中断请求之前,需要保护现场(放书签),处理完中断请求,再恢复现场,继续之前任务(继续看书)。

DMA

前面的故事其实还有方法三。班长由于最近事情太多,决定请副班长帮忙收集表格,让同学们自己把表格交给副班长。副班长把表格都收集完了,再由他交给老师。这种方法需要征得副班长的同意,不过效果很好。

同样对于微机系统来说,也有第三种方法,这种方法就叫做DMA(DMA=Direct Memory Access,直接内存访问)。在CPU之外设置一个DMA控制器(副班长),根据CPU发送的指令,外围设备处理完数据,通过DMA直接将数据保存到内存中的指定位置,然后才用中断通知CPU处理。

在比较复杂的系统中,DMA能大大提高执行效率。51等单片机本身没有DMA功能,可以在外部添加DMA控制器芯片实现(例如Intel 8237)。不过性能相对较低的单片机不能实现复杂系统,所以使用DMA的意义不大。

定时器/计数器

这里的定时器和我们生活中的定时器相似,主要区别是这个定时器往往定时时间很短;定时器定时时间到,不会响铃,而是通过中断的形式通知CPU。计数器则是计数高低电平脉冲数量的,而定时器通常正是由计数器实现的。这两个模块放在一起讲解,正是因为他们通常就是设计在一块的,后面再做详细介绍。

计算机/单板机/单片机

核心模块基本介绍完了。对于一个微机系统,CPU、存储器(主要指RAM和ROM)是必不可少的,实际上还会有很多其他设备。对于计算机而言,这些模块一般都是独立的,通过主板连接在一起。早期人们把CPU、RAM、ROM等器件集成到一块电路板上,被称为单板机。后来集成电路技术不断发展,CPU、RAM、ROM、中断等模块集成到一个芯片中,就成了单片机。

=======================================================

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top