计算机组成原理
唐火
开始人工智能之路了!!!
展开
-
[计组]压缩BCD码指二进制编码的十进制
压缩BCD码指二进制编码的十进制压缩BCD码指一个字节8位存储2位BCD码。比如32用8421BCD码表示如下:非压缩BCD码表示:00000011 00000010;压缩BCD码表示:0011 0010;使用BCD码表示10进位制数字比较好理解,且占用空间较小,在用数字表示的数据方面得到广泛应用。如果听到“原长度10个字节,用压缩BCD码表示为5个字节”也就好理解了。比如“1234567890",即可以说用压缩BCD码表示为5个字节。扩展资料:压缩BCD码的应用:BCD计数器也称为十进位计数器或模1转载 2022-01-07 13:32:01 · 2805 阅读 · 0 评论 -
[计组]断定方式
断定方式:微地址的形成方法之一。断定方式:根据机器状态决定下一条微指令的地址,下一条微指令的地址包含在当前微指令的代码中。这是一种直接给定微地址和测试判定地址相结合的方式。为了实现多路分支,将微地址的若干低位作为可断定的部分,相应地在微指令的顺序控制字段中设置或注明断定条件,即微地址低位段的形成条件。由于分支数毕竟是有限的,不需要将微地址的所有位都作为可断定的,因此只需断定形成有限的低位段,而直接给定高位部分。...转载 2022-01-06 21:43:41 · 1402 阅读 · 0 评论 -
[计组]寄存器的基本含义
寄存器基本含义:寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器是中央处理器内的组成部分。寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。...转载 2022-01-06 21:14:52 · 589 阅读 · 0 评论 -
[计组]寄存器和存储器的区别
寄存器存在于CPU中,速度很快,数目有限;存储器是内存,速度稍慢,但数量很大。寄存器的功能是存储二进制代码,是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。...转载 2022-01-06 21:14:00 · 354 阅读 · 0 评论 -
模2加法,模2减法,模2除法
十进制的除法,大家都会做:列个竖式,商,写在上面,上个几,再用被除数减去积,求得余数…。二进制的除法,和十进制的计算方法相同,也要列出个竖式计算。二进制的除法,还有一种“模2除”,很多人就不熟悉了,甚至连“百度百科”中,也写不清楚这个概念和方法。此外还有:“模2和”、“模2减”等等。二进制数字的计算,很有特点。两个二进制数字的相加,如果不考虑进位,就是“模2和”;两个二进制数字的相减,如果不考虑借位,就是“模2减”。“模2和”、“模2减”,名称、算法虽然不一样,但是,结果是相同的,实际上都是两个转载 2021-11-09 16:17:16 · 4213 阅读 · 0 评论 -
异步清零和同步置数/清零的区别
同步,异步是对于时钟而言的。同步指的是,状态的变化需要等待时钟有效沿来触发,所有动作同时跟随这个时钟变化,而异步时,状态变化不依赖与时钟。异步清零说的是,你需要对一个计数器在满足某种条件时想要他归零,但又不需要等下一个时钟过来,是一个条件满足就立即执行的过程;同步置数,比如你想让计数器采用置数法实现任一模计数,你要设置一个条件,计数记到1001时实现置数,但是,当计数器记到1001的时候,不能立马置数,要等下一个时钟有效沿来,你的条件才能生效,才能完成置数!异步清零,当输出的状态是1001时,不等下原创 2021-11-09 12:48:12 · 38803 阅读 · 7 评论 -
国标转区位码电路设计及汉字显示
区位码=国际码-2020H,由于采用加法器实现,因此用补码形式进行表示,区位码=国际码+FFFF-2020H+0001H=国际码+dfe0。从网上找下机内码转化的软件,将一段自选文字输入该软件,进行十六进制的机内码转化。由于一个汉字是由四个十六进制表示,因此复制粘贴该机内码到汉字显示电路时,要先调整它们的格式成四个十六进制数字为一组。例如调整成以下形式:a3b1 a3b2 a3b3 a3b4 a3b5 a3c1 a3c2 a3c3a3c4 a3c5 a3c6 a3c7 a3e1 a3e2 a3原创 2021-11-09 12:39:06 · 4589 阅读 · 0 评论 -
小型数字系统---运动码表设计
运动码表设计中码表控制器是最难的,所以主要介绍如何设计码表控制器。我们先给这个时序电路设计状态以及编码先设计状态转换函数首先画出状态图:根据状态图,填写真值表:自动生成表达式后,利用logisim分析组合逻辑电路功能,自动设计出电路:设计输出函数:SDSel为0时,选择的是常量9999,为1时,选择的是当前计时器的值DPSel为0时,选择的是当前计时器的值,为1时,选择的是16位寄存器里存的值填写真值表:自动生成输出函数:设计数码控制器电路:最后得到运动码表电路:..原创 2021-11-06 03:28:31 · 4722 阅读 · 1 评论 -
码表计数器设计
原创 2021-11-04 22:34:04 · 1036 阅读 · 0 评论 -
4位BCD计数器设计
状态转换:输出函数:4位BCD计数器设计:原创 2021-11-04 22:27:43 · 2842 阅读 · 3 评论 -
16位并行加载寄存器设计
原创 2021-11-04 21:59:20 · 1599 阅读 · 0 评论 -
4位并行加载寄存器设计
原创 2021-11-04 21:58:18 · 3631 阅读 · 1 评论 -
码表数管驱动设计
原创 2021-11-04 02:25:00 · 1191 阅读 · 0 评论 -
16位无符号比较器设计
4位:16位:原创 2021-11-04 02:21:46 · 2399 阅读 · 0 评论 -
2路选择器设计(16位)
16位:1位:原创 2021-11-04 02:18:18 · 4343 阅读 · 5 评论 -
4位无符号比较器设计
4位比较器原理:4位比较 a3a2a1a0 : b3b2b1b0,比较顺序从高位到低位,当高位大、小关系确定时则无需看低位,当高位相等时再看相邻低位的关系。注意:对于三个比较结果,已知其中任意两个,可以用或非门求得第三个。原理图:...原创 2021-11-03 18:46:18 · 2810 阅读 · 1 评论 -
LED计数电路,5输入按键编码器,7段数码管显示驱动集成为LED计数测试电路
LED计数电路:5输入按键编码器:7段数码管显示驱动真值表:集成:原创 2021-11-03 14:46:45 · 4332 阅读 · 4 评论 -
汇编cmp比较指令详解
刚刚看到了cmp指令,一开始有点晕。后来上网找了些资料,终于看明白了,为了方便初学者,我就简单写下我的思路吧。高手绕过,谢谢!cmp(compare)指令进行比较两个操作数的大小例:cmp oprd1,oprd2为第一个操作减去第二个操作数,但不影响第两个操作数的值,它影响flag的CF,ZF,OF,AF,PF.我们怎么判断大小呢?若执行指令后:ZF=1,则说明两个数相等,因为zero为1说明结果为0.当无符号时:若CF=1,则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位转载 2021-11-01 12:39:55 · 10895 阅读 · 9 评论 -
汇编语言中常见的标志位: CF, PF, AF, ZF, SF,TF,IF,DF, OF
一、运算结构标志位1.CF(进位标志位):主要用来反映运算是否产生进位或借位,产生进位或借位则CF=1,否则CF=0。2.PF(奇偶标志位):用于反映运算结果中“1”的个数的奇偶性,如果“1”的个数为偶数,则PF=1,否则,PF=0。3.AF(辅助进位标志位):运算过程中看最后四位,不论长度为多少,最后四位向前有进位或者借位,则AF=1,否则,AF=0。4.ZF(零标志位):用来反映运算结果是否为0,如果运算结果为0,则ZF=1,否则ZF=0。5.SF(符号标志位):用来反映运算结果正负的符号位,转载 2021-10-28 16:18:51 · 19900 阅读 · 1 评论 -
布斯乘法以及带符号数的运算
乘法理解对于最熟悉的十进制乘法很最基本的运算原理就是一个乘数乘以另一个乘数的个位、十位、百位···数字然后求和。比如放到二进制来看其实它也是这样的,多位数的乘法就是一个乘数乘上另一个乘数的各位求和。那么:布斯算法及原理原理已经知道两个二进制数的乘法的实质是上面式子中那样了,假设例举的两个数1101和1110是无符号数,那么作乘法按照下面的式子来:这里也体现了各位相乘最后求和的思想。按照上面直接来乘可以看到是要计算三位非0位与乘数的积然后求和,如果说一个乘数的非零位特别多1111111111转载 2021-10-18 12:53:23 · 2044 阅读 · 0 评论 -
关于-32768补码的问题
首先要知道的是计算机中补码的表示是唯一且连续的!我想这是计算机为什么不用原码来表示的一个原因!另外,以补码形式来运算的话,设计的逻辑电路会简单很多,会少很多逻辑运算器件,所以计算机采用补码的形式来运算。比如说:0的原码有两种+0 = 00000000 00000000;-0 = 10000000 00000000;而补码只有一种:00000000 00000000;怎么求补码呢!最简单的是符号位不变其他位换号再加1;注意:加1的时候符号位参与运算,如果最高位有溢出则舍去!例: - 0的补码:原原创 2021-10-11 13:00:00 · 3244 阅读 · 2 评论 -
整数的二进制存储问题(以 short 和 unsigned short 为例)
#include <iostream>using namespace std;int main(){ short i1 = 32767; short i2 = 32768; short i3 = 32769; short i4 = -32768; short i5 = -32769; cout << i1 << endl; //32767 cout << i2 << endl; //-32768 cout <&l原创 2021-10-11 12:57:22 · 2328 阅读 · 0 评论