简介
以下的简介主要来自WIKI(https://en.wikipedia.org/wiki/Intel_8253)。需要注意的是网站中将8253和8254一起说明了,因为时间上两者都来自825x系列的芯片。
8254是一个PIT(Programmable Interval Timer),它利用若干个寄存器来进行定时和计时的操作。
8254芯片的引脚如下图所示(8253和8254具有相同的引脚):
在x86架构中,8254通常已经不是一个独立的芯片了,而是集成到了PCH(一个芯片组)中。
8254在PCH
可以在PCH的EDS中查看8254的说明,比如下面的PCH手册:
从该手册可以看到8254的基本说明。
首先,从前面的引脚图也可以看到,8254有三个输出(OUT1/2/3),其中第0组与IRQ0关联用作系统时钟,第2组通常用来提供外部蜂鸣器的频率,而第1组现在似乎不再使用了。
8254的编程
直接放PCH EDS中的说明:
具体的代码也可以在https://gitee.com/jiangwei0512/vUDK2017找到,对应的模块是PcAtChipsetPkg\8254TimerDxe\8254Timer.inf。
其它说明
由于HPET的存在,实际上目前8254的用处已经比较少了,在BIOS/UEFI基础——定时器有进一步的介绍。