计算机指令集怎么变为逻辑电路从软件的角度怎么考虑
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 16:42:50
计算机指令集怎么变为逻辑电路从软件的角度怎么考虑
计算机指令集怎么变为逻辑电路
从软件的角度怎么考虑
计算机指令集怎么变为逻辑电路从软件的角度怎么考虑
估计您说的计算机指令应该是汇编,那么逻辑电路则是数字的逻辑电路.那么总体上分析看则是如何完成一个cpu功能的逻辑电路.
那么从简单说来是这样的,首先计算机指令是汇编,汇编的实际翻译就是机器码,那么什么地方存机器码,那么就是rom或者是硬碟.cpu先通过寻址(数字电路计数器的体现),在硬碟或rom中按顺序找到地址单元,从地址单元中读出一个数,这个数就是汇编语言的指令,这个数被在数字电路中类似译码器的东西所检测到,译码器则根据指令的不同使cpu某个逻辑电路有效,比如指令mov译码后某电路导通,则把寻址的计数器固定在某个特定值,也就是固定到cpu的ram的某个特定的单元,然后把相应的数放进去.而如果这个单元是特殊单元,比如这个单元是专门与cpu电平有关的,则可以通过这个指令所放进的数使cpu某些引脚产生电平的变化.
而io口的,或者说cpu的引脚的电平,也是一样的道理,io口也对应有地址单元(不是硬碟不是内存)这里说的是cpu内部的寄存器或者说cpu内部的易失性闪存.
那么总体看逻辑电路(宏观看)cpu内部电路有,译码器,计数器,ram,和较为复杂的运算电路(这里的复杂就能完成各种运算和命令,但对于cpu基本功能而言他并不是主体).
那么我刚才说了这些,这点只是宏观上说说.那么实际能见到的大量采用的是单片机,早期(电脑)cpu和单片机是一样的东西或者说就是一个同样的芯片,80年代后期才分开的,通过汇编语言编程可以操作单片机,理论上讲实在操作cpu,网上资料很丰富,甚至能查到单片机汇编的机器码.通过操作单片机则可以使其运算,存取指令,引脚点评的输出,并且是集中指令集,8位cpu,既好用又好学.
而51单片机的内核已经不再收取专利费用,而是想linux一样的免费了.通过在fpga中嵌入51内核,也就是嵌入8位cpu,则可以得到真正具体的数字逻辑电路.甚至在quartus2中altera公司应经给出了在fpga这种专门搭建数字电路的白片中如何嵌入cpu,嵌入的数量,是否嵌入某些数字处理芯片ip核.
本人也曾经尝试过用与非门和计数器等搭建出cpu的原型,真正搭建了,发现cpu的基本的寻址取指令是很容易直接做出来的,而难点在于运算单元,当然也不是很难.
反正我的意思很明确,谈到逻辑电路不谈硬件是不行的,因为说不通.
这也是某些人学了很多很多的编程,回到家里想做个遥控玩具,遥控器,或者是电子表也做不出来,而他们却很正常的在电脑上编出很庞大的游戏.这是因为他们的只是有些东西欠缺了.
同样一个人,比如说我,弄个硬件至少做个遥控玩具,电子表是可以,但是我却不能在电脑上编写出像纸牌这样的小游戏,甚至不能理解linux是如何控制硬件的,也无法理解嵌入linux时候写驱动的那些函数是如何操作arm芯片的,但是向我们这类人却能在没有操作系统的情况下,让cpu芯片裸奔实现功能.说明了两种人都欠缺了相关知识.
如果真的向更为深入的知晓他,那么则应该软件也学硬件也学.
最最现实的是,比如市场上有卖内存条的,他说自己的是ddr2的,非常好,ddr是个什么?
买了个SD卡,买个索尼记忆棒,都拆开,你看里面又是什么.
答案,ddr是时钟上升沿下降沿都对内存进行读写,而不是ddr的则是一个时钟只能完成一次读写.
两种卡拆开了都是个rom,是个nandflash芯片.网上还能找到说明书,并且有实力的人还能对其进行操作.
我说完了!