我正在寻找一些示例代码,可以“模拟”最常用的数学指令(加法、减法、乘法、除法),并且将涵盖基于硬件的cpu处理器所遵循的所有步骤。
我做的第一件事就是使用谷歌,得到的结果是:https://bochs.svn.sourceforge.net/svnroot/bochs/trunk/bochs/cpu/
但这不是我的want.This是一个指令包装器/仿真器,而我想看看cpu是如何做一切事情的。
。。
发布于 2012-07-30 05:05:37
TTL是介绍数字逻辑的一种很好的方法。如果你在谷歌上搜索"TTL算术“之类的东西,你可能会得到很多关于如何创建加法器和乘法器之类的教程的链接。
(当然,知道要搜索什么是问题的一半。)
发布于 2012-07-30 05:22:32
你应该在谷歌上搜索二的补码算术。
您可能会对此Computer Arithmetic Algorithms Simulator感兴趣。
发布于 2012-07-30 05:25:14
如果你真的想要‘模拟’代码,‘(从字面上讲),你需要一个布尔代数语法的解析器:
S ::= E;
E ::= (E)
E ::= T AND T
E ::= T OR T
E ::= T NOR T
T ::= NOT T
T ::= IDENTIFIER # Set of named bits
...
Include grammar for STATEMENTs.简单地说,为上面的语法编写一个解析器,这样您就可以开始用布尔代数编写代码。
# Half Adder
SUM = A NOR B;
CARRY = A AND B;编辑:我意识到这个SO问题已经定义了一个解决方案。Boolean expression (grammar) parser in c++
在这里,您可以在von Neumann架构中构建一个算术逻辑单元,它应该能够处理前面提到的算术运算:http://en.wikibooks.org/wiki/Microprocessor_Design/ALU
https://stackoverflow.com/questions/11712931
复制相似问题