2010-09-01 33 views
0

我正在阅读Charles Petzold的代码,并且想要构建并使用我自己的非常简单的计算机,以更好地内化一些概念。一位朋友告诉我有关CARDIAC的消息,但似乎它已不再可用。所以,我想知道是否有人对类似的工具包有所建议,这会帮助我熟悉类似的低级概念,操作等。替代贝尔实验室的CARDIAC

回答

1

您可以继续构建自己的Apple II或Commodore 64,但是有许多难以建立完全引脚兼容版本的源代码部件。这肯定是一个教育项目,但这将是一项巨大的任务。

什么可能更好地削减你的牙齿是Arduino平台,一个微控制器套件的电源类似于该年份的计算机。有一个支持它的大型社区,它使用标准连接器(如USB和以太网)与现代设备连接。有些版本甚至有蓝牙和Wi-Fi,使通信更容易。

如果您使用assembly language编程该设备,而不是默认的高级语言,那么该设备即可获得的低级别。你可以从一个空白的石板上建立起来,探索所有的基础。

0

arduino价格低廉,广受欢迎。 armmite pro,类似于ARM,而不是AVR(你可能想要使用C接口)。 msp430来自ti ...实际上是一大堆微控制器,可以让你的手变得很脏,只要你喜欢。也许就像装载了外设的Stellaris评估板一样,您可以通过阅读原理图和数据表了解关于阅读的内容。或者像AVR Butterfly那样简单的东西,如果这些东西仍然可用的话,那么足够的机载东西来摆弄,而不必购买和焊接东西。

您可以随时追求的路径是模拟。硬件设计语言(HDL)Verilog对于软件工程师来说不难学习,你只需要考虑并行执行而不是顺序执行。 Verilator是一个很好的免费模拟器,可以很容易地将你的逻辑设计的边缘连接到C/C++,因此你可以在C++中模拟你不能或不想在Verilog中做的事情。我希望看到更多曝光的HDL是循环设计语言cyclicity-cdl.sourceforge.net。与Verilog和VHDL语言不同,它们允许您编写可合成逻辑,可以转换成硬件的逻辑,以及行为逻辑,这些逻辑不得不用于测试可合成逻辑。 cdl只能合成,您编写的测试平台是用脚本语言或C/C++编写的。一旦编译过的Cdl代码产生可综合的verilog(用于测试然后变成硬件)和C++(用于模拟/测试)。 Icarus Verilog是另一个不错的免费verilog仿真平台,从命令行的角度来看可能比verilator更容易使用,但并不容易与我知道我更喜欢的C++集成在一起,用于测试逻辑或仅与教育逻辑进行简单集成目的。你可以低于汇编程序,使用HDL你可以创建连接或门的树,使用触发器等,直接实现书中讨论的东西。

另一种方法是在没有硬件语言的情况下进行模拟,只需编写您自己喜欢的任何类型系统的模拟器,模拟逻辑,模拟处理器等。从个人经验来看,模拟,拆卸等教程更多关于你感兴趣的平台,而不是简单的考试(阅读等)或者编写某人的模拟器或硬件程序。

顺便说一句,谢谢你放弃Petzolds的名字,我正要在阅读你的问题时在线购买这本书,正如我记得在商店里看到它的时候,当我意识到我在书店关门时买了它,埋在我的没有打开它的书架。我的编程窗口3.1和Windows 95 Petzold书籍在当天的所有使用中都很好用。翻阅这本书,回答这个问题,我将把它添加到下一本被阅读的书籍中。