linux编程入门1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
未来的行为;
8. 可靠性技术 : 采用什么样的冗余技术和容错技术来提高可靠性;
15
结构、组织和实现 . 实现
Implementation
计算机实现指的是计算机属性的物理实现。包括处理器、主存等 部件的物理结构,器件的集成度和速度,器件、模块、插件、底 板的划分与连接,微组装技术等等。
16
结构、组织和实现
21
Von Neumann 结构
Von Neumann 结构
Peripherals
Computer
Central Processing Unit Main Memory
Computer
Systems Interconnection
Input Output Communication lines
22
3. 各种操作对部件的共享程度; 4. 功能部件的并行度 : 功能部件的控制和处理方式是采用顺序串
行, 还是采用重叠、 流水或分布处理;
14
结构、组织和实现 . 组织
Organization Design (cont.)
计算机组织设计是对计算机属性的逻辑实现:
5. 控制机构的组成方式 : 事件、操作的排序机构采用硬联控制还是
6
open-src
About The Exam
平时考核:
中期考试 30% 平时实验成绩 20%
期末考核:
笔试 50% 。 ( 暂定 )
7
CH00 Preparation for CSAPP
体系结构、组织和实现☆ Von Neumann 结构★
2010_Spring_csapp@pe.cqnu
Fundamental Structures
C Programming
目前为止的课程主要强调了计算机的抽象;但其缺陷是,程序出现 bug 和性能问题时,需要理解底层的实现,所以要还原真实。
4
open-src
Course Objective
先期基础:
Linux 操作技能、 C 语言编程基础、数字逻辑设计基础。
13
结构、组织和实现 . 组织
Organization Design
计算机组织设计是对计算机属性的逻辑实现:
1. 数据通路宽度 : 在数据总线上一次并行传送的信息位数多少; 2. 专用部件的设置 : 设置哪些专用部件,如乘除法专用部件、 浮
点运算部件、字符处理部件、地址运算部件等,每种专用部件 设置的数量,这些都与机器所需达到的速度、专用部件的使用 频度高低及允许的价格等有关 ;
结构、组织和实现的关系
指令系统的确定属于计算机体系结构;指令的逻辑实现:如取指 令、指令操作码译码、计算操作数地址、取数、运算、送结果等的 操作安排和排序属于计算机组成;实现这些指令功能的具体电路、 器件的设计及装配技术属于计算机实现。 确定指令系统中是否要设乘法指令属于计算机体系结构;乘法指令 是用专门的高速乘法器实现,还是靠用加法器和移位器经一连串时 序信号控制其相加和右移来实现属于计算机组成;乘法器、加法 移 位器的物理实现:如器件的类型、集成度、数量、价格,微组装技 术的确定和选择属于计算机实现。 主存容量与编址方式(按位、按字节还是按字访问等)的确定属于 计算机体系结构;为达到性能价格要求,主存速度应该为多少,逻 辑结构是否采用多体交叉属于计算机组成;主存器件的选定、逻辑 设计、微组装技术的使用属于计算机实现。
课程目标:
到课程结束,能理解所有计算机系统的本质概念:
从程序员的角度,建立一个层次型的计算机系统概念模型, 从底层的数据内存表示,到指令的构成、虚拟存储器、编译 系统、动态链接库、直到最上层的用户应用程序。 深入理解计算机系统影响 C 程序性能的各个方面,提高学生 编写高效 C 程序的能力。
5
TM ∑ fi ti
i=1
n
每秒执行百万条指令
CPI FLOPS
执行一条指令所需时钟周期数 每秒浮点运算次数
26
open-src
Let's begin now...
''I hear and I forget; I see and I remember; I do and I understand. ''
11
结构、组织和实现 . 体系结构
Hardware/Software Interface
12
结构、组织和实现 . 组织
Organization
计算机组织:计算机体系结构的逻辑实现,包括机器级内的数据 流和控制流的组成以及逻辑设计等,它包含了许多对程序员来说 透明的硬件细节。 它着眼于机器级内各事件的排序方式与控制机构、 各部件的功能 及各部件间的联系。计算机组成设计要解决的问题是在所希望达到 的性能和价格下,怎样最佳、最合理地把各种设备和部件组织成计 算机,以实现所确定的体系结构。 近 40 年里,计算机组成设计主要是围绕提高速度,着重从提高 操作的并行度、重叠度,以及分散功能和设置专用功能部件来进 行的。
Von Neumann 结构
控制器
Control Unit
CPU
ALU Internal Bus Registers Control Unit
Sequencing Logic Control Unit Registers and Decoders
Control Memory
控制器普遍采用微程序的实现方法。
用微程序控制,采用单机处理还是用多机处理或分布处理;
6. 缓冲和排队技术 : 在不同部件之间怎样设置及设置多大容量的缓
冲器来弥补它们的速度差异;是采用随机方式,还是先进先出、 先进后出、优先级或循环方式来安排等待处理事件的先后顺序;
7. 预估、 预判技术 : 为优化性能和优化处理, 采用什么原则来预测
OPERATING ENVIROMENT Data Storage Facility
Source and Destination of Data
Data Movement Apparatus
Control Mechanism
Data Processing Facility
计算机的通用性是根本的,所有功能的专门化均发生在编程阶段,而不是在设计阶段。
10
结构、组织和实现 . 体系结构
Architecture Design
体系结构需要设计的计算机属性一般包括:
1. 数据表示:硬件能直接识别和处理的数据类型和格式等; 2. 寻址方式:最小可寻址单位、 寻址种类、地址计算等; 3. 寄存器组织:通用 / 专用寄存器的设置、数量、字长、使用约定等; 4. 指令系统:二进制或汇编级指令的操作类型、 格式、 排序方式、 控
Architecture
computer system
Data Structures Applications Programming
Transition from Abstract to Concrete!
From: high-level language model To: underlying implementation
计算机组成原理参考:
《编程卓越之道 第一卷 : 深入理解计算机》 Randall Hyde 著 电子工业出版社 2007 年 3 月 高等教育出版社
《计算机组成原理(第 2 版)》 唐朔飞著 2008 年 1 月
2
open-src
Course Outline
计算机系统漫游 信息的表示和处理 程序的机器级表示 处理器体系结构 存储器层次结构 链接 异常控制流 虚拟存储器 系统级 I/O
24
Von Neumann 结构
某个 Von Neumann 结构
CPU
…
ACC MQ
5 6
IR PC
存储体
CU
ALU
控制 单元
27 1 4
MAR
3 8
MDR
I/O
X
运算器
控制器
9
指令 = 操作码 + 操作数
主存储器
25
Von Neumann 结构
计算机的性能指标
1. 机器字长 : CPU 一次能处理数据的位数。与 CPU 中的寄存器位数有关。 主频 吉普森法 2. 运算速度 MIPS
制机构等;
5. 存储组织:内存编址方式、容量、最大可编址空间等; 6. 中断机构:中断的分类与分级、中断处理程序功能及入口地址等; 7. 系统机器级的核心态和用户态的定义和切换; 8. 机器级 I/O 结构:输入输出设备的连接、 使用方式、 流量、 操作结
束、 出错指示等;
9. 系统各部分的信息保护方式和保护机构。
Von Neumann 结构
CPU
CPU
Computer
I/O System Bus Memory CPU
Registers
Arithmetic and Login Unit
Internal CPU Interconnection
Control Unit
CPU 是计算机中最有趣、最复杂的部分。
23
18
CH00 Preparation for CSAPP
体系结构、组织和实现☆ Von Neumann 结构★
2010_Spring_csapp@pe.cqnu
Von Neumann 结构
Von Neumann 结构的设计
从最上层的角度来分析现有的计算机体系结构,都属于控制流驱 动的 Von Neumann 结构,其要点是:
open-src
How To Study
学习动力:
为什么学?核心课;解决问题;兴趣;喜爱 ...
学习方法:
课前预习,注重概念的理解,有疑问作标记,也可 google 。 用心听讲,要求以理解为主,有感悟的地方先用草稿纸快速记 下,要求高度集中精力 ( 请晚上 10 点入睡,保证 ) 。 课后结合笔记整理讲义,多做练习题,强烈建议独立完成课后 上机作业,不要有困难就放弃。 上机课要求事先思考实验题目,勾勒初步解决方案并记在纸 上,然后上机解决。建议成立三人学习小组。
结构、组织和实现
现代计算机的层次结构
机器 : 能存储和执行相应语言程序的算法和数据结构的集合体。 各级机器的实现主要靠翻译和解释。
9
结构、组织和实现 . 体系结构
Architecture
体系结构:对计算机系统中各机器级之间 Interface 的划分和定义,是 各机器级对程序员可见的属性。类似于编程语言的函数库的调用接口。 在计算机层次结构中,各级都有它自己的体系结构。 透明:本来存在的事物或属性,从某个角度上看不到,称对它是透明 的。体系结构设计研究的就是对某级,哪些应当透明,哪些应当不透 明。正确合理地进行透明性分析和取舍是非常重要的。 一般所称的计算机体系结构指的是传统机器级 Interface 的体系结构, 研究的是软硬件之间的功能分配,提供其上级的机器语言、汇编语言 程序员或者编译程序设计者可见的计算机属性。 至于下级的机器级内部的数据流和控制流的组成,逻辑设计和器件设 计等对体系结构设计是透明的,属于计算机组织的内容。
17
结构、组织和实现
结构、组织与 CSAPP
计算机体系结构和计算机组成是密切相关的,具有相同体系 结构的计算机可以因为速度等因素的不同而采用不同的组 织;计算机组织也会影响体系结构。二者往往是在一门课程 中讲授。 本门课程不同于传统的计算机结构与组织的课程,它不仅从 计算机结构和组织相结合的角度介绍计算机系统,并且更着 眼于讨论那些影响 C 语言程序的话题。
3
open-src
Course Role
Networks Operating Systems Processes Mem. Mgmt Compilers Embedded Systems
Network Protocols
Machine Code Optimization Exec. Model Memory System
计算机采用二进制数制表示数据和指令 采用存储程序方式 由运算器,控制器,存储器,输入装置和输出装置组成
一般体系结构的设计者是从功能和结构从发进行设计的: 结构:部件相互关联的方式。 功能:作为相关结构组成部分的每个部件的操作。
20
Von Neumann 结构
计算机的基本功能
Data processing Data storage Data movement Control
Computer Organization
Computer Systems
A Programmer's Perspective
Randal E. Bryant, David O'Hallaron
Hale Waihona Puke Baidu
open-src
Reference
C 语言参考:
《 C 语言程序设计:现代方法》 ( 美 ) King, K.N. 著 , 吕秀锋译 人民邮电出版社 2007.11