我正在阅读Charles Petzold的代码,并且想要构建并使用我自己的非常简单的计算机,以更好地内化一些概念。一位朋友告诉我有关CARDIAC的消息,但似乎它已不再可用。所以,我想知道是否有人对类似的工具包有所建议,这会帮助我熟悉类似的低级概念,操作等。替代贝尔实验室的CARDIAC
回答
您可以继续构建自己的Apple II或Commodore 64,但是有许多难以建立完全引脚兼容版本的源代码部件。这肯定是一个教育项目,但这将是一项巨大的任务。
什么可能更好地削减你的牙齿是Arduino平台,一个微控制器套件的电源类似于该年份的计算机。有一个支持它的大型社区,它使用标准连接器(如USB和以太网)与现代设备连接。有些版本甚至有蓝牙和Wi-Fi,使通信更容易。
如果您使用assembly language编程该设备,而不是默认的高级语言,那么该设备即可获得的低级别。你可以从一个空白的石板上建立起来,探索所有的基础。
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书籍在当天的所有使用中都很好用。翻阅这本书,回答这个问题,我将把它添加到下一本被阅读的书籍中。
- 1. 如何保持贝宝迷你车(贝宝实验室)顶部
- 2. 安卓云测试实验室vs Firebase测试实验室
- 3. Blogger 2 - Jumpstart实验室
- 4. 了解炸弹实验室
- 5. 无法与FIWARE实验室
- 6. Java市场实验室gui
- 7. Java编码COSC实验室
- 8. Wirecloud FIWARE实验室NGSI HTTP代理是活的
- 9. 视觉工作室代码实现查找和替换
- 10. JUnit或TestNG的酱实验室测试?
- 11. Python我的编程实验室
- 12. Unity的3D化学实验室图像
- 13. 西班牙的Fiware实验室节点
- 14. Importgraph实验室的hello world错误
- 15. 远程测试实验室(RTL)的Android
- 16. 有没有像Python的dkpro实验室?
- 17. 这个mat实验室代码有什么问题?
- 18. 巴贝尔与IE9
- 19. 在伊莎贝尔
- 20. 索贝尔算法
- 21. Python声音(“贝尔”)
- 22. 使用巴贝尔
- 23. 建立一个实验室来实验GIT
- 24. 替代视觉工作室2010
- 25. 实验拷贝构造一个向量
- 26. 伊莎贝尔的换人
- 27. Matlab兰迪实验室矢量
- 28. 用硒测试酱汁实验室
- 29. Visual Studio项目或实验室?哪里?
- 30. TestComplete 8和TFS 2010实验室管理