易截截图软件、单文件、免安装、纯绿色、仅160KB

Interrupt in Linux(硬件篇)—— PIC


本文来自:http://blog.chinaunix.net/u2/66786/showart.php?id=601766
1.1史前的PIC
8259A是即我们通常说的PIC,如图1-1所示:
 
图1-1 8259A
其中最重要的管脚是IR0~IR7(Interrupt Request0~7,用于连接设备)、INT(连接CPU,当有中断请求时,拉高该管脚以通知CPU中断的到来)、INTA(连接CPU,CPU通过该管脚应答中断请求,并通知PIC提交中断的vector到数据线)。此外,由于一片8259A只能连接8个设备,对于现代PC架构来说显得过少,通常会通过CS(片选)将两个8259A连在一起构成一个可以连接15个设备(有一个管脚用于串联另一片8259A)的PIC。
既然是可编程的芯片,8259A当然少不了寄存器。除了ICW(Initialization Command Word,初始化命令寄存器,用于初始化8259A)和OCW(Operation Command Word,操作命令字,用于控制8259A)外,最重要的有3个寄存器:
u       IRR:Interrupt Request Register,中断请求寄存器,共8bit,对应IR0~IR7八个中断管脚。当某个管脚的中断请求到来后,若该管脚没有被屏蔽,IRR中对应的bit被置一。表示PIC已经收到设备的中断请求,但还未提交给CPU。
u       ISR:In Service Register,服务中寄存器,共8bit,每bit意义同上。当IRR中的某个中断请求被发送给CPU后,ISR中对应的bit被置一。表示中断已发送给CPU,但CPU还未处理完。
u       IMR:Interrupt Mask Register,中断屏蔽寄存器,共8bit,每bit意义同上。用于屏蔽中断。当某bit置一时,对应的中断管脚被屏蔽。
与APIC不同,PIC的每个管脚具有优先级,以0号管脚最高。也就说,连接号码较小的设备具有较高的中断优先级。通过对PIC的ICW寄存器编程,可以设定起始vector号,以计算当前中断的vector。例如,起始vector号设为16,IR3管脚产生了中断请求,则IR3对应的vector = 16+3 =19。通过PIC发起中断的典型流程如下:
1、  一个或多个IR管脚上产生电平信号,若对应的中断没有被屏蔽,IRR中相应的bit被置一。
2、  PIC拉高INT管脚通知CPU中断发生。
3、  CPU通过INTA管脚应答PIC,表示中断请求收到。
4、  PIC收到INTA应答后,将IRR中具有最高优先级的bit清零,并设置ISR中对应的bit。
5、  CPU通过INTA管脚第二次发出脉冲,PIC收到后计算最高优先级中断的vector,并将它提交到数据线上。
6、  等待CPU写EO


相关文档:

linux sock_raw原始套接字编程

from:http://blog.chinaunix.net/u2/62281/showart_1096746.html
sock_raw原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对与监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket
 
1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)发送接收ip数据包
2.socket(PF_PACK ......

从硬盘启动linux系统

 -------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
//平台powerpc mpc8379e linux 2.6.22
1、先用fdisk 给硬盘分一个区,用作文件系统。参照u-boot-ppc编译说明一文。
2、用mke2fs格式化硬盘的一个分区mke2fs /dev/sd ......

让Solaris和Linux一样多彩


在Solaris上面工作有几个不方便地方:
一个是ls不能按照文件类型显示颜色;
另一个是VI也不能显现语法色彩;
这里就来说明如何解决这两个问题:
其实这两个问题都是Solaris自身所带的ls和vi版本的问题;
所以解决办法就是下载最新的ls和vim源文件包重新编译进行安装,看上去好像挺麻烦,其实就几步,很简单的:
最新的ls是在 ......

linux find 命令实例

·find  path  -option  [  -print ]  [ -exec  -ok  command ]  {} \;
#-print 将查找到的文件输出到标准输出
#-exec  command  {} \;     -----将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询 ......

fedora/linux yum源详细设置(强烈推荐)

经过艰苦的奋斗,终于搞定了fedora系统从安装到3D特效(本人安装的是fedora
11),为了方便后来的linuxer,特留下本人的全过程以供参考。以下步骤有的来自于google搜索,有部分来自于嘉佑中文博客
(http://www.my-guides.net/en/content/view/164/26/),并感谢各方前辈的笔迹。
1.添加rpm fusion源
rpm -ivh
http://do ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号