首页 > 作文

cpu的作用

更新时间:2023-03-12 12:22:23 阅读: 评论:0

中国眼-青蒜炒肉

cpu的作用
2023年3月12日发(作者:七岁小孩)CPU通常提供了一个framework,让操作系统利用中断来实现线程调度,在线程调度里实现锁。操作系统的线程并不是非要运行在某一个固定的逻辑核上面,而且线程通常绑定了一组寄存器的值(如果像VC++一样用__await实现coroutine的话,会有若干组)。所以基本的关系就是,CPU有物理核,上面再有逻辑核,操作系统通过把寄存器的值(和一些其他的东西)在不同的时候复制到不同的逻辑核上面来实现线程。



cpu线程是一堆寄存器而已,如当前指令寄存器地址,栈指针,分页寄存器等,x86 cpu刚开始是支持多线程切换的,既在cpu指令级实现线程切换,比如任务门。但操作系统一般都不用这个功能,而是只使用一个线程,通过修改栈指针来实现线程切换。64位x86就取消任务门了。因此,cpu的线程跟操作系统说的线程,几乎没啥关系。即便cpu不支持线程,操作系统也是可以实现线程功能的。要说联系的话,现在多核cpu,有多个虚拟cpu,每个虚拟cpu有一个cpu线程,为了发挥cpu最大功效,操作系统也得准备相应数量的线程才行。





操作系统的线程是个软件概念,线程切换的行为与c语言中的函数调用颇为类似,可以粗略的认为线程就是一个函数,概念和实现上差不多。 cpu的线程,简单来说是一个在硬件层面实现的多条指令执行流或者队列,在某些多线程的cpu上会设置多个pc,多条流水线,冗余的功能单元,通过调度可以最大限度的使用功能单元,可以去看一下同时多线程(SMT——Simultaneous Multi-threading)的概念,方便理解。 从粒度上看,操作系统的多线程粒度要比cpu的多线程粒度要粗。一个操作系统线程开始运行的时候,在cpu上会形成多条指令流,即cpu多线程。 操作系统多线程是为了利用多个处理器核心,而cpu多线程是为了利用cpu内部冗余的功能单元,一般只有多发射的cpu才会有多线程,采用cpu多线程会提高其指令吞吐量。

本文发布于:2023-03-12 12:22:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678594943225654.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:cpu的作用.doc

本文 PDF 下载地址:cpu的作用.pdf

下一篇:返回列表
标签:cpu的作用
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图