4无符号整数的除法运算原理_第1页
4无符号整数的除法运算原理_第2页
4无符号整数的除法运算原理_第3页
4无符号整数的除法运算原理_第4页
4无符号整数的除法运算原理_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本节内容无符号整数的除法运算原理研/CSKAOYAN知识总览对于除法电路,建议重点关注:除法电路的开始状态、结束状态、除法异常判断除法电路运算的中间过程比较复杂,由于掌握细节需要大量时间,复习性价比不高,因此建议第一轮复习不要死磕运算的中间过程细节。可在后几轮复习中,学有余力的情况下再回来抠细节。研/CSKAOYAN手算无符号整数除法(十进制、二进制)商1479被除数手算方法:“逐位0010↓00111→商Q=7除数666000011110000→被除数X=15985211中间666除数Y=20001000000110010→余数R=13192上商,错位相减”中间26645281余数余数4662001100106191599400110010余数1970001余数的数学定义:被除数=商

×除数+余数十进制上商规则:商×除数

的值,要尽可能接近“中间余数”,但又不能大于中间余数二进制上商规则:商×除数

的值,要尽可能接近“中间余数”,但又不能大于中间余数换句话说,如果中间余数

除数,则上商

1;否则上商

0研/CSKAOYAN无符号整数除法原理:以4bit无符号整数为例若被除数不足

2n

bit,需要将被除数扩展为

2n

bit,统一为除数寄存器Y控制逻辑2nbit

÷

nbit该除法器支持

2nbit÷

nbit324324加/减最终得到

nbit商、nbit余数32位ALU4位ALU1111→被除数X=1532464位8位左移写使能0010→除数Y=20111→商Q=7计数器余数寄存器R余数/商寄存器Q时钟0001→余数R=1余数寄存器R余数/商寄存器Q除数寄存器Y研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,无符号整数除法原理:以4bit无符号整数为例控制逻辑仅用于商溢出判断00111→商Q=7除数寄存器Y除数寄存器Y0010↓000011110000→被除数X=15324324除数Y=200010000加/减中间余数001100100011001032位ALU4位ALU32464位8位左移00110010→余数R=1余数寄存器R余数/商寄存器Q写使能计数器0001余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN例如:可用该电路实现如32位无符号数除法运算电路的结构一种可能得出题思路:各寄存下C语言程序的除法运算unsignedintX=985211;除数寄存器Y器的初始值、终值分别是多少?unsignedintY=666;unsignedintQ=X/Y;unsignedintR=X%Y;控制信号,让ALU执行加ALU是3232法、减法运算加/减核心32位ALU控制【R,Q】左移根据余数、除数的值,发出控制信号3264位左移控制逻辑余数寄存器R余数/商寄存器Q写使能计数器保存剩余【R】最终保开始运算前,需要用【R,Q】

【Q】最终时钟循环次数控制信号,控制2nbit存放被除数,若被除数保存nbit商存nbit余数寄存器R允入(

WriteEnable)相当于给这些硬件打节奏不足2nbit,需要进行位扩展研/CSKAOYAN该除法器支持关于“商溢出”的进一步探讨控制逻辑计数器时钟2nbit÷

nbit(双精度除法)需统一为

除数寄存器Y除数寄存器Ynbit÷

nbit(单精度除法)2nbit÷nbit最终都仅保留

nbit

商、nbit余数【例1】双精度除法商溢出324324加/减255/15=17,余数为032位ALU4位ALU11111111/1111=1

0001【例2】双精度除法商未溢出32464位8位左移200/15=13,余数为5余数寄存器R余数/商寄存器Q11001000/1111=0

1101写使能【例3】单精度除法商不可能溢出余数寄存器R余数/商寄存器Q15/1=15,余数为000001111/0001=11112nbit

÷

nbit,商的实际位数有可能超过nbit,因此,无符号整数的双精度除法可能发生“商溢出”nbit

÷nbit,商的实际位数不可能超过nbit,因此,无符号整数单精度除法不可能发生“商溢出”研/CSKAOYAN知识回顾与重要考点概念补充:在x86中,除数为0、商溢出

都属于“除法错异常”(DivideErrorException),也可简译为“除法异常”研/CSKAOYAN无符号整数除法原理:以4bit无符号整数为例若被除数不足

2n

bit,需要将被除数扩展为

2n

bit,统一为除数寄存器Y除数寄存器Y控制逻辑2n

bit

÷

nbit该除法器支持

2nbit÷

nbit324324加/减最终得到

nbit商、nbit余数32位ALU4位ALU1111→被除数X=1532464位8位左移0010→除数Y=20111→商Q=7余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q0001→余数R=1时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32位ALU4位ALU中间余数0011001000110010→余数R=132464位8位左移控制逻辑001100100001余数寄存器R余数/商寄存器Q写使能计数器余数寄存器R余数/商寄存器Q时钟研/CSKAOYAN第一位商不保存,仅用于商溢出判断00111无符号整数除法原理:以4bit无符号整数为例→商Q=7除数寄存器Y除数寄存器Y该除法器支持

2nbit÷

nbit最终得到

nbit商、nbit余数0010↓000011110000→被除数X=15324324除数Y=200010000加/减32

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论