计算机系统
Computer Systems
作为软件工程师,我们研究计算机系统(也称为“计算机架构”),以便能够了解我们的程序最终如何运行以及机器希望我们的数据如何编码。我们的直接回报是能够编写更快、更节省内存且更安全的代码。
从长远来看,了解计算机系统的价值可能更大。我们与硬件之间的每一个抽象都或多或少地泄漏了。本课程旨在提供一套首要原则,从中可以更有效地构建更坚固的心智模型和推理。
我们首先考虑机器对数据编码方式的期望,以及一些更高级别的二进制表示,例如文本的二进制表示。我们将继续介绍介绍 C 和汇编编程,以更好地了解典型计算机为执行程序提供的接口。最后,我们将介绍提高程序性能的两个重要领域:利用 CPU 微架构和 CPU 缓存(内存层次结构)。
本课程的核心是每个主题的问题顺序。您应该致力于解决每个问题,根据需要使用有效的解决方案和补充解释器。还有一些完整的研讨会,有些人发现这有助于将主题联系在一起。虽然本课程不需要教科书,但我们推荐将计算机系统:程序员的观点 (“CS:APP”) 作为补充,并参考下面的相关 CS:APP 章节。有关如何使用 CS Primer 的更多建议,请参阅操作指南。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)