《软硬件接口》课程大纲

《软硬件接口》课程大纲

Coursera课程 The Hardware/Software Interface是华盛顿大学提供的一门课程,当中汇编语言、进程结构、Java实现等章节内容我觉得对于学编程的同学来说很实用。教学环境是Fedora,顺带介绍了一些经常使用工具的使用。

课程大纲

  • 这门课程将会让学生知道当软件执行时究竟发生了什么,并说明这个问题可以通过硬件架构层、汇编层、C语言层和Java层等数层抽象解答。-
  • 这门课程的核心是关于C、汇编、以及底层数据表示的,但同一时候与更高层(Java语言实现机理)、更底层(处理器通用架构)、操作系统(无关操作系统的实现)相关。
  • 对于那些想要专注于高层抽象的计算机专业学生来说,这门课可能是他们学习到的关于C语言及以更下层的唯一课程。只是,他们大多可以同一时候学到一些系统编程、硬件设计与实现、操作系统、编译器等知识。
  • 对于对硬件、嵌入式系统、计算机project、计算机架构等感兴趣的学生来说,这门课程是一门入门课程,兴许课程会在特定领域更加深入,而且会关注更下层的硬件实现、电路设计等。

课程主题

本课程主要有三个主题。

  1. 表示:不同的数据类型,如整数和结构体数组,在内存中怎样存在?指令怎样编码?怎样生成内存地址并用于创建复杂的数据结构?
  2. 翻译:高层的语言,如C和Java怎样转换成硬件处理器的基本指令?
  3. 控制流:计算机怎样阻止计算的顺序,怎样跟踪大型程序当前的执行轨迹,多个进程怎样并行执行?

课程目标

课程结束后,学生应该可以

  1. 理解高层次的程序转换成可以被处理器运行的指令流的过程
  2. 知道指针是什么,以及怎样使用指针操纵复杂的数据结构
  3. 可以使用X86汇编语言写简短的程序,并理解汇编语言和高层次语言怎样映射
  4. 理解分级存储器的基本组织和參数,理解它对于系统性能的重要性
  5. 可以解释清楚操作系统的功能
  6. 知道Java和C的本质差别
  7. 理解并行机制以及它在系统级的重要性
  8. 成为更高效的程序猿,更有效的debug,对系统性能更敏感

课程专题

大约每周一个专题,包含

  • 数字的表示
  • 汇编语言
  • C语言基础
  • 内存管理
  • 操作系统的进程模型
  • 高层次机器架构
  • 分级存储器
  • 高层次语言的实现

  
  

转载请注明作者:Focustc,博客地址为http://blog.csdn.net/caozhk,原文链接为点我
posted @ 2014-08-31 19:02  mengfanrong  阅读(549)  评论(0编辑  收藏  举报