计算机系统基础(一) :程序的表示、转换与链接

  • 4.7
Approx. 44 hours to complete

Course Summary

This course covers the fundamental principles and concepts of computer systems, including hardware, software, and operating systems. Students will learn how to design and implement basic computer programs and will gain an understanding of computer architecture and operating systems.

Key Learning Points

  • Understand the basic principles and concepts of computer systems
  • Learn how to design and implement basic computer programs
  • Gain an understanding of computer architecture and operating systems

Related Topics for further study


Learning Outcomes

  • Design and implement basic computer programs
  • Understand the basic principles and concepts of computer systems
  • Gain an understanding of computer architecture and operating systems

Prerequisites or good to have knowledge before taking this course

  • Basic programming skills
  • Understanding of computer hardware and software

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced
  • Video lectures

Similar Courses

  • Computer Science: Algorithms, Theory, and Machines
  • Introduction to Computer Science
  • Computer Networking

Related Education Paths


Notable People in This Field

  • Andrew Ng
  • Tim Berners-Lee

Related Books

Description

本课程主要介绍高级语言程序中的数据类型及其运算、语句和过程调用等是如何在计算机系统中实现的。主要包含三个主题:(1)表示。不同数据类型(如带符号整数、无符号整数、浮点数、数组、结构等)数据在寄存器或存储器中的表示和存储;指令的格式、编码及其在存储器中的存储;存储地址(指针)的表示。(2)转换。高级语言程序中的过程(函数调用)、循环、选择等语句与机器级代码之间的对应关系。(3)链接。多个可重定位目标文件如何链接生成可执行目标文件并加载到系统中。

