为什么每个软件工程师都应该学习计算机架构。

2025-05-28

为什么每个软件工程师都应该学习计算机架构。

介绍

我认为成功与两件事息息相关:你如何看待世界,以及你对世界的真正理解程度。软件工程也是如此;计算机架构是软件工程的精髓,如果你足够理解它,那么软件工程将会变得轻而易举。

什么是计算机体系结构?

根据维基百科:

计算机体系结构是描述计算机系统功能、组织和实现的一组规则和方法。
一些体系结构的定义将其定义为描述计算机的功能和编程模型,而非特定的实现。

简而言之,CA 基本上是控制硬件和软件如何相互作用的一组规则。

为什么要学习计算机架构?

计算机架构能帮你超乎想象。
比如,大多数F1赛车手都非常了解他们的赛车引擎,他们甚至比工程师更早发现引擎的任何问题!

他们还了解物理学和空气动力学,因此这有助于他们在 Pitstop 中向机械师发出精确的指令,例如调整车头或车轮,从而让他们赢得更多比赛。

那么,这一切和CA有什么关系呢?它们的概念是一样的!当你理解并掌握了软件工程的基石后,你就知道如何更高效地处理问题并实现目标。

为什么要学习计算机架构:

  • 您很可能会在余生中一直使用它。
  • 计算机体系结构是计算机科学中最基础的学科之一。没有计算机,计算机科学领域就不会存在。
  • 您需要了解指令和操作实际上是如何工作和交互的,以使您的软件变得更好;因为无论您做什么,无论什么,它都在 CA 之上。
  • 计算机架构将帮助您设计、开发和实现更好、更快、更便宜、更高效、更易于使用的应用程序,因为您将能够做出明智的决策,而不是猜测、估计和假设。

计算机架构如何影响您的编码方式的示例:

分支预测:假设你在一列火车上,你的工作是观察路线,并且你正位于一个铁路枢纽:

铁路

你必须选择一条路,但你不知道该走哪条路;所以你要么选择正确的路,要么选择错误的路。如果你选择了正确的路,你就会继续走下去;然而,如果你选择了错误的路,你就会回头选择另一条路。所以,如果你一直选择正确的路,你就不用再回头了;如果你选择了错误的路,你就不得不不断地来回走,
明白吗?

考虑一个 if 语句:在处理器级别,它是一个分支指令:
代码

现在你是一个处理器,你看到一个分支,你不知道要走哪条路,所以你必须输入。

  • 如果你猜对了,执行就永远不会停止。
  • 如果猜错了,您将花费更多时间返回并重新开始执行。

那么,我们每次如何做出更好的选择呢?
我们观察。如果过程通常向左,我们就猜向左。如果过程大多数时候向右,我们就猜向右。如果过程交替进行,我们也交替选择。

这或多或少就是分支预测的工作原理。

结论

学习计算机架构,成为一名更好的软件工程师。


特别感谢审阅者 Rawan Attia。

文章来源:https://dev.to/voider/why-everyone-software-engineer-should-learn-computer-architecture-2nb2
PREV
如何使用 Node.js 和 Express 发送和接收短信
NEXT
How to Protect Your Server From Hackers Keep your software up to date