社区
汇编语言
帖子详情
关于多核编程的问题
lyramilk
2010-03-12 11:14:14
DOS下的com程序,怎样操作两个CPU分别去做两件不同的事呢?明白的说下思路,有相关代码的给一些也好。
我知道APIC,不过看不明白。
...全文
159
4
打赏
收藏
关于多核编程的问题
DOS下的com程序,怎样操作两个CPU分别去做两件不同的事呢?明白的说下思路,有相关代码的给一些也好。 我知道APIC,不过看不明白。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
budao3
2010-03-22
打赏
举报
回复
local APIC是每个CPU都会有的;而IO APIC是在南桥。在DOS下有一颗CPU是处于活动的状态,这个cpu可以通过自己的local APIC发一个message给其他的CPU来唤醒它,当cpu接收到这个message之后就会醒过来。线程的调度跟这个是两回事吧,线程的调度是由OS来完成的,就算只有一个cpu还是有多线程;它是将cpu的时间分成多个时间片,每个线程有固定的时间片。
lyramilk
2010-03-22
打赏
举报
回复
[Quote=引用 1 楼 budao3 的回复:]
在DOS下面只会有一个cpu(BSP)在运作,其他都是处于睡眠状态;如果你在想要其他的CPU(AP)来做其他事情的话,必须通过BSP的local APIC发message给AP APIC来唤醒它。DOS并不支持多核的情况,不知道这样会不会照成死机。APIC有两个地方有,一个是在CPU中,对于每个CPU都会有一个local APIC负责接收所有的中断(包括CPU内部自身的中断,CPU之间的互相传递……
[/Quote]
localAPIC给CPU的IOAPIC发消息的时候,CPU怎样被唤醒的呢?是进行一个中断响应吗?如果CPU是被这个消息中断的,那么它被中断后是执行线程调度吧?
在多线程工作的时候,是如何切换任务的呢?是所有CPU都去响应时钟中断吗?
大熊猫侯佩
2010-03-12
打赏
举报
回复
从x86硬件底层来说,可以看一下intel的手册的cpu调度部分。
budao3
2010-03-12
打赏
举报
回复
在DOS下面只会有一个cpu(BSP)在运作,其他都是处于睡眠状态;如果你在想要其他的CPU(AP)来做其他事情的话,必须通过BSP的local APIC发message给AP APIC来唤醒它。DOS并不支持多核的情况,不知道这样会不会照成死机。APIC有两个地方有,一个是在CPU中,对于每个CPU都会有一个local APIC负责接收所有的中断(包括CPU内部自身的中断,CPU之间的互相传递的message(IPLs),还有就是外围设备中断),并将中断交给CPU去处理。还有一APIC叫IOAPIC,在南桥内部;负责接收南桥上所有device的传过来的中断,一个有24个接口,不过在DOS下这个是被disable的,DOS用到的是8259A中断接收。现在8259A也是通过local APIC传到CPU去处理。
VxWorksSMP
多核
编程
指南.pdf
多核
编程
中的核心
问题
之一是同步,涉及spinlock、taskLock()、intLock()等同步机制。spinlock是轻量级的锁机制,适用于短暂等待,而taskLock()和intLock()用于在
多核
环境下保护临界区。文中会详细说明这些锁机制的...
Aurix
多核
编程
精华应用笔记
10.
问题
解决与性能优化:笔记中可能还包含了关于在
多核
编程
中常见的
问题
诊断和性能优化的指导。 通过深入学习本应用笔记,开发者不仅能够掌握AURIX™
多核
项目的
编程
要点,还能有效利用相关的开发工具与技术,提升...
多核
编程
之挑战与应对
多核
编程
是现代计算机技术的重要组成部分,随着处理器技术的发展,
多核
处理器已经成为主流,它通过在一枚处理器中集成两个或多个内核,实现并行计算,从而提高整体性能。相较于单核处理器,
多核
能够在保持较低功耗的...
多线程与
多核
编程
.pdf
### 多线程与
多核
编程
#### 13.1 进程与线程 **13.1.1 进程与多任务** 进程是操作系统中的一个重要概念,指的是正在执行中的程序。在现代多任务操作系统中,可以同时运行多个程序。进程包含了程序在内存中的所有...
《精通Lambda表达式:Java
多核
编程
》.pdf
《精通Lambda表达式:Java
多核
编程
》
汇编语言
21,497
社区成员
41,616
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章