计算机系统(二)part1_liaohao详解.pptx

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机系统(二) COMPUTER SYSTEMS II: ARCHITECTURE AND PROGRAMMING 深圳大学计算机与软件学院 1 主修班级:2014级计算机相关专业本科生 主讲:廖好 课程定位 专业必修课 与基础课不同的是:自主性,实验性,和专业性 后续课程:编译原理,操作系统,体系结构 教学及考试安排 课程名称: 计算机系统(2) 英文名称: Computer Systems II: Architecture and Programming 总 学 时: 72学时,其中,实验课为18学时 学 分: 3.5 先修课程: 计算机系统(1),面向对象程序设计(C语言或C++) 3 考核方式: 总成绩=平时成绩×40%+期末成绩×60% 平时成绩包括实验报告+平时作业 课程的时间 第一、二周的实验课不用上 理论课:单周二(1,2节)B307, 周四(5,6节)B307 实验课:双周二(1,2节) 南区D324 主讲老师介绍 主 讲 老师: 廖好 2015年计算机学院助理教授 深圳大学计算机与软件学院高性能计算研究中心 电 子 邮件: haoliao@szu.edu.cn 手 机:办 公 室: 科技楼1303 电话:84 微信:jamesliao520 教学及考试安排 教 材:(美) Randal E. Bryant,David R.O Hallaren?著, 龚奕利,雷迎春译,深入理解计算机系统(原书第2版),机械工业出版社,2011. 参考教材:袁春风,计算机系统基础(第1版),机械工业出版社,2014年7月 6 课程实验 实验名称 实验内容 类型 1 实验环境配置与使用 配置Linux实验环境,掌握Linux下的C编程、GCC编译与链接、GDB调试等方法。 验证 2 数据表示实验 使用有限类型和数量的运算操作实现一组给定功能(位操作、补码运算和浮点数操作)的函数。此实验将加深对数据二进制编码表示的了解。 设计 3 逆向工程实验 ? 从字符串比较、循环、条件/分支、递归调用和栈、指针、链表/指针/结构这六个方面增强对程序的机器级表示、汇编语言、GDB调试器和反汇编等方面原理与技能的掌握。 设计 4 缓冲区溢出攻击实验 对一个可执行程序实施一系列缓冲区溢出攻击,即设法通过造成缓冲区溢出来改变该可执行程序的运行内存映像。本实验的目的是加深对函数调用规则和堆栈结构的理解。 设计 5 Cache实验 本实验通过一个Cache模拟器,利用Cache来优化一个矩阵的转置以达到缺失率最小,从而分析cache对程序性能的影响。 设计 6 性能优化实验 本实验旨在让学生掌握测量程序执行时间的方法,并综合利用循环展开、cache友好、替换变量等多种优化手段来对两个函数进行代码优化,从而提升程序执行效率。 选做 今天的主要内容 计算机系统漫游 硬件和软件的基本组成(1.4和1.8 ) 程序的编码、编译和执行过程(1.1、1.2、1.3和1.4) 计算机系统层次结构(1.5和1.6) 操作系统(1.7) 并行(1.9) 计算机系统基础—从程序员角度认识系统 目标: 培养学生的系统能力,使其成为一个“高效”程序员,在程序调试、性能提升、程序移植和健壮性等方面成为高手;建立扎实的计算机系统概念,为后续的OS、编译、体系结构等课程打下坚实基础 以 IA-32+Linux+C+gcc 为平台 主要内容:描述程序执行的底层机制 思路: 在程序与执行机制之间的建立关联,强化理解而不是记忆 课程内容概要 /*---sum.c---*/ int sum(int a[ ], unsigned len) { int i,sum = 0; for (i = 0; i = len–1; i++) sum += a[i]; return sum; } /*---main.c---*/ int main() { int a[1]={100}; int sum; sum=sum(a,0); printf(“%d”,sum); } 链接(linker)和加载(第7章) 程序执行(存储器访问)(第7章) 异常和中断处理(第8章) 输入输出(I/O) (第10章) (第3章) 课程内容概要 使学生清楚理解: 计算机是如何生成和运行可执行文件的! 重点在高级语言以下各抽象层 C语言程序设计层 数据的机器级表示、运算 语句和过程调用的机器级表示 指令集体系结构(ISA)和汇编层 指令系统、机器代码、汇编语言 微体系结构及硬件层 CPU的通用结构 层次结构存储系统 操作系统、编译和链接的部分内容 课程内容概要 内容组织:

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档