zoukankan      html  css  js  c++  java
  • 超线程是什么?

    看CSAPP果然大有收获,超线程就是其一。

    我们知道计算机的CPU是从单处理器开始,到多处理器,再到多核,最后超线程技术的出现。

    单处理器很好理解,就是一个CPU。

      所以同一时刻只能运行一个进程,在分时任务系统出现之前,用户只能等待前一个任务结束,才能执行下一个任务。

      在分时任务系统出现之后,由系统调度,让CPU轮流执行任务,只不过切换的速度太快,所以造成了同时运行的假象!

      无论是多线程还是多进程,需要切换的时候,必须保存原有的状态信息,再载入新的状态信息 -- context switch!

      这些信息包括:PC(程序计数器)、Register files等,主要是当前执行到哪个指令了,运算的结果是啥之类的。

    多处理器,也很好理解,就是一个主机上安装了多个CPU,但各自为政,没有低层次的数据共享!

    多核,也是多个CPU,但共享线路,甚至共享主存(?),现在的主流!

    超线程,这是一种新技术(相对而言),以上面的多线程执行来说,如果每个CPU多来几个PC、Register files,那线程切换时的代价就小的多 -- 不需要保存和重载了!

      超线程就是基于这种理念,以core i7为例,每个CPU有两套PC、Register files等硬件,然后只有一套浮点运算单元!这样,可以同时保持两个线程,切换起来也速度飞快!

      这就是为什么我们总听说双核四线程四核八线程

  • 相关阅读:
    如何查找并启动 Reporting Services 工具
    数据压缩技术
    压缩算法
    新版压缩库发布
    如何处理海量数据
    安卓手机获得Root权限
    安卓项目的源码
    压缩算法1
    ODBC, OLEDB, ADO, ADO.Net的演化简史
    C# 文件压缩与解压(ZIP格式)
  • 原文地址:https://www.cnblogs.com/larryzeal/p/7695119.html
Copyright © 2011-2022 走看看