返回课程
AI031 专业级

计算机系统:程序员视角(全球版)

深入探讨计算机系统如何执行程序和存储信息。本课程连接高级编程与底层硬件,涵盖机器级表示、处理器架构、内存层次结构以及并发编程。

5.0
36.0h
955 名学生
12 课时
0 点赞
人工智能
开始学习

课程概述

内容概要

深入探讨计算机系统如何执行程序和存储信息。本课程弥合了高级编程与底层硬件之间的差距,涵盖机器级表示、处理器架构、内存层次结构以及并发编程。

通过理解软硬件接口,掌握系统编程的艺术。

作者: Randal E. Bryant, David R. O'Hallaron

致谢: 由卡内基梅隆大学15-213课程的学生和教师支持。致谢包括Manasa S.和Mohit Tahiliani的贡献。

学习目标

  1. 识别系统中如何使用位和上下文来表示信息。
  2. 追踪从源代码到可执行文件的编译系统的四个阶段。
  3. 描述硬件的组织结构以及存储设备的层次特性。
  4. 在十进制、二进制和十六进制之间进行转换,并解释机器级寻址(字节序)。
  5. 在C语言中执行位级和逻辑运算,并预测算术右移的结果。
  6. 分析整数编码以识别潜在的溢出漏洞和类型转换错误。
  7. 分析 C语言构造(循环、分支、函数)与x86-64汇编指令之间的映射关系。
  8. 剖析 运行时栈,解释参数传递方式、局部变量存储机制以及递归调用的管理方式。
  9. 评估 异构数据结构的内存布局,并应用对齐规则计算总存储需求。
  10. 定义Y86-64程序员可见状态,并将指令编码/解码为字节序列。

课程

Lesson