[Collection]超线程和双核技术有什么不同?
利用超线程(hyper-threading)技术可以让单物理内核的处理器通过模拟方式实现在对称处理模式下双处理器运行的效果。但是使用超线程技术的两个逻辑处理器并没有独立的执行单元、整数单元、寄存器甚至缓存等资源。它们的运行过程中仍需要共用执行单元、缓存和系统总线接口,在执行多线程时两个逻辑处理器均是交替的工作,如果两个线程都同时需要某一个资源时,其中一个要暂停并要让出资源,要待该资源闲置才能继续。
而双核处理器中每个核心拥有独立的指令集、执行单元,可以同时执行多项任务,能让处理器资源真正实现并行处理模式,其效率和性能提升要比超线程技术高得多。
例如:在执行某一运算任务时,在单线程情况下需要6个时钟周期,但双线程下就能在3个时钟周期内完成。如果使用超线程技术的单核处理器在某周期中出现重叠的情况就会导致某个线程出现延迟,那么整个运算周期可能会增加到4个。
分类: 嵌入式开发
最近评论