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



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

Instructor: 袁春风
Access provided by Coursera Learning Team
12,947 already enrolled
(59 reviews)
Details to know

Add to your LinkedIn profile
13 assignments
See how employees at top companies are mastering in-demand skills


Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review

There are 12 modules in this course
首先,通过介绍C语言程序的具体实例,来说明高级语言程序的执行结果与编程语言之外的计算机系统其他方面有关,从而使学生明白为何要学习“计算机系统基础”课程;然后,介绍计算机系统基本组成与基本功能、程序开发和执行过程、计算机系统层次结构等概述性内容;最后,简要说明本课程的主要学习内容。
What's included
8 videos1 assignment1 peer review
首先,介绍进位计数制和编码的基本概念;然后,介绍定点数的编码表示,在此基础上介绍带符号整数和无符号整数的表示;接着,介绍浮点数的编码表示,主要包括IEEE 754单精度和双精度浮点格式标准;随后介绍逻辑值、西文字符和汉字等非数值数据的编码表示;最后,介绍数据的宽度和存储。
What's included
13 videos1 assignment1 peer review
首先,介绍布尔代数和数字逻辑电路的基础性内容;然后,介绍C语言中的按位运算以及逻辑运算;接着,介绍高级语言中的整数加减运算及其对应的底层实现电路。
What's included
7 videos1 assignment1 peer review
基于运算电路基础,介绍高级语言中的整数乘除运算与底层实现之间的关系;然后介绍浮点数的运算,特别是浮点运算中的精度问题。
What's included
5 videos1 assignment1 peer review
首先,介绍高级语言程序与机器级代码之间的关系,以及机器级代码与指令集体系结构(ISA)的关系;然后,介绍IA-32指令系统的概述性内容,包括寄存器组织、寻址方式和指令格式等。
What's included
7 videos1 assignment1 peer review
主要介绍IA-32指令系统中常用的几类指令,包括传送、定点算术运算、按位运算、控制转移、x87浮点运算指令,最后简要介绍了MMX及SSE指令集。
What's included
12 videos1 assignment1 peer review
主要介绍C语言程序中各类语句被转换为机器级代码后的机器级表示,包括过程(函数)调用的机器级表示、选择和循环语句的机器级表示。
What's included
8 videos1 assignment1 peer review
主要介绍C语言程序中数组和指针类型的分配和访问、结构和联合数据类型的分配和访问、数据的对齐存放。最后介绍越界访问和缓冲区溢出攻击。
What's included
8 videos1 assignment1 peer review
首先,介绍了x86-64指令系统的概述性内容;然后,介绍了与IA-32指令不同的几种x86-64基本指令;最后,介绍了x86-64中过程(函数)调用的具体的实现。
What's included
8 videos1 assignment1 peer review
首先,介绍了在生成可执行文件的过程中所涉及到的概述性内容;然后,介绍了目标文件格式的基本内容;最后,分别介绍ELF文件格式中的可重定位文件格式(链接视图)和可执行文件格式(执行视图)。
What's included
8 videos1 assignment1 peer review
主要内容包括符号的概念、符号表的结构、静态库和静态链接、符号解析。
What's included
6 videos1 assignment1 peer review
主要内容包括符号的重定位、可执行文件的加载、共享库和动态链接以及位置无关代码(PIC)。
What's included
8 videos2 assignments1 peer review
Instructor

Offered by
Why people choose Coursera for their career




Learner reviews
59 reviews
- 5 stars
83.05%
- 4 stars
11.86%
- 3 stars
1.69%
- 2 stars
1.69%
- 1 star
1.69%
Showing 3 of 59
Reviewed on Jun 25, 2017
非常好,不是计算机专业的,听起来还是很容易的,讲的很清晰。第三周第一节课,有一个段话口误,把“或”说成了“与”,就是下面这段。 "所以这个输出完全是等于Ai,那么这个Ai 和刚才我们讲过的这个0,因为这样输入是0,所以这样输出是0。 和0相与输出来的结果当然就是0与上任何一个值 结果还是等于任何一个值,因为0在与门当中0就不起作用,完全取决于另外一个 是0输出就是0,"
Recommended if you're interested in Computer Science
Peking University
Peking University
Fudan University
Fudan University

Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy