网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月21日
漏签
0
天
红石电路吧
关注:
32,252
贴子:
153,455
看贴
图片
吧主推荐
玩乐
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
尾页
433
回复贴,共
11
页
,跳到
页
确定
<返回红石电路吧
>0< 加载中...
回复:计算机组成原理及ProjecRed技术实用教程——从零开始构建计算
只看楼主
收藏
回复
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
对于寄存器组,由于寄存器共用输入线,需要对寄存器进行选择,选择的寄存器允许送数,其他寄存器不允许送数,所以这里的寄存器单元必须要带有使能端,使能端可以这样构造:
在EN=0时,总是保持不变,在EN=1时允许送数。
(Logisim的D触发器本身带有使能端,这里为了演示不使用EN端)。
IP属地:广东
54楼
2014-10-22 15:10
回复
收起回复
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
留下两个思考题:
一、使能端可以这样构造吗?为什么?
二、对于MC,有更简单的方法构造使能端吗?
IP属地:广东
55楼
2014-10-22 15:49
回复(10)
收起回复
2025-08-21 06:48:06
广告
不感兴趣
开通SVIP免广告
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
有了以上的基础就可以开始构建寄存器组了!
首先,我们考虑对寄存器的写入。
需要对寄存器写入,这就需要数据输入端,此外,还需要指定对哪个寄存器写,这可以把多个寄存器编址,用地址来表示一个具体的寄存器,比如四个寄存器可以用两位地址指定一个寄存器,八个需要三位。
但如果一个都不写怎么办呢?时钟是不会变的,一旦时钟来了就会写,这时候,使能端就发挥作用了,我们利用使能端结合地址实现指定一个寄存器,利用读写端和使能端结合实现要不要写入。
然后考虑对寄存器的读取
寄存器的输出端是一个持续不断的输出,而根据前面的运算器,我们需要从寄存器取两个操作数输入运算器,因此,寄存器组需要有两个输出,这两个输出要能够分别选择连接到两个寄存器,也就是要实现选择两个寄存器分别输出到A、B端,这个好解决,两个通道分别设置两个数据选择器,每个选择器能够选择任意的寄存器。
IP属地:广东
56楼
2014-10-22 17:17
回复(2)
收起回复
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
补充:寄存器的时钟端是只针对写操作而言的,一旦上升沿到来并且读写端为1且寄存器被选中,那么输入端的数就会送到寄存器中。对于输出端,不管时钟怎样,也不管读写端是0还是1,输出端时时刻刻都是寄存器的值。
至此,【通用寄存器组】就构建完成啦
IP属地:广东
57楼
2014-10-22 17:27
回复
收起回复
6666死你
重力板
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
卧槽
IP属地:北京
58楼
2014-10-22 20:18
回复
收起回复
jadeleiching2
红石灯
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
哇塞,这可是真正的专业触啊!用mod的话,科学计算器就根本不在话下啊!
来自
Android客户端
59楼
2014-10-22 22:03
回复(1)
收起回复
散級天災
红石灯
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
触发器不是有电平触发脉冲触发和边沿触发么
脉冲被吃了?
IP属地:日本
来自
Android客户端
60楼
2014-10-22 23:07
回复(13)
收起回复
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
推荐一个棒极了的网站:
http://www.nand2tetris.org/
这个网站免费提供教学,教学的内容就是从与非门开始构建计算机,一直到写出操作系统并运行一个俄罗斯方块的程序。
教学分为13个主题,配有书本、讲座、项目、软件。
当然计算机远远没有这么简单,教程注重的是原理,通过一些简单的典型模型来教学,能够让你在短期内了解整个计算机体系的大致结构。
IP属地:广东
61楼
2014-10-23 14:57
回复(6)
收起回复
2025-08-21 06:42:06
广告
不感兴趣
开通SVIP免广告
无心无念
粘性活塞
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
总体来说已经很专业了,赞一个,楼主什么专业的,计算机还是电子
IP属地:陕西
来自
Android客户端
62楼
2014-10-23 17:27
回复(2)
收起回复
城邑
绊线
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
IP属地:北京
来自
Android客户端
63楼
2014-10-23 19:41
回复(4)
收起回复
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
【控制器】
控制器顾名思义,是整个CPU的控制中心,用来控制数据的流向,程序的转移。
一般来说,控制器包括程序计数器(PC),指令译码器(ID),有时也将指令寄存器(IR)归入到控制器中。
总的控制功能是这样实现的:
程序计数器负责保存程序执行到的位置,指令寄存器保存当前指令,指令译码器把指令转化成控制字(控制字后面会将)。
首先需要知道指令在哪里:
一般来说,程序包括三种结构:顺序、分支和循环,其中分支和循环实际上可以由跳转实现,所以程序的执行方式可以归纳为顺序和跳转,对于顺序执行,只需要对程序计数器每次加一个固定的数即可实现,对于跳转,有两种方式实现,一种是绝对跳转,一种是相对跳转,绝对跳转直接给出下一条指令的地址,对程序计数器直接置数,对于相对跳转,则通过程序计数器加上或者减去某个值实现,一般来说大多数情况下用的是相对跳转。
程序计数器可以用寄存器、加法器和数据选择器实现
如果要顺序执行,则MUX选择常数01,指令所在地址每次加一
如果要跳转,则MUX选择下方的通路,下一条指令地址为当前地址加上偏移量。
IP属地:广东
66楼
2014-10-24 19:55
回复
收起回复
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
程序计数器给定了地址就可以把指令从存储器取过来了
指令从存储器取来放入指令寄存器中,指令寄存器与一般的寄存器完全一样。
(画电路的时候忘记分步截图了
)
IP属地:广东
67楼
2014-10-24 20:00
回复
收起回复
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
取得了指令还需要对指令进行译码,由于译码后的控制字与数据通路紧密相关,所以必须先确定好数据通路。
【数据通路设计】
数据通路是关于CPU内部多个组件直接数据的流向通道。
数据通路的类型多种多样,有的程序和数据分开,有的不分开,有的所有数据共用一条总线,也就是CPU的内部总线,也有的数据总线分多条。
在这里我们采用一种类似于MIPS的数据通路,其中程序、数据的数据线和地址线全都有专用的线,数据在寄存器与运算器、存储器都存在直接的通路,这样能够使得控制较为方便,效率比较高,但是连线比较多,寻址不够灵活。
一个大致的通路如下图所示(存储器就是RAM):
IP属地:广东
68楼
2014-10-24 20:16
回复
收起回复
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
(上图的通路中,存储器接受的两路信号分别是数据线和地址线)
仔细观察上图不难发现,这种通路无法在一个周期里面实现寄存器简介寻址并参与运算,因为一个周期要么访问存储器,要么进行运算。
此外上图无法实现立即数寻址,这是无法忍受的,所以必须要在通路中加入立即数通路。
那么问题来了,两个或多个数据汇集到一起怎么办?就像上图红圈的地方。
办法是在每个交叉的地方设置“闸门”,也就是数据选择器,从而选择不同的通路。
对于存储器,只要提供“是否写入"的信号就能间接确定是否走存储器这条通路。
类似于这中闸门的还有许多,就像前面寄存器上面的A、B选择线、寄存器选择线、是否写入寄存器等。
把所有的这些控制通路的信号汇集到一起,组合成一个二进制数,就可以通过一个二进制数来控制通路了,这就是控制字!
IP属地:广东
69楼
2014-10-24 20:30
回复(3)
收起回复
2025-08-21 06:36:06
广告
不感兴趣
开通SVIP免广告
liamtuan
压力板
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
通过控制字,可以决定在这个周期里面,用哪些寄存器做为待运算的数、是进行运算还是送入存储器、进行何种运算、是把运算结果还是存储器读出的值送入寄存器、送入哪个寄存器。
通过确定以上的信号,就能确定CPU要做的事情了!这就是控制字的作用,而指令可以看做是控制字的压缩码!
对于ADD R3,R2,R1,(即R3=R2+R1)这一条指令,实际CPU做的事情就是:
在A通道选择R2输出,在B通道选择R1输出
不选择立即数
存储器不写入
运算器选择加法运算
选择运算器输出的结果
选择R3作为待写入寄存器
寄存器组写入信号激活
时钟信号上升沿到来!
R3的值成功变为R2+R1!
IP属地:广东
70楼
2014-10-24 20:40
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
吧友猜中了!黑神话新作真是钟馗
1657530
2
诬到离谱!魔怔女诬告8岁小男孩儿
1559475
3
放弃DLC开新坑,这步棋走的怎么样?
1301832
4
硬核!93阅兵新装备超乎想象
1214892
5
国运流网文:开局十倍洪水,内地吃上海鲜
974766
6
《热血江湖:归来》公测定档
825025
7
什么都蹭的韩国人,盯上捉鬼的钟馗
794376
8
实力碾压,AL零封FPX轻松取胜
597080
9
著名歌手千百惠因病去世享年62岁
497860
10
足协杯“惨案”国安进7球淘汰昆明
357630
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示