从0到1设计一台8bit计算机

本文详细介绍了从零开始设计一台8bit计算机的过程,以实现简单的贪吃蛇游戏。内容包括:人脑计算机概念、冯诺伊曼与哈佛结构的比较、RAM和ROM的工作原理、寄存器组、运算器的设计以及初步的指令集构想。通过这样的设计,阐述了计算机执行程序的基础和核心组件的作用。
摘要由CSDN通过智能技术生成

CSAPP学到第六章了,一脸懵比,有点不知所云了,所以索性从CSAPP中脱身去补点基础先,在B站看到Ele实验室的知识分享,感觉很有意思,因此记录一下过程。链接在这:从0到1设计一台计算机.

第一话-人脑计算机

先清楚实现的目标,是通过硬件设计运行贪吃蛇,且为了简单起见不考虑撞墙和吃自己。
在这里插入图片描述

1.创建一条蛇,就是把蛇的数据存到计算机中,所以设计的计算机需要有存储数据的功能。
2.需要判断蛇的方向来决定执行哪个方向的更新,因而需要有条件判断。
3.在更新蛇头中有加法和减法的运算,所以我们的计算机要能够实现加法和剑法。
4.当我们更新完蛇身以后,需要跳转到之前的位置反复执行,所以还需要有过程跳转。
5.我们这些要求要用计算机能懂的语言告诉计算机,因而要有存储指令的功能

至此粗略的设计了完成贪吃蛇的必备功能

第二话-冯诺伊曼和哈佛

电脑主板上也就三个主要部分,CPU、内存和硬盘。目前计算机主要将程序和数据都存放在内存,是在执行之前从硬盘移动到内存中,再从内存读取执行。程序和数据共用一套地址和IO线路,所以硬盘(外存)只是程序的一个非易失性备份,这也就是两大计算机结构之一的冯诺伊曼结构
另一种将程序与数据分开,程序放在只读的ROM存储器,数据放在RAM存储器中,和CPU之间分别走不同的数据线路,这也就是之二的哈佛结构,是这次研究的对象。

贪吃蛇如何在哈佛结构中运行呢?
CPU从ROM中取出第一部分程序,创建一条蛇。简单起见,创建一个长度为1的蛇,创建的过程就是把蛇头的x和y坐标值存在内存RAM中,CPU继续从ROM中取出下一个程序,移动这条蛇。假如现在是向右移动,就取出RAM中的X到寄存器中,将其加1后写回RAM中。

第三话-再谈RAM和ROM

存储器就像一组抽屉,比如一个256字节的存储器,就有编号0~255的抽屉,每个抽屉里能存放一个字节的数据,而这些抽屉被包裹起来也就形成了存储器。如果存储器中的数据是8位的,那数据线是8根。如果存储器的容量是256字节,地址线也是8根。假如从地址线中输入2,那么就会从数据线中弹出1号抽屉存放的数据,这就是ROM存储器的全部。
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值