Outline

  • WEEK1
  • W1-1 C语言程序举例
  • W1-2-1 冯•诺依曼结构主要思想
  • W1-2-2 现代计算机结构模型及工作原理
  • W1-3-1 从机器语言到高级编程语言
  • W1-3-2 程序的开发和执行及其支撑环境
  • W1-4-1 编程语言和计算机系统层次
  • W1-4-2 现代计算机系统的层次结构
  • W1-5 本课程的主要学习内容
  • 第1周 计算机系统概述
  • WEEK2
  • W2-1-1 10进制数和2进制数
  • W2-1-2 2,8,10,16进制数之间的转换
  • W2-2-1 原码和移码表示
  • W2-2-2 模运算系统和补码表示
  • W2-2-3 补码和真值的对应关系
  • W2-3-1 无符号整数和带符号整数
  • W2-3-2 C语言程序中整数举例
  • W2-4-1 浮点数的表示范围
  • W2-4-2 IEEE 754中规格化数的表示
  • W2-4-3 IEEE 754中特殊数的表示
  • W2-5 非数值数据的编码表示
  • W2-6 数据宽度和存储容量的单位
  • W2-7 数据存储时的字节排列
  • 第2周 数据的表示和存储
  • WEEK3
  • W3-1-1 布尔代数和基本逻辑电路
  • W3-1-2 无符号数加法器
  • W3-1-3 整数加, 减运算器和ALU
  • W3-2 从C表达式到逻辑电路
  • W3-3 C语言中的各类运算
  • W3-4-1 加减运算生成的标志信息
  • W3-4-2 加减运算溢出公式及举例
  • 第3周 运算电路基础
  • WEEK4
  • W4-1 整数乘法运算
  • W4-2 整数除法运算
  • W4-3-1 浮点加减运算
  • W4-3-2 浮点运算的精度
  • W4-3-3 浮点运算精度举例
  • 第4周 乘除运算及浮点数运算
  • WEEK5
  • W5-1-1 程序和指令的关系
  • W5-1-2 目标代码和ISA
  • W5-2-1 Intel处理器概述
  • W5-2-2 IA-32的寄存器组织
  • W5-2-3 IA-32的寻址方式
  • W5-2-4 高级语言程序中寻址举例
  • W5-2-5 IA-32机器指令格式
  • 第5周 IA-32指令系统概述
  • WEEK6
  • W6-1-1 常用传送指令
  • W6-1-2 传送指令执行过程
  • W6-2-1 常用定点运算指令
  • W6-2-2 加法运算的底层实现举例
  • W6-2-3 加法指令和乘法指令举例
  • W6-3-1 逻辑运算和移位指令
  • W6-3-2 按位运算指令举例
  • W6-4-1 条件转移指令举例
  • W6-4-2 条件设置指令举例
  • W6-5-1 x87 FPU常用指令
  • W6-5-2 x87浮点处理指令举例
  • W6-6 MMX及SSE指令集
  • 第6周 IA-32指令类型
  • WEEK7
  • W7-1-1 过程调用概述
  • W7-1-2 过程(函数)的机器级代码结构
  • W7-1-3 过程调用的参数传递
  • W7-1-4 过程调用举例
  • W7-1-5 递归过程调用举例
  • W7-1-6 过程调用举例
  • W7-2 选择结构的机器级表示
  • W7-3 循环结构的机器级表示
  • 第7周 C语言语句的机器级表示
  • WEEK8
  • W8-1-1 数组的分配与访问
  • W8-1-2 数组与指针的关系
  • W8-1-3 指针数组和多维数组
  • W8-2-1 结构类型的分配和访问
  • W8-2-2 联合类型的分配和访问
  • W8-3-1 数据的对齐方式
  • W8-3-2 数据对齐方式举例
  • W8-4 越界访问和缓冲区溢出攻击
  • 第8周 复杂数据类型的机器级表示
  • WEEK9
  • W9-1-1 x86-64指令系统概述1
  • W9-1-2 x86-64指令系统概述2
  • W9-2-1传送指令
  • W9-2-2 算术逻辑运算指令
  • W9-2-3 x86-64逆向工程举例
  • W9-3-1 x86-64过程调用的参数传递方式
  • W9-3-2 x86-64过程调用举例
  • W9-3-3 IA-32和x86-64的比较举例
  • 第9周 x86-64指令系统
  • WEEK10
  • W10-1-1 可执行文件生成过程概述
  • W10-1-2 链接器的由来
  • W10-2-1 链接过程的本质
  • W10-2-2 目标文件的两种视图
  • W10-3-1 可重定位文件概述
  • W10-3-2 ELF头和节头表
  • W10-4-1 可执行文件概述
  • W10-4-2 程序头表和存储器映像
  • 第10周 链接概述和目标文件格式
  • WEEK11
  • W11-1-1 符号和符号表的基本概念
  • W11-1-2 全局符号的强弱特性
  • W11-1-3 多重符号定义举例
  • W11-2-1 静态共享库的创建
  • W11-2-2 符号解析过程
  • W11-2-3 链接顺序问题
  • 第11周 符号及符号解析
  • WEEK12
  • W12-1-1 重定位的基本概念
  • W12-1-2 PC相对地址重定位
  • W12-1-3 绝对地址重定位
  • W12-1-4 符号重定位举例
  • W12-2 可执行文件的加载
  • W12-3-1 共享库和动态链接概述
  • W12-3-2 模块内引用和模块间数据引用
  • W12-3-3 模块间的调用或跳转
  • 第12周 重定位及动态链接
  • 期末考试试题

Summary of User Reviews

Discover the fundamentals of computer system design with this online course. Users enjoy the structured approach to learning and the hands-on exercises which reinforce the material. However, some users find the course content to be too basic and lacking in practical applications.

Key Aspect Users Liked About This Course

Structured approach to learning

Pros from User Reviews

  • Well-organized course content
  • Engaging hands-on exercises
  • Clear explanations of complex concepts
  • Great for beginners
  • Interactive quizzes and assessments

Cons from User Reviews

  • Lacks practical applications
  • Content may be too basic for some users
  • Limited interaction with instructors
  • No official certification provided
  • Some technical difficulties reported
Chinese (Simplified)
Available now
Approx. 44 hours to complete
袁春风
Nanjing University
Coursera

Instructor

袁春风

  • 4.7 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses