计算机原理及系统结构 第六讲 主讲教师:赵宏伟                 学时:64.

Slides:



Advertisements
Similar presentations
汇编语言 程序设计 第 1 章 基础知识 第 1 章 基础知识 ◆ 汇编语言程序设计概述 ◆ 进位计数制及其相互转换 ◆ 计算机中数的表示 ◆ 计算机中字符的表示 汇编语言程序设计概述 进位计数制及其相互转换 计算机中数的表示 计算机中字符的表示.
Advertisements

1 1.2 信息的表示与存储  数据:数据是对客观事物的符号表示。 如,数值、文字、语言、图形、图像等都是不同形 式的数据。  信息:信息是既是对客观事物变化和特征的反映,又 是事物之间相互作用、相互联系的表征。 信息必须数字化编码,才能用计算机进行传送、存 储和处理。 信息具有针对性和时效性。
计算机应用基础 江西财经大学信息管理学院 凌传繁
九十五年國文科命題知能 研習分享.
第六节 美国 ■移民国家与多元化 ■现代化的农业 ■引领美国制造业的高新技术产业.
大学计算机基础 山东大学计算机学院 张鹏 高等学校计算机公共教学改革与实践 大学计算机基础 山东大学计算机学院 张鹏
第二章 复式记账原理*** 主要内容、重点难点: 1.会计要素与会计等式*** 2.会计科目与账户*** 3. 借贷记账法***
第六章 其他税收法律制度.
水 钟 古代计时器 陈宁心.
1、分别用双手在本上写下自己的名字 2、双手交叉
案例分析题 主讲蔡影.
5.1 文本与文本处理 5.2 图像与图形 5.3 数字声音及应用 5.4 数字视频及应用
1.6 中国人口迁移.
第三课 走向自立人生.
第二章 控制系统的数学模型 2-0 引言 2-1 微分方程的建立及线性化 2-2 传递函数 2-3 结构图 2-4 信号流图.
課程名稱:計算機概論 授課老師:李春雄 博士
计算机应用基础 计算机基础知识.
2007年11月考试相关工作安排 各考试点、培训中心和广大应考人员:
大学计算机应用基础 信息工程学院 吴 杰 学年第一学期.
分式的乘除(1) 周良中学 贾文荣.
第四章 制造业企业 主要经济业务核算.
大学计算机-计算思维导论 哈尔滨工业大学.
《思想品德》七年级下册 教材、教法与评价的交流 金 利 2006年1月10日.
——开启你计算机网络之门的金钥匙 图书作者:王达 制作
2.3 信息表示与编码 所谓编码,就是利用数字串来标识所处理对象的不同个体。
1.1.2 四 种 命 题.
第二章 數字系統:電腦內部的資料表示法 在第一章中,我們對於電腦有了初步的認識,在深入介紹電腦的各項組成元件之前,首先我們必須先了解另一種不同於人類使用習慣的二進位表示法,由於電腦的半導體、磁性、光學元件適合用來表示二進位,因此二進位表示法非常適合用來設計電腦。
计算机文化基础教程(第二版)(Windows XP + Office 2003)
第五章 定积分及其应用.
>> 第三章 中文Windows XP >> 第四章 中文文字处理系统Word 2003
课标教材下教研工作的 实践与思考 山东临沂市教育科学研究中心 郭允远.
单片机原理与应用.
动物激素的调节及其在农业生产中的应用(B级)
第一章 信息技术与 计算机文化 潍坊医学院 第一章信息技术与计算机文化.
第2讲 地球的宇宙环境、圈层结构和太阳对地球的影响
數字系統與資料表示法 電腦的基本單位 數字系統 數值資料表示法 數值資料與算數運算 數碼系統 浮點數表示法 文字表示法 資料來源:周裕達教授.
数字电路与逻辑设计 任课教师:刘毅 博士/副教授 单位:西安电子科技大学ISN国家重点实验室
資料表示法與數字系統 主講:顧叔財 資料來源: 計算機概論.
A3-1 數字系統 A3-2 資料表示法 A3-3 資料的儲存
远 动 监 控 技 术 西南交通大学电气工程学院.
第1章 微型计算机基础知识 【本章重点】微型计算机的组成和各部分的作 用,以及计算机中数的表示方法。
數位邏輯與實習 曾建勳 Week 2.
微机原理电子教案 微机原理电子教案.
重點 資料結構之選定會影響演算法 選擇對的資料結構讓您上天堂 程式.
6-1 資料表示法簡介 6-2 數值表示法 6-3 數字系統介紹 6-4 數字系統轉換方式
计算机组成原理 The Principle of Computer
第五章 频率特性法 第四节 用频率特性法分析 系统稳定性
第一章 微型计算机基础知识.
computer organization principle
导数的应用 ——函数的单调性与极值.
第二节 极限 一、数列极限 定义:.
第1章 数制与编码 1.1 数制 1.2 编码.
数字电子技术 Digital Electronics Technology
數字系統 資訊工程系 國立清華大學資訊基礎教育 教學改進計畫 數字系統 資訊工程系 /4/22.
數位邏輯設計與實習 主講者:杜勇進.
结束 放映 1.1 数制及编码 数制及其转换 编码 返回 2019/5/1.
2019/4/29 计算机组成原理 辅导教师:陆明强.
数字电子技术 电子教案 章洁.
第1章 数制与编码 1.1 数制 1.2 编码.
第六章 静定桁架的内力分析.
第四章 图元的属性.
本章优化总结.
基础会计.
第 四 章 迴歸分析應注意之事項.
铂安智防务科技有限公司 辅助驾驶设备 2017.
1.理解力和运动的关系,知道物体的运动不需要力来维持。
第一章 数字逻辑基础 1.1 模拟信号与数字信号 1.2 数字电路 1.3 数制 1.4 二进制编码.
中级会计实务 ——第一章 总论 主讲:孙文静
第二章 计算机中的信息表示.
3.4 链路控制协议示例 一.面向字符的控制规程-- BSC
Presentation transcript:

计算机原理及系统结构 第六讲 主讲教师:赵宏伟                 学时:64

第3章 数据表示、数据运算算法 和逻辑电路实现

本章主要内容 信息编码、码制转换与检错纠错码 数据表示——常用的信息编码 二进制数值数据的编码与运算算法

数字化编码二要素 数值 文字 符号 语音 图形 图像 等统称数据, 在计算机内部,都必须用数字化编码的形式 被 存储 加工 和 传送 被 存储 加工 和 传送 数字化编码二要素: 少量简单的基本符号 一定的组合规则 用以表示大量复杂多样的信息 P62

基二码(二进制码) 只使用两个基本点符号:1 0 符号个数最少,物理上容易实现 与二值逻辑的 真 假 两个值对应简单 只使用两个基本点符号:1 0 符号个数最少,物理上容易实现 与二值逻辑的 真 假 两个值对应简单 用二进制码表示数值数据运算规则简单 P63

N 进位记数法与进制转换 D = r 进位记数法 -k i * i i=m-1 N 代表一个数值 r 是这个数制的基(Radix) 表示m+k位的值求累加和 P64

从二进制数求其十进制的值,逐位码权累加求和 十进制转二进制 整数部分除2取余 小数部分乘2取整 2 1 1 1 低 0.625 * 2 2 5 高 1 0.25 * 2 1 0.5 * 2 2 2 1 1 1 2 高 0.0 低 除尽为止 求得位数满足要求为止 从二进制数求其十进制的值,逐位码权累加求和 P65

二到八或十六进制转换 小数部分不足位数要补零凑足,否则出错。 说明:整数部分不足位数对转换无影响, 二到八 从小数点向左右三位一分组 二到八 从小数点向左右三位一分组 (10 011 100 . 01)2 = ( 234 . 2 )8 010 二到十六 从小数点向左右四位一分组 (1001 1100 . 01)2 = ( 9C . 4 )16 0100 说明:整数部分不足位数对转换无影响, 小数部分不足位数要补零凑足,否则出错。 P67

计算机原理及系统结构 第七讲 主讲教师:赵宏伟                 学时:64

二进制数据算术运算规则 (1) 加法运算规则 0+0=0 例如: 0101 0+1=1 +) 0001 1+0=1 0110 (1) 加法运算规则 0+0=0 例如: 0101 0+1=1 +) 0001 1+0=1 0110 1+1=0 并产生进位 (2) 减法运算规则 0-0=0 例如: 1011 0-1=1 并产生借位 -) 0101 1-0=1 0110 1-1=0

二进制数据算术运算规则 0X0=0 X) 0101 0X1=0 1101 1X0=0 1101 1X1=1 1000001 0000 乘法运算规则 例如: 1101 0X0=0 X) 0101 0X1=0 1101 1X0=0 1101 1X1=1 1000001 除法运算规则 1101 例如: 1110101/1001 1001 1110101 1001 1011 01001 0000 P68

二进制数据逻辑运算规则 0∨0=0 /0=1 0∨1=1 /1=0 1∨0=1 1∨1=1 0000 0∧0=0 0⊕0=0 (5)逻辑或运算规则 (7)逻辑非运算规则 0∨0=0 /0=1 0∨1=1 /1=0 1∨0=1 1∨1=1 (6)逻辑与运算规则 (8)逻辑异或运算规则 0∧0=0 0⊕0=0 0∧1=0 0⊕1=1 1∧0=0 1⊕0=1 1∧1=1 1⊕1=0 0000

计算机原理及系统结构 第八讲 主讲教师:赵宏伟                 学时:64

检错纠错码 为了提高计算机的可靠性,除了采取选用更高可靠性的器件,更好的生产工艺等措施之外,还可以从数据编码上想一些办法,即采用一点冗余的线路,在原有数据位之外再增加一到几位校验位,使新得到的码字带上某种特性,之后则通过检查该码字是否仍保持有这一特性,来发现是否出现了错误,甚至于定位错误后,自动改正这一错误,这就是我们这里说的检错纠错编码技术。 P70

纠错码分类 纠错码 线性码 非线性码 分组码 卷积码 非循环码 循环码 随机 错误 突发 错误 非系统码 系统码 校验位与信息位 的形成关系 信息位与校验位 的约束条件 卷积码 码字本身的 结构特点 非循环码 循环码 信息位与校验位排列位置关系 随机 错误 突发 错误 非系统码 系统码 P70

几种常用的检错纠错码 我们只介绍三种常用的检错纠错码: 原始数据 码 字 结果数据 传送 编码过程 译码过程 奇偶检错码, 用于并行数据传送中 海明检错与纠错码,用于并行数据传送中 循环冗余码, 用于串行数据传送中 原始数据 码 字 结果数据 传送 编码过程 译码过程 形成校验位的值,加进特征 检查接送的码字,发现 / 改正错误

奇偶校验码 用于并行码检错 原理:在 k 位数据码之外增加 1 位校验位, 使 K+1 位码字中取值为 1 的位数总保持 为 偶数(偶校验)或 奇数(奇校验)。 例如: 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 原有数字位 两个新的码字 偶校验 奇校验 校验位 P71

奇偶校验码的实现电路 p 编码电路 译码电路 + + 同左侧电路 + + + + + + 奇较验 偶校验 出错指示 八位数据位 奇较验 偶校验 出错指示 p 编码电路 译码电路 + + 同左侧电路 八位数据位 + + + + + + D7 D6 D5 D4 D3 D2 D1 D0 P (校验位)

海明校验码 用于多位并行数据检错纠错处理 实现:为 k 个数据位设立 r 个校验位, 使 k+r 位的码字同时具有这样两个特性:

海明码的编码方法 合理地用 k 位数据位形成 r 个校验位的值,即保证用 k 个数据位中不同的数据位组合来形成每个校验位的值,使任何一个数据位出错时,将影响 r 个校验位中不同的校验位组合起变化。换言之,通过检查是哪种校验位组合起了变化,就能确定是哪个数据位错,对该位求反则实现纠错。 有时两位错与某种情况的一位错对校验位组合的影响相同,必须加以区分与解决。

海明码的实现方案 例如: k =3, r =4 + :异或 编码方案 译码方案 D3 D2 D1 P4 P3 P2 P1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 1 + :异或 P1 = D2 + D1 P2 = D3 + D1 P3 = D3 + D2 编码方案 P4 = P3 + P2 + P1 + D3 + D2 + D1 S1 = P1 + D2 + D1 S2 = P2 + D3 + D1 S3 = P3 + D3 + D2 S4 = P4 + P3 + P2 + P1 + D3 + D2 + D1 译码方案 P72

检错纠错码小结 (1) K位码有2K 个编码状态,全用于表示合法码,则任何一位出错, 均会变成另一个合法码,不具有检错能力。 (2) 从一个合法码变成另一个合法码,只少要改变几位码的值,称为最小码距(码距)。 (3) K+1 位码,只用其 2K 个状态,可使码距 为 2 , 如果一个合法码中的一位错了,就成为非法码,通过检查码字的合法性,就得到检错能力,这就是奇偶校验码。

检错纠错能力 (4) 对 k 位数据位,当给出 r 位校验位时, 要发现并改正一位错, 须满足如下关系: 2r > = k + r +1 ; 要发现并改正一位错,也能发现两位错,则应: 2r-1 >= k + r , 此时码距为 4。 (5) 若最小码距为 d (d>=2), 能发现 d-1 位错,或改正 (d-2)/2 (取整) 位错, 要发现 l 位错,并改正 t 位错,应满足如下条件: d >= l + t + 1 ( l >= t )

计算机原理及系统结构 第九讲 主讲教师:赵宏伟                 学时:64

本章主要内容 信息编码、码制转换与检错纠错码 数据表示——常用的信息编码 二进制数值数据的编码与运算算法

基二码应用实例:数据表示 逻辑型数据 字符型数据 检错纠错码 奇偶校验 海明校验 循环冗余校验 数值型数据 定点小数 整数 浮点数 ASCII 码 EBCDIC 码 字符串 汉字 检错纠错码 奇偶校验 海明校验 循环冗余校验 数值型数据 定点小数 整数 浮点数 二—十进制数(BCD码)

逻辑型数据 逻辑型数据只有两个值:真 和 假, 对逻辑型数据可以执行逻辑的 与 或 非等基本逻辑运算。其规则如下: 逻辑型数据只有两个值:真 和 假, 正好可以用二进制码的两个符号分别表示, 例如 1 表示 真 则 0 表示 假 不必使用另外的编码规则。 对逻辑型数据可以执行逻辑的 与 或 非等基本逻辑运算。其规则如下:

逻辑型数据基本运算规则 X Y X与Y X或Y X的非 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0

字符型数据的表示 字符作为人—机联系的媒介,是最重要的数据类型之一,当前的西文字符集由 128 个符号组成,通常用 8 位二进制编码,即用一个字节来表示每一个符号,当前通用的两个标准字符集是: ASCII 码: 即 American Standard Code for Information Interchange EBCDIC码:即 Extended Binary Coded Decimal Interchage Code ASCII码字符集具体编码如下表所示:

ASCII字符编码集 b6 b5 b4 000 001 010 011 100 101 110 111 b3 b2 b1 b0 0000 NUL DLE SP 0 @ P , p 0001 SOH DC1 ! 1 A Q a q 0010 STX DC2 “ 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u 0110 ACK SYN & 6 F V f v 0111 BEL ETB ‘ 7 G W g w 1000 BS CAN ( 8 H X h x 1001 HT EM ) 9 I Y i y 1010 LF SUB * : J Z j z 1011 VT ESC + ; K [ k { 1100 FF FS , < L \ l | 1101 CR GS - = M ] m } 1110 SO RS . > N ^ n ~ 1111 SI US / ? O _ o P75

字符串的表示与存储 字符串是指连续的一串字符,它们占据主存中连续的多个字节,每个字节存放一个字符,对一个主存字的多个字节,有按从低位到高位字节次序存放的,也有按从高位到低位字节次序存放的。表示字符串数据要给出串存放的主存起始地址和串的长度。例如:IF A>B THEN READ(C)就可以有如下不同的存放方式: I F A A F I > B T T B > 假定每个字 H E N N E H 由 4 个字节 R E A D D A E R 组成 ( C ) ) C (

汉字的表示 通常用两个字节表示一个汉字 为了与西文字符编码相区别(西文的ASCII码的最高一位编码值为0),表示一个汉字时,把两个字节的最高一位的编码值设定为 1,则该编码集的最多编码数量为 128 X 128。 这种编码方案与西文传送中的把ASCII码的最高一位用作奇偶校验位有矛盾。

数值数据在计算机内的格式 定点小数: N = N N N ……...N 整 数 : N = N N N ... N N s -1 -2 -n 整 数 : N = N N N ... N N s n n-1 1 浮点数: N = M E E ...E E M M ...M -n s s m-1 1 -1 -2 基为 2 IEEE 标准: 阶码用移码,尾数用原码 符号位 阶码位 尾数数码位 总位数 短浮点数: 1 8 23 32 长浮点数: 1 11 52 64 临时浮点数: 1 15 64 80 P76

二 十进制编码(BCD编码) 用四位二进制表示一位十进制, 16个编码状态选用其中的10个编码 有多种方案,例如: 又可区分为: 8421码,余 3 码,循环码 又可区分为: 有权码:每位上的 1 代表确定的值 无权码:无法确定每位上的 1 代表的值

有权码 无权码 8421 余3码 循环码 84-2-1 0 0000 0011 0000 0000 1 0001 0100 0001 0111 2 0010 0101 0011 0110 3 0011 0110 0010 0101 4 0100 0111 0110 0100 5 0101 1000 1110 1011 6 0110 1001 1010 1010 7 0111 1010 1000 1001 8 1000 1011 1100 1000 9 1001 1100 0100 1111 P79

计算机原理及系统结构 第十讲 主讲教师:赵宏伟                 学时:64

本章主要内容 信息编码、码制转换与检错纠错码 数据表示——常用的信息编码 二进制数值数据的编码与运算算法

定点小数表示: Ns N1 N2 … Nn (纯小数)原码,反码,补码的定义 [ X ] = (2 - 2 )+ X X Mod ( 2 - 2 ) 反 X 0 < X < 1 Mod 2 2 + X -1 < X < 0 补 P82

定点小数表示: Ns N1 N2 … Nn 原 码 定义: [ X ] 原 = 10000 结论:原码为符号位加数的绝对值,0正 1负 原码零有两个编码,+0 和 -0编码不同 原码难以用于加减运算,但乘除方便 X 0 < X < 1 1 - X -1 < X < 0 P83

定点小数表示: Ns N1 N2 … Nn 模 2 补码 定义: [ X ]补 = 结论:补码最高一位是符号位,0 正 1 负 补码表示为:2*符号位 + 数的真值 补码零只有一个编码,故能表示 -1 补码能很好地用于加减(乘除)运算 X 0 < X < 1 2 + X -1 < X < 0 MOD 2 P83

定点小数表示: Ns N1 N2 … Nn 反 码 定义:[ X ]反 = 实例: X1 = 0.10110 -0.10110 0.0000 11111 结论:反码负数为符号位跟每位的反, 0 正 1 负 反码零有二个编码,分+0 和 -0 反码难以用于加减运算,有循环进位问题 X 0 < X < 1 (2-2-n) + X -1 < X < 0 MOD (2-2-n) P86

计算机原理及系统结构 第十一讲 主讲教师:赵宏伟                 学时:64

整数的编码表示 整数的 原码 反码 补码 表示 因此整数的模与整数位数有关, 例如:整数六位编码: 整数的 原码 反码 补码 表示 与小数的三种表示基本相同, 差别仅表现在小数点的位置, 可以认为整数的小数点在最低数值位的右侧 因此整数的模与整数位数有关, 讲课中不大用整数讲 原 反 补 码定义 例如:整数六位编码: X = +01110 [X]原= 0 01110 [X]补= 0 01110 X = - 01110 [X]原= 1 01110 [X]补= 1 10010 P87

原 反 补码表示小结 正数的 原码、反码、补码表示均相同, 零的原码和反码均有 2个编码,补码只 1个码 符号位为 0,数值位同数的真值。 零的原码和反码均有 2个编码,补码只 1个码 负数的 原码,反码,补码表示均不同, 符号位为 1,数值位:原码为数的绝对值 反码为每一位均取反码 补码为反码再在最低位+1 由[X]补求[-X]补:每一位取反后,再在最低位+1 n 由 [X]补 求 X 的真值:X= -1 + Xi * 2-i i=1

数据的算术运算 补码 加 减 法 运算 原码一位乘法运算 原码一位除法运算 补码一位乘法运算 补码一位除法运算 原码二位乘法运算 原码一位乘法运算 原码一位除法运算 补码一位乘法运算 补码一位除法运算 原码二位乘法运算 补码二位乘法运算 其它快速乘除法运算方法简介

补码加减法的实现 [X + Y] = [X] + [Y] [X-Y] = [X] + [-Y] [-Y] = 对 [Y] 逐位取反,再在最低位加 1 溢出判断: (1)正 + 正 得负 或 负 + 负 得正 (2)数字位有向符号位的进位,但符号位不产生向更高位的进位 (3)双符号位的值为 01 或 10 补 补 补 补 补 补 补 补

实现补码加减运算的逻辑电路 F 1 Fs F ALU F X F Y X F 加 F X F /Y F Y 选通门 二选通门 X Y OVR Z C F 1 Fs F ALU F   X F   Y X   F 加 F X F /Y F Y 选通门 二选通门 X Y X X+Y X X-Y 1 0 1 目的 寄存器 源 寄存器 累加器 F   X F  /Y F   1 X   F 选通门 减 X F

补码加减法运算实例 X=0.1011 y= -0.0101 模 4 补码 [X] = 00 1011, [Y] = 11 1011 00 1011 00 1011 +11 1011 + 00 0101 100 0110 01 0000 X+Y X-Y (溢出) 补 补 补

补码表示中的符号位扩展 由 [X]补 求 [X / 2]补 的方法 原符号位不变, 且符号位与数值位均右移一位,例如, 不同位数的整数补码相加减时, 位数少的补码数的符号位向左扩展, 一直扩展到与另一数的符号位对齐。 0101010111000011 0101010111000011 + 1111111110011100 + 0000000000011100 0101010101011111 0101010111011111

计算机原理及系统结构 第十二讲 主讲教师:赵宏伟                 学时:64

原码一位乘运算 [X*Y]原 =( XS + YS ) ( X * Y ) 例如: X = 0.1101 Y = - 0.1011 0. 1 1 0 1 00 0 0 0 0 1 0 1 1 * 0. 1 0 1 1 00 0 1 1 0 1 1 0 1 1 1 0 1 00 1 0 0 1 1 1 1 0 1 1 0 1 00 0 1 0 0 1 1 1 1 0 0 0 0 00 1 0 0 0 1 1 1 1 + 1 1 0 1 X 和 Y 符号异或为负 0 . 1 0 0 0 1 1 1 1 最终乘积原码表示为: 1 1 0 0 0 1 1 1 1 手工运算过程 计算机内运算的实现方法 部分积右移 部分积 乘数 P90 P92

原码一位乘运算 例如: X = 0.1101 Y = - 0.1011 0. 1 1 0 1 问题: * 0. 1 0 1 1 1. 加法器只有两个数据输入端 1 1 0 1 2. 加法器与乘运算数据位数相同 1 1 0 1 解决方案: 0 0 0 0 每次求出部分积,而不是一次总累加 + 1 1 0 1 变每次左移被乘数为右移部分积 0 . 1 0 0 0 1 1 1 1   判乘数每一位的值用固定的一位线路 手工运算过程

实现原码一位乘法的逻辑线路图 加 法 器 部 分 积 被 乘 数 乘 数 F 最低位 加运算 移位线路 每位1套 移位电路 第 i 位 加 法 器 部 分 积 被 乘 数 乘 数 F 最低位 加运算 移位线路 每位1套 第 i 位 第 i +1位 第 i 位 第 i -1位 F/2→X F→X F*2→X

原码一位乘法 0 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 0 1 加 法 器 部 分 积 被 乘 数 乘 数 F 最低位 加运算 移位线路 每位1套 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 低位积 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1

原码一位乘运算 例如: X = 0.1101 Y = - 0.1011 0. 1 1 0 1 00 0000累加器初值取零值 0. 1 1 0 1 00 0000累加器初值取零值 * 0. 1 0 1 1 + 00 1101 1 1 0 1 00 1101 初值0加被乘数 1 1 0 1 00 01101  部分积右移 0 0 0 0       将移出的一位保存起来 + 1 1 0 1 求第一次部分积 0 . 1 0 0 0 1 1 1 1 手工运算过程

原码一位乘运算 例如: X = 0.1101 Y = - 0.1011 0. 1 1 0 1 00 0110 * 0. 1 0 1 1 + 00 1101 1 1 0 1 01 0011 前次部分积加被乘数 1 1 0 1 00 100111  部分积右移 0 0 0 0            将移出的一位保存起来 + 1 1 0 1 求第二次部分积 0 . 1 0 0 0 1 1 1 1 手工运算过程

原码一位乘运算 例如: X = 0.1101 Y = - 0.1011 0. 1 1 0 1 00 1001 * 0. 1 0 1 1 + 00 0000 1 1 0 1 00 1001  前次部分积加0 1 1 0 1 00 0100111 部分积右移 0 0 0 0            将移出的一位保存起来 + 1 1 0 1 求第三次部分积 0 . 1 0 0 0 1 1 1 1 手工运算过程

原码一位乘运算 最后一步2数符号异或求积的符号 例如: X = 0.1101 Y = - 0.1011 0. 1 1 0 1 00 0100 0. 1 1 0 1 00 0100 * 0. 1 0 1 1 + 00 1101 1 1 0 1 01 0001 前次部分积加被乘数 1 1 0 1 00 10001111 部分积右移 0 0 0 0             将移出的一位保存起来 + 1 1 0 1 求第四次部分积 0 . 1 0 0 0 1 1 1 1 手工运算过程 最后一步2数符号异或求积的符号

若把乘数放在一个移位寄存器中,该寄存器又用来接受加法器的移位输出,则判乘数的某一位也更方便 原码一位乘运算 例如: X = 0.1101 Y = - 0.1011 0. 1 1 0 1 00 0100 * 0. 1 0 1 1 + 00 1101 1 1 0 1 01 0001  1 1 0 1 00 10001111  0 0 0 0              + 1 1 0 1 求第四次部分积 0 . 1 0 0 0 1 1 1 1 手工运算过程 若把乘数放在一个移位寄存器中,该寄存器又用来接受加法器的移位输出,则判乘数的某一位也更方便

除法运算 在计算机内实现除运算时,存在与乘法运算类似的几个问题: 加法器与寄存器的配合, 被除数位数更长,商要一位一位地计算出来等。这可以用左移余数得到解决,且被除数的低位部分可以与最终的商合用同一个寄存器,余数与上商同时左移。

原码一位除运算 原码一位除是指用原码表示的数相除,求出原码表示的商。除操作的过程中,每次求出一位商。 [ Y / X ]原 =( XS + YS )( Y X )    原码一位除是指用原码表示的数相除,求出原码表示的商。除操作的过程中,每次求出一位商。    从理解原理考虑,用恢复余数除法讲解计算机内的实现方法更直观方便,即确定上商应为1还是为0时,必须用被除数或中间余数减去除数,通过检查本次求得的余数为正还是为负才能知道,而不象人计算时用眼睛直接看出来的。若求出一个为负的余数来,通常应首先恢复其值为正,再求下一位商才有道理。但计算机内从来不用这种办法,而是直接用求得的负余数求下一位商。 P93

加减交替除法原理证明 1. 若第 i - 1次求商余数为 + R ,商1 余数 2. 则第 i 次求商 R =2R - Y 3. 则第 i+ 1次求商 R = 2( R + Y ) - Y = 2R + Y 实质是: 对上次负差直接左移, 本次用 +Y 求商即可。 i-1 i-1 若 R > 0 则 i i i-1 若 R < 0 商 0 i 恢复余数为正且左移得 2(R + Y ) i i+1 i i

实现原码一位除法运算的原理逻辑图 1→F F 加法器 C 乘商寄存器 上商 与或门 A 被除数(余数) 2C→C 与或门 B→F /B→F 2F→A F→A 计数器 Cd

原码一位除运算 [ Y / X ]原 =( Xs + Ys ) ( Y / X ) 例如: X = - 0.1101 Y = 0.1011 0.1101 00 1011 00000  初态 0.1101 0.10110 11 1100 00000 第1次 1101 01 0010 00010 第2次 10010 00 1010 00110 第3次 1101 11 1010 01100 第4次       10100 00 0111 01101 第5次 1101 0111 X 和 Y 符号异或为负 最终商原码表示为:    1 1101 余数为: 0.0111* 2-4

被除数(余数) 商 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 10 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1 1 01 0 0 0 1 1 1 0 0 0 0 0 开始情形 -Y 0 0 0 0 0 <0, 商0 0 0 0 0 0 左移1位 +Y 0 0 0 0 1 >0, 商1 0 0 0 1 0 左移1位 0 0 0 1 1 >0, 商1 0 0 1 1 0 左移1位 0 0 1 1 0 <0, 商0 0 1 1 0 0 左移1位 0 1 1 0 1 >0, 商1 +) X=0.1011 Y=0.1101 +) X / Y = ? [Y]补 = 00 1101 +) [-Y]补=11 0011 +) +)