À propos de ce cours
5,339 consultations récentes

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Approx. 53 heures pour terminer

Recommandé : 3-5 hours/week...

Chinois (simplifié)

Sous-titres : Chinois (simplifié), Anglais

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Approx. 53 heures pour terminer

Recommandé : 3-5 hours/week...

Chinois (simplifié)

Sous-titres : Chinois (simplifié), Anglais

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
5 heures pour terminer

WEEK1

首先,通过介绍C语言程序的具体实例,来说明高级语言程序的执行结果与编程语言之外的计算机系统其他方面有关,从而使学生明白为何要学习“计算机系统基础”课程;然后,介绍计算机系统基本组成与基本功能、程序开发和执行过程、计算机系统层次结构等概述性内容;最后,简要说明本课程的主要学习内容。

...
8 vidéos (Total 133 min), 2 quiz
8 vidéos
W1-2-1 冯•诺依曼结构主要思想 15 min
W1-2-2 现代计算机结构模型及工作原理 19 min
W1-3-1 从机器语言到高级编程语言 16 min
W1-3-2 程序的开发和执行及其支撑环境 15 min
W1-4-1 编程语言和计算机系统层次 7 min
W1-4-2 现代计算机系统的层次结构 19 min
W1-5 本课程的主要学习内容16 min
1 exercice pour s'entraîner
第1周 计算机系统概述30 min
Semaine
2
6 heures pour terminer

WEEK2

首先,介绍进位计数制和编码的基本概念;然后,介绍定点数的编码表示,在此基础上介绍带符号整数和无符号整数的表示;接着,介绍浮点数的编码表示,主要包括IEEE 754单精度和双精度浮点格式标准;随后介绍逻辑值、西文字符和汉字等非数值数据的编码表示;最后,介绍数据的宽度和存储。

...
13 vidéos (Total 212 min), 2 quiz
13 vidéos
W2-1-2 2,8,10,16进制数之间的转换 19 min
W2-2-1 原码和移码表示 9 min
W2-2-2 模运算系统和补码表示 16 min
W2-2-3 补码和真值的对应关系 18 min
W2-3-1 无符号整数和带符号整数 14 min
W2-3-2 C语言程序中整数举例 15 min
W2-4-1 浮点数的表示范围 16 min
W2-4-2 IEEE 754中规格化数的表示 18 min
W2-4-3 IEEE 754中特殊数的表示 14 min
W2-5 非数值数据的编码表示 18 min
W2-6 数据宽度和存储容量的单位 11 min
W2-7 数据存储时的字节排列 19 min
1 exercice pour s'entraîner
第2周 数据的表示和存储48 min
Semaine
3
5 heures pour terminer

WEEK3

首先,介绍布尔代数和数字逻辑电路的基础性内容;然后,介绍C语言中的按位运算以及逻辑运算;接着,介绍高级语言中的整数加减运算及其对应的底层实现电路。

...
7 vidéos (Total 109 min), 2 quiz
7 vidéos
W3-1-2 无符号数加法器 13 min
W3-1-3 整数加, 减运算器和ALU 12 min
W3-2 从C表达式到逻辑电路 9 min
W3-3 C语言中的各类运算 24 min
W3-4-1 加减运算生成的标志信息 15 min
W3-4-2 加减运算溢出公式及举例 16 min
1 exercice pour s'entraîner
第3周 运算电路基础42 min
Semaine
4
4 heures pour terminer

WEEK4

基于运算电路基础,介绍高级语言中的整数乘除运算与底层实现之间的关系;然后介绍浮点数的运算,特别是浮点运算中的精度问题。

...
5 vidéos (Total 109 min), 2 quiz
5 vidéos
W4-2 整数除法运算 21 min
W4-3-1 浮点加减运算 22 min
W4-3-2 浮点运算的精度 22 min
W4-3-3 浮点运算精度举例 16 min
1 exercice pour s'entraîner
第4周 乘除运算及浮点数运算22 min
Semaine
5
3 heures pour terminer

WEEK5

首先,介绍高级语言程序与机器级代码之间的关系,以及机器级代码与指令集体系结构(ISA)的关系;然后,介绍IA-32指令系统的概述性内容,包括寄存器组织、寻址方式和指令格式等。

...
7 vidéos (Total 70 min), 2 quiz
7 vidéos
W5-1-2 目标代码和ISA 14 min
W5-2-1 Intel处理器概述 6 min
W5-2-2 IA-32的寄存器组织 6 min
W5-2-3 IA-32的寻址方式 8 min
W5-2-4 高级语言程序中寻址举例 9 min
W5-2-5 IA-32机器指令格式 9 min
1 exercice pour s'entraîner
第5周 IA-32指令系统概述20 min
Semaine
6
5 heures pour terminer

WEEK6

主要介绍IA-32指令系统中常用的几类指令,包括传送、定点算术运算、按位运算、控制转移、x87浮点运算指令,最后简要介绍了MMX及SSE指令集。

...
12 vidéos (Total 149 min), 2 quiz
12 vidéos
W6-1-2 传送指令执行过程 5 min
W6-2-1 常用定点运算指令 8 min
W6-2-2 加法运算的底层实现举例 15 min
W6-2-3 加法指令和乘法指令举例 18 min
W6-3-1 逻辑运算和移位指令 11 min
W6-3-2 按位运算指令举例 10 min
W6-4-1 条件转移指令举例 21 min
W6-4-2 条件设置指令举例 4 min
W6-5-1 x87 FPU常用指令 10 min
W6-5-2 x87浮点处理指令举例 15 min
W6-6 MMX及SSE指令集 13 min
1 exercice pour s'entraîner
第6周 IA-32指令类型40 min
Semaine
7
4 heures pour terminer

WEEK7

主要介绍C语言程序中各类语句被转换为机器级代码后的机器级表示,包括过程(函数)调用的机器级表示、选择和循环语句的机器级表示。

...
8 vidéos (Total 106 min), 2 quiz
8 vidéos
W7-1-2 过程(函数)的机器级代码结构 13 min
W7-1-3 过程调用的参数传递 12 min
W7-1-4 过程调用举例 10 min
W7-1-5 递归过程调用举例 10 min
W7-1-6 过程调用举例13 min
W7-2 选择结构的机器级表示 18 min
W7-3 循环结构的机器级表示 13 min
1 exercice pour s'entraîner
第7周 C语言语句的机器级表示28 min
Semaine
8
5 heures pour terminer

WEEK8

主要介绍C语言程序中数组和指针类型的分配和访问、结构和联合数据类型的分配和访问、数据的对齐存放。最后介绍越界访问和缓冲区溢出攻击。

...
8 vidéos (Total 140 min), 2 quiz
8 vidéos
W8-1-2 数组与指针的关系 9 min
W8-1-3 指针数组和多维数组 18 min
W8-2-1 结构类型的分配和访问 20 min
W8-2-2 联合类型的分配和访问 17 min
W8-3-1 数据的对齐方式 13 min
W8-3-2 数据对齐方式举例13 min
W8-4 越界访问和缓冲区溢出攻击27 min
1 exercice pour s'entraîner
第8周 复杂数据类型的机器级表示48 min
Semaine
9
5 heures pour terminer

WEEK9

首先,介绍了x86-64指令系统的概述性内容;然后,介绍了与IA-32指令不同的几种x86-64基本指令;最后,介绍了x86-64中过程(函数)调用的具体的实现。

...
8 vidéos (Total 136 min), 2 quiz
8 vidéos
W9-1-2 x86-64指令系统概述28 min
W9-2-1传送指令15 min
W9-2-2 算术逻辑运算指令19 min
W9-2-3 x86-64逆向工程举例 16 min
W9-3-1 x86-64过程调用的参数传递方式15 min
W9-3-2 x86-64过程调用举例23 min
W9-3-3 IA-32和x86-64的比较举例15 min
1 exercice pour s'entraîner
第9周 x86-64指令系统20 min
Semaine
10
5 heures pour terminer

WEEK10

首先,介绍了在生成可执行文件的过程中所涉及到的概述性内容;然后,介绍了目标文件格式的基本内容;最后,分别介绍ELF文件格式中的可重定位文件格式(链接视图)和可执行文件格式(执行视图)。

...
8 vidéos (Total 138 min), 2 quiz
8 vidéos
W10-1-2 链接器的由来16 min
W10-2-1 链接过程的本质14 min
W10-2-2 目标文件的两种视图15 min
W10-3-1 可重定位文件概述 10 min
W10-3-2 ELF头和节头表25 min
W10-4-1 可执行文件概述13 min
W10-4-2 程序头表和存储器映像20 min
1 exercice pour s'entraîner
第10周 链接概述和目标文件格式20 min
Semaine
11
4 heures pour terminer

WEEK11

主要内容包括符号的概念、符号表的结构、静态库和静态链接、符号解析。

...
6 vidéos (Total 95 min), 2 quiz
6 vidéos
W11-1-2 全局符号的强弱特性7 min
W11-1-3 多重符号定义举例21 min
W11-2-1 静态共享库的创建14 min
W11-2-2 符号解析过程13 min
W11-2-3 链接顺序问题10 min
1 exercice pour s'entraîner
第11周 符号及符号解析26 min
Semaine
12
5 heures pour terminer

WEEK12

主要内容包括符号的重定位、可执行文件的加载、共享库和动态链接以及位置无关代码(PIC)。

...
8 vidéos (Total 130 min), 3 quiz
8 vidéos
W12-1-2 PC相对地址重定位20 min
W12-1-3 绝对地址重定位10 min
W12-1-4 符号重定位举例12 min
W12-2 可执行文件的加载14 min
W12-3-1 共享库和动态链接概述20 min
W12-3-2 模块内引用和模块间数据引用19 min
W12-3-3 模块间的调用或跳转18 min
2 exercices pour s'entraîner
第12周 重定位及动态链接24 min
期末考试试题50 min
4.8
18 avisChevron Right

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

par XXJun 25th 2017

非常好,不是计算机专业的,听起来还是很容易的,讲的很清晰。\n\n第三周第一节课,有一个段话口误,把“或”说成了“与”,就是下面这段。\n\n"所以这个输出完全是等于Ai,那么这个Ai 和刚才我们讲过的这个0,因为这样输入是0,所以这样输出是0。 和0相与输出来的结果当然就是0与上任何一个值 结果还是等于任何一个值,因为0在与门当中0就不起作用,完全取决于另外一个 是0输出就是0,"

Enseignant

Avatar

袁春风

教授
计算机科学与技术系

À propos de Université de Nanjing

Nanjing University (NJU) is committed to excellence in teaching and research. Located on the prosperous eastern coast of China, NJU provides a dynamic environment that nurtures learning, creativity, and discovery on one of the most beautiful campuses in the country. Taking NJU's university offerings on Coursera will be a rewarding experience for learners from every corner of the world....

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous achetez un Certificat, vous bénéficiez d'un accès à tout le contenu du cours, y compris les devoirs notés. Lorsque vous avez terminé et réussi le cours, votre Certificat électronique est ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.