12年0个月前IP:广西
736435
124楼
引用 分立元件:
被大神吸引过来论坛,能讲解一下控制器原理吗?我看了“编码的奥秘”和“穿越计算机的迷雾”两本书,其它的都明白了,就是对控制器内部实现的原理不是很明白!
那我解释一下本贴CPU执行指令的本质原理.

往常的CPU设计每种指令都有一个指令前缀码, 比如0001代表传送  0010代表运算  0011代表跳转...
但是本贴的CPU不是按照这个理念搞, 没有指令前缀码, 因为这样搞对硬件来讲很啰嗦而且也不必要...
这里的CPU传送指令,运算指令,本质都是数据传送.
下面讲一下这个CPU数据传送的控制原理本质, 非常非常的简单.
下面两张图是本贴CPU数据传送本质原理的一个简单结构模型.
数据传送线路原理.jpg

图里的ROM存储器0地址装有A寄存器送B寄存器的指令,1地址装有B寄存器送A寄存器的指令,后面地址都是空操作指令.
首先复位;
复位之后给CPU第1个时钟;
第1个时钟执行之后指令寄存器锁到的是0地址的指令,会导致寄存器2锁存线拉低,并且寄存器1的数据输出到数据总线, 程序计数器加1指向1地址;
第2个时钟执行之后指令寄存器锁到的是1地址的指令,会导致寄存器2锁存线拉高锁存数据总线上的数据, 同时寄存器1锁存线拉低,并且寄存器2的数据输出到数据总线, 程序计数器加1指向2地址;
第3个时钟执行之后指令寄存器锁到的是2地址的指令,会导致寄存器1锁存线拉高锁存数据总线上的数据, 程序计数器加1指向3地址.........
数据传送时序原理.jpg

指令寄存器锁到第2条指令的时候,执行第1条指令, 锁到第3条指令的时候执行第2条指令...............  工作原理真的很简单很简单..
评论
文号 / 736435

千古风流
名片发私信
学术分 4
总主题 71 帖总回复 1168 楼拥有证书:学者 机友 笔友
注册于 2011/08/12 17:13:20最后登录 2022/12/22 11:43:34
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:0

个人简介

暂未填写
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的