软硬件接口

The Hardware/Software Interface

本课程研究基于现代高级编程语言的抽象级别计算,涉及Java/C、汇编语言、基本处理器和系统结构。 课程简介 本…

华盛顿大学

分享

软硬件接口

本课程研究基于现代高级编程语言的抽象级别计算,涉及Java/C、汇编语言、基本处理器和系统结构。

课程简介

本课程主要研究基于现代高级编程语言的抽象级别计算,数字表示法,汇编语言,内容涉及c语言、内存管理,操作系统进程模型,高级机器架构(存储层次和高级语言的实现)。通过对硬件架构、汇编语言、c语言编程和Java编程等抽象级别的研究,提高学生对软件运行本质的认识。课程以C语言,汇编语言和低层数据表示为核心,同时结合高级别内容(basic Java语言的实现)、低级别内容(处理器的基本结构和分级存储器体系)以及操作系统的作用(而非操作系统的实现)。

课程大纲

通过对硬件架构、汇编语言、c语言编程和Java编程等抽象级别的研究,提高学生对软件运行本质的认识。课程以C语言,汇编语言和低层数据表示为核心,同时结合高级别内容(basic Java语言的实现)、低级别内容(处理器的基本结构)以及操作系统的作用(而非操作系统的实现)。对于专门研究较高抽象级别的计算机科学系学生来说,本课程是“C level”和“C level”以下级别的唯一可选课程,不过多数人会参加系统编程、硬件设计与实现、操作系统和编译程序等附属课程。热衷于研究计算机硬件、嵌入式系统、计算机工程、计算机系统结构等内容的同学,可将本课程作为基础入门参考,之后再选修其他课程,进行更深入(针对特定课题)、更大众化(针对硬件实现、电路设计等内容)的学习。

本课程包含三部分:
表示法:不同数据类型在内存中的表示(从简单的整数到数据结构中的数组)、如何编码指令、内存地址(指针)的生成及其在创建复杂结构中的应用。
编译:如何将高级语言编写的代码变成硬件可以识别的指令,这里侧重于C语言和Java。
控制流:计算机如何在大型程序中组织指令顺序,记录指令位置,并产生并行多个进程的错觉。

学完本课学生能够:
理解高级程序通过处理器转化为一连串指令的多步过程;
了解指针的概念,以及如何利用指针操作复杂的数据结构;
运用汇编语言(X86)编写简单的代码段,理解汇编代码映射到高级语言的过程(反之亦然);
了解存储层次的基本结构和性能参数,及其对于系统性能的重要性;
解释操作系统的作用;
了解Java和C语言的本质区别;
知晓并行的概念,及其在系统层中的重要性和原因;
成为高效程序员(更及时地发现错误,提高对系统性能的直觉判断)。

主要章节包括:
数字表示法
汇编语言
C语言基础知识
内存管理
操作系统进程模型
高级机器架构
存储层次
高级语言的实现

先修知识

具备C语言或Java初级编程知识。

参考资料

下列推荐读物可供参考,不做强制性要求:
《Computer Systems:A Programmer’s Perspective》(《程序员眼中的计算机系统》),第二版(CS:APP2e)
作者:Randal E. Bryant和David R. O’Hallaron
2010年,普伦蒂斯·霍尔出版社出版
可从培生书店直接购买
登录CourseSmart购买电子书
访问Amazon.com购买印刷版或使用kindle阅读的电子书版本
同时鼓励大家阅读C语言的参考资料,不少资料可在线阅读或下载:
《C程序设计语言》(The C Programming Language,Kernighan和Ritchie)
《C: A Reference Manual》(C语言参考手册,Harbison和Steele)

授课形式

本课程包含教学视频,笔头和编程作业,其中编程作业会计算分数,而笔头作业有助于对课程内容的理解和分析,也是最重要的。

声明:MOOC中国收录之课程均源自下列机构,版权均归他们所有。本站仅作报道并尊重其著作权益,感谢他们对MOOC事业做出的贡献!(排名不分先后)
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc

Copyright © 2008-2015 MOOC.CN 慕课改变你,你改变世界