当前位置:
文档之家› 复旦大学软件工程考研(MSE)计算机系统基础复习资料
复旦大学软件工程考研(MSE)计算机系统基础复习资料
2
参考教材
• 计算机系统基础
• 袁春风 • 机械工业出版社
• 深入理解计算机系统的 子集
3
课程概要
• 程序的结构和执行
• 处理器的结构 • 存储系统 • 程序性能的优化 • 程序的链接 • 进程 • 虚拟存储系统
• 程序在系统中的运行
• 程序间的通信和交互
• 系统I/O • 网络编程 • 并发编程
8
考试大纲和解读
9
处理器系统结构
• CPU中的时序电路 • 单周期处理器的设计 • 流水线处理器的基本原理 • 数据冒险(Data Hazard)的处理 • 流水线设计中的其它问题
10
解读-基础
• 信息在计算机上的表示
• 整数 • 浮点数 • 数据的大小和顺序(大小端) • • • • 数据访问 算术和逻辑运算 数组的表示和访问 复杂数据结构的表示
16
虚拟存储系统
• 地址空间 • 虚拟存储 • 虚拟存储的管理 • 翻译和映射 • TLB • 动态内存管理 • 垃圾收集
17
18
解读
• 地址类型
• 页 • 请页
• 内存管理
• 地址转换
• 物理地址、虚拟地址
• 动态内存的管理
• 页表 • TLB(加速)
• 为什么 • 方法
• 垃圾回收
• 标记-清扫
19
链接
• 静态链接 • 目标文件 • 符号和符号表 • 重定位和加载 • 动态链接库
20
解读
21
进程
• 异常 • 进程 • 进程控制 • 信号和信号量 • 进程间的通信 • 进程间信号量的控制
22
解读
• 异常 • 进程
• 主控流程/其他事物 • 中断 • CPU的虚拟化 • 上下文 • 核心/用户
15
解读
• 理解程序的执行
• 程序的正确性 • 过程/函数调用的代价
• 编译器优化的局限
• 结构无关的优化
• 消除循环的低效 • 减少函数调用 • 减少不必要的内存访问 • 多功能单元 • 流水 • 周期数和时延 • 数据的依赖 • 提高并行 • 循环展开
• 现代处理器的理解
• 体系结构相关的优化
13
解读
• 不同介质的特征
• 高速缓存 • 内存 • 外存 • 指令 • 数据
• 程序运行的局部性 • 高速缓存对程序性能的影响 • 高速缓存的形式
• 直接映射 • 全相关 • 组相关
• 命中率
14
优化程序性能
• 优化程序性能 • 编译器优化的能力和局限 • 程序性能的表示 • 应用特性(体系结构无关)的优化 • 体系结构相关的优化 • 限制因素 • 发现和消除性能瓶颈
4
计算机的抽象模型
Instructions / Program
Main Memory
Arithmetic Unit
AC
Control Unit
PC IR SR
Addresses
Input/Output Unit E.g. Storage
5
桌面计算机-IA32
6
桌面计算机-Core i7
7
计算机系统
• 程序的表示(汇编指令)
• 程序动态表示
• 控制 • 过程调用
• 栈 • 参数传递
11
解读
• 指令集
• 格式 • 逻辑门 • 组合电路 • 时钟 • 时序 • 阶段
• 电路的基本概念
• 顺序电路 • 流水线
12
存储器结构
• 存储器层级结构 • 局部性
• 计算机高速缓存器(Cache)的原理
• 高速缓存对系统性能的影响
计算机系统基础
MSE, 复旦大学 2016/来自1/20占总分150分中的40分 完整考点掌握有一定难度 建议 量力而行
参考教材
• 深入理解计算机系统,第2版
• Randal E.Bryant, David O'Hallaron • 龚奕利,雷迎春 • 机械工业出版社
• Computer Systems: A Programmer's Perspective (2nd Edition)
26
• 信号的机制
23
并发编程
• 各种并发编程模式 • 共享变量 • 线程同步 • 其它并行问题
• • • • 线程安全 可再入 竞争 死锁
24
系统I/O
• I/O概念 • 文件 • 文件操作 • 共享文件
25
网络编程
• 网络 • 客户端/服务器模型(Client/Server) • 套接字接口(Socket) • HTTP请求 • Web服务器