<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>APIC on 软件开发大郭的技术博客</title>
		<link>https://blog.grabbyte.com/tags/apic/</link>
		<description>Recent content in APIC on 软件开发大郭的技术博客</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Fri, 11 Sep 2026 09:54:06 +0800</lastBuildDate>
		
			<atom:link href="https://blog.grabbyte.com/tags/apic/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>自制工业控制系统：CPU信息与多核实战——CPUID、INIT-SIPI-SIPI唤醒与双核分工</title>
				<link>https://blog.grabbyte.com/p/2026/09/11-0954.html</link>
				<pubDate>Fri, 11 Sep 2026 09:54:06 +0800</pubDate>
				<guid>https://blog.grabbyte.com/p/2026/09/11-0954.html</guid>
				<description>&lt;h1 id=&#34;起因&#34;&gt;起因&lt;/h1&gt;&#xA;&lt;p&gt;工控主板上插的是多核 CPU，我们的系统到现在只用了一颗核——固件唤醒的 BSP，第二颗核从开机起就在那儿睡觉。这篇干两件事：一是把 CPUID 用起来，CPU 什么型号、几个核、缓存多大、支持哪些指令，一条指令全问出来——自检页要显示的 CPU 信息、页帧分配器要的物理地址宽度，数据源都是它；二是把第二颗核叫醒干活，INIT-SIPI-SIPI 唤醒、每核自己的自举，然后给两颗核分好工——Core0 跑实时、Core1 跑服务，物理上的隔离比任何软件优先级方案都硬。&lt;/p&gt;</description>
			</item>
			<item>
				<title>自制工业控制系统：APIC定时器与系统时间实战——寄存器级配置、HPET校准与RTC读写</title>
				<link>https://blog.grabbyte.com/p/2026/09/11-0935.html</link>
				<pubDate>Fri, 11 Sep 2026 09:34:46 +0800</pubDate>
				<guid>https://blog.grabbyte.com/p/2026/09/11-0935.html</guid>
				<description>&lt;h1 id=&#34;起因&#34;&gt;起因&lt;/h1&gt;&#xA;&lt;p&gt;调度篇（&lt;a href=&#34;https://blog.grabbyte.com/p/2026/09/10-1743.html&#34;&gt;中断驱动的硬实时层与协作式主循环&lt;/a&gt;）承诺&amp;quot;硬实时层的确定性来自中断优先级&amp;quot;，这篇兑现它：屏蔽 PIC、启用 APIC、配置定时器、校准频率，最后加上工业系统天天要用的&lt;strong&gt;系统时间读写&lt;/strong&gt;（RTC/CMOS 实操）。全部给到寄存器级。这条时间线上的每个部件都有来历：8259A 是 Intel 1976 年给 8080 配的中断控制器，PC/AT 上两片级联管 15 路中断一用四十年；APIC 体系是九十年代为多处理器机器生的，最早是主板上的外置 82489DX，Pentium 起把 Local APIC 塞进 CPU，多核时代每核一份；HPET 是 Intel 和微软 2000 年代联手定的规范，接 1981 年 IBM PC 那颗 8253/8254 PIT 的班——DOS 时代 18.2Hz 的系统节拍就是 PIT 传下来的祖制；RTC 则从 PC/AT（1984）起蹲在 CMOS 里，靠纽扣电池活到今天。&lt;/p&gt;</description>
			</item>
			<item>
				<title>自制工业控制系统：中断驱动的硬实时层与协作式主循环——两级调度模型设计</title>
				<link>https://blog.grabbyte.com/p/2026/09/10-1743.html</link>
				<pubDate>Thu, 10 Sep 2026 17:43:37 +0800</pubDate>
				<guid>https://blog.grabbyte.com/p/2026/09/10-1743.html</guid>
				<description>&lt;h1 id=&#34;起因&#34;&gt;起因&lt;/h1&gt;&#xA;&lt;p&gt;《&lt;a href=&#34;https://blog.grabbyte.com/p/2026/09/10.html&#34;&gt;自制工业控制系统：从UEFI到内核，为线切割机全自研专用系统的立项与技术选型&lt;/a&gt;》定了整体方向——用现代技术栈做一个不受第三方系统限制、又不用做得那么复杂的专用工业系统。调度模型是这个系统里最容易被想得过于复杂的一块：一提到&amp;quot;操作系统调度&amp;quot;，很容易联想到 Linux CFS 那种复杂的多级反馈队列，或者实时操作系统教科书里一整套优先级继承、优先级天花板协议。这套东西对一台专用机床控制系统来说，大部分是不需要的负担。优先级继承和天花板协议是上世纪八十年代 RTOS 研究为治互斥锁上的优先级反转发明的药，1997 年火星探路者栽在这病上（低优先级的气象任务卡住高优先级的总线任务，整机被看门狗复位）之后才广为人知——可见药再好，病根是&amp;quot;任务共享锁&amp;quot;这个前提本身。工控行业自己还有一支更朴素的血统：前后台系统，主循环转着干杂活、中断干要紧事，DOS 时代 HF 那类线切割控制柜跑了几十年就是这个结构。这篇定下这台线切割机控制系统实际要用的调度模型：&lt;strong&gt;不是纯抢占式也不是纯协作式，是按任务的实时性要求分成两级，各自用最简单够用的机制&lt;/strong&gt;——把那支老血统在现代硬件上重新讲一遍。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
