Parallel Programming

Advanced Computer Concepts for The (Not So) Common Chef: First Some Terminology Part 2

OF COURSE, I KNOW WHAT A THREAD IS….DON’T I?

Now that we know what a core is, let’s dive into another source of confusion.

This section gets a little deeper into techno babble than I wanted for this series of blogs. If you are so inclined, my gourmet readers, you can either skip or read on. I believe the rest of the blogs can be understood with or without this little aside. But for those of you who are already familiar with threading, it may give you more insight than would be the case otherwise.

针对“普通级(以上)厨师”的高级计算机概念: 术语第 2 部分

我当然知道什么是线程...难道我不知道吗?

了解什么是内核之后,我们要探讨另外一个令人困惑的概念。

我将在这部分通过一系列博客深入介绍一些计算机术语。 如果觉得乏味,我的美食家读者们,你们可以选择跳过或继续阅读。 在我看来,不管这部分有或没有,都不妨碍理解其他博客。 不过如果你们其中有人已对线程化有所了解,可以通过这部分内容获得更多洞察。

在了解比喻的核心内容前,我们首先了解一下什么是‘线程’。 计算机科学家了解并喜欢使用的一般意义上的线程,与内核中执行程序时所涉及的线程不同。 例如,超线程实际上并不是指一个内核能够执行程序派生的两条线程(比如 MyProgram.ThreadA 和 MyProgram.ThreadB)。 (超线程稍后再做详细介绍。) 不要误会,它们之间存在关联。 计算机架构师所说的线程主要是指“执行线程”,而非程序。 就硬件而言,不存在程序,只存在硬件执行的一系列指令,因此称为“执行线程”。

(在此我将“硬件线程”和“软件线程”分别简称为 “HW-thread” 和 “SW-thread”。)

我希望以下这些并不怎么专业插图能对大家有所帮助。

Advanced Computer Concepts For The (Not So) Common Chef: Terminology Pt 1

Before we start, I will use the next two blogs to clear up some terminology. If you are familiar with these concepts, I give you permission to jump to the next section.  I suggest any software readers still check out the other blog about threads. There is a lot of confusion, even among us software professionals.

针对“普通级(以上)厨师”的高级计算机概念: 术语(第 1 部分)

开始之前,我想通过下面两篇博客解释一些术语。 如果对这些概念已经有所了解,可以直接跳至下一部分。  我建议所有软件读者参阅其他关于介绍线程的博客。 这个领域存在许多混淆,即使我们软件专业人员也无法避免。

我们首先来了解一下什么是处理器、CPU、内核以及封装。 电视等大众媒体在使用这些术语时通常比较随便。 然后我们介绍线程,尤其是硬件和软件线程之间的区别。 人们通常容易混淆这些不同线程之间的区别,即使计算机编程人员也不例外。

内核? CPU? 封装? 芯片? HUH?

请大家注意下图 CPU 的左侧。 在奔腾® 处理器时代,人们通常将计算机中执行程序指令的组件(即计算机的大脑)称为“CPU” 或‘处理器’。 这两者之间几乎没有区别。 ‘计算机芯片’指上面刻有集成电路的芯片,比如 CPU。 ‘封装’指由塑料和金属制成的外壳,用于包裹和保护芯片不被大量针脚/接口刺穿,同时也是出于美观的考虑。

Iscriversi a Parallel Programming