大家好,欢迎来到IT知识分享网。
看CSAPP果然大有收获,超线程就是其一。
我们知道计算机的CPU是从单处理器开始,到多处理器,再到多核,最后超线程技术的出现。
单处理器很好理解,就是一个CPU。
所以同一时刻只能运行一个进程,在分时任务系统出现之前,用户只能等待前一个任务结束,才能执行下一个任务。
在分时任务系统出现之后,由系统调度,让CPU轮流执行任务,只不过切换的速度太快,所以造成了同时运行的假象!
无论是多线程还是多进程,需要切换的时候,必须保存原有的状态信息,再载入新的状态信息 — context switch!
这些信息包括:PC(程序计数器)、Register files等,主要是当前执行到哪个指令了,运算的结果是啥之类的。
多处理器,也很好理解,就是一个主机上安装了多个CPU,但各自为政,没有低层次的数据共享!
多核,也是多个CPU,但共享线路,甚至共享主存(?),现在的主流!
超线程,这是一种新技术(相对而言),以上面的多线程执行来说,如果每个CPU多来几个PC、Register files,那线程切换时的代价就小的多 — 不需要保存和重载了!
超线程就是基于这种理念,以core i7为例,每个CPU有两套PC、Register files等硬件,然后只有一套浮点运算单元!这样,可以同时保持两个线程,切换起来也速度飞快!
这就是为什么我们总听说双核四线程、四核八线程!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34660.html