05.Float Arithmetic
溢出 阶值上溢 正阶值超过可能的最大允许阶值 11111110 (127) 标记为 ±∞ 阶值下溢 负阶值小于可能的最小允许阶值 00000001 (-126) 报告为0 有效值上溢 (右规) 同符号的两个有效值相加可能导致最高有效位的进位 通过重新对齐来修补 有效值下溢 (右规) 在有效值对齐过程中, 可能有数字被移出右端最低位而丢失 需要某种形式的四舍五入 IEEE754标准规定的五种异常 无效运算 (结果为NaN) 运算时有一个数是非有限数, 如 : ±∞, ±∞/±∞, 0*±∞等 结果无效, 如 : 0/0, 源操作数为NaN, 一个数对0取余等 有限数除以0 (结果为±∞) 数太大 (阶上溢, 结果为±∞) 如 : 对于单精度, 阶码 > 1111 1110 (127) 数太小 (阶下溢, 结果用非规格化数表示) 如 : 对于单精度, 阶码 < 0000 0001 (-126) IEEE754出现前阶下溢一般为0, 换言之, IEEE754解决了这一问题 结果不精确 (舍入时引起) 如 :...
04.Integer Arithmetic
ALU 算术逻辑单元 (Arithmetic and Logic Unit, ALU) 是计算机实际完成数据算术逻辑运算的部件 数据由寄存器 (Registers) 提交给ALU, 运算结果也存于寄存器 ALU可能根据运算结果设置一些标志 (Flags), 标志值也保存在处理器内的寄存器中 控制器 (Control Unit) 提供控制ALU操作和数据传入送出ALU的信号 加法 全加器 注意: 异或门只能由2个输入端, 故需要6个门, 3个与门, 1个或门, 2个异或门 优化: 实际需要2个与门, 1个或门, 2个异或门, 但是延迟更高了 不足: 延迟高 串行进位 (行波进位) 加法器 RCA 实际就是将多个全加器连在一起 延迟: Cn = 2n Fn = Cn-1 + 3 = 2(n - 1) + 3 = 2n + 1 (n ≥ 3, 当n = 1 或 2 时, F = 6) 不足: 高位的运算必须等待低位的"进位输出信号" 思考:...
03.Integer, Floating-point and Decimal Representation
信息的二进制编码 什么是信息? Infotmation is a message that is previously uncertain to receivers 怎么表示信息? Codebook (Dictionary) 怎么度量信息? 朴素的做法: 度量码长 前提: 没有歧义表达 (如: A-0 B-1 C-10 若要表达10, 既有BA又有C,发生歧义) 累加上(每个字符出现的概率 * 该字符所拥有的比特数) 三个公设 Monotonicity in event probability: 事件所发生的概率作为度量的标准 Additivity: 两个独立事件发生概率可加 Continuity 自信息量: I(xi) = -log2p(xi) 一个系统的信息熵 在冯诺依曼结构中, 所有信息 (代码和数据) 都采用二进制编码 编码:...
02.A Top-Level View of Computer Function and Interconnection
哈佛结构与冯诺依曼模型 哈佛结构 将程序指令存储和数据存储分开 程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令 成本高 冯诺依曼模型 最重要的思想 “存储程序” 使用同一个存储器同时存指令和数据,经由同一个总线传输 这种指令和数据共享同一总线的结构,使得信息流的传输成为限制计算机性能的瓶颈,影响了数据处理速度的提高 区别 二者的区别就是程序空间和数据空间是否是一体的 举一个最简单的对存储器进行读写操作的指令,指令1至指令3均为存、取数指令,对冯·诺依曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个; 如果采用哈佛结构处理以上同样的3条存取数指令,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度 图灵机 图灵机计算 4 + 3 例: 连续4个1代表数字 4, 连续3个1代表数字 3 1 R q1 1: 将数值改为 1 R:...
01.Introduction
组织与结构 组织: 对编程人员不可见 操作单元及其相互连接 包括: 控制信号, 存储技术… 例如: 实现乘法是通过硬件单元还是重复加法? 结构: 对编程人员可见 直接影响程序逻辑执行的属性 包括: 指令集, 表示数据类型的位数… 例如: 是否有乘法指令? ISA Instruction Set Architecture(ISA), 指令集体系结构 ISA是一种规约, 它规定了如何使用硬件 ISA在通用计算机系统是必不可少的一个抽象层 不同ISA规定的指令集不同 计算机组成必须能够实现ISA规定的功能 同一种ISA可以有不同的计算机组成 计算机性能 计算机的关键参数之一 性能, 成本, 尺寸, 安全性, 可靠性, 能耗… 性能评价标准 CPU: 速度 存储器: 速度, 容量 I/O: 速度, 容量 … 计算机设计的主要目标是: 提高CPU性能 CPU性能 系统时钟 时钟频率(单位: Hz): 计算机在单位时间内执行最基本操作的次数 时钟周期(单位: s):...
11.并发控制
并发控制 多用户数据库系统 多事务执行方式 事务串行执行 交叉并发方式 单处理机系统 同时并发方式 多处理机系统 并发控制概述 数据不一致性 丢失修改 不可重复读 读"脏"数据 并发控制的主要技术 封锁 时间戳 乐观控制法 多版本并发控制 封锁 基本封锁类型 排它锁(X锁) 写锁 不可读不可改 共享锁(S锁) 读锁 可读不能改 锁的相容矩阵 T1\T2 X S _ X N N Y S N Y Y _ Y Y Y 封锁协议 何时申请X锁或S锁 封锁时间 何时释放 一级封锁协议 事务T在修改之前必须先对其加X锁, 直到事务结束才释放; 事务结束包括正常结束(COMMIT)和非正常结束(POLLBACK) 作用 一级封锁协议可防止丢失修改, 并保证事务T可恢复 在一级封锁协议中, 如果仅仅是读数据不对其进行修改是不需要加锁的,...
10.数据库恢复
事务的基本概念 事务 是用户定义的一个数据库操作序列, 要么全做, 要么全不做, 是一个不可分割的工作单位 是恢复和并发的基本单位 事务与程序 事务的定义 显式定义方式 事务正常终止 123BEGIN TRANSACTION; SQL 语句;COMMIT; # 提交 事务异常终止 123BEGIN TRANSACTION; SQL 语句;ROLLBACK; # 回滚 事务的特性(ACID特性) 原子性 一致性 隔离性 持续性 破坏ACID特性的因素 多个事务并行运行, 不同事物的操作交叉执行 事物在运行过程中被强行停止 数据库恢复概述 故障是不可避免的 故障对数据库的影响的主要表现 数据库恢复的作用 恢复操作的基本原理是冗余 故障的种类 事务内部的故障 非预期 系统故障 软故障 介质故障 硬故障 计算机病毒 恢复的实现技术 数据转储 DBA定期地将整个数据库复制到磁带, 磁盘或其他存储介质上保存起来的过程,...
09.关系查询处理和查询优化
查询处理 查询处理步骤 查询分析 对查询语句进行扫描 词法分析和语法分析 查询检查 合法性检查 视图转换 安全性和完整性初步检查 查询优化 查询优化分类 代数优化/逻辑优化 物理优化 查询优化的选择依据 基于规则 基于代价 基于语义 查询执行 实现查询操作的算法示例 选择操作的典型实现 全表扫描方法 索引扫描方法 连接操作的实现 嵌套循环算法 排序-合并算法 索引连接算法 Hash Join算法 查询优化 查询优化概述 关系系统的查询优化 : 只要提出"干什么", 不必指出"怎么干" 关系数据库管理系统通过某种代价模型计算出各种查询执行策略的执行代价, 然后选取代价最小的执行方案 查询优化的总目标是选择有效的策略, 求得给定关系表达式的值, 使得查询代价最小 一个实例 见ppt ch59 第一种情况 计算广义笛卡尔积 作选择操作 作投影操作 第二种情况 计算自然连接 读取中间文件块,...
07.数据库设计
数据库设计概述 数据库设计的特点 数据库建设的基本规律 三分技术, 七分管理, 十二分基础数据 结构(数据)设计和行为(处理)设计相结合 数据库设计方法 手工试凑法 规范设计法 过程迭代和精益求精 新奥尔良方法 基于E-R模型的数据库设计 3NF的设计方法 面向对象的数据库设计方法 统一建模语言(UML)方法 数据库设计的基本步骤 数据库设计分6个阶段 需求分析, 概念结构设计, 逻辑结构设计, 物理结构设计, 数据库实施, 数据库运行和维护 参加数据库设计的人员 系统分析人员和数据库设计人员 数据库管理员和用户代表 应用开发人员 各阶段的主要任务 各个阶段的数据设计描述 数据库设计过程中的各级模式 需求分析 需求分析的任务 调查的重点是"数据"和"处理", 获得用户对数据库在信息, 处理, 安全性与完整性的要求 需求分析的方法 需求分析的目的: 调查清楚用户的实际需求并进行初步分析, 最终与用户达成共识 常用分析方法 结构化分析方法...