如何搭建一台电脑
2017-08-02 22:36
204 查看
(这是我的第2次反馈)如上图所示,就是一个基于Z80的微型计算机下面就让我们一起将搭建这台计算机。
1.让我们来收集计算机的组件
Z80 CPU (逻辑运算) 1个
TC5517 内存(数据中转站) 1个
Z80 PIO I/O(与外部设备进行数据交流) 1个
时钟发生器(产生时钟信号,其频率可以衡量CPU的运转速度) 1个
74367三态总线缓冲器(控制电流的输入输出) 4个
LED(作为输出的标识) 8个
7404反相器(反转电流情况)
这些组件在上图都有画出
我们的计算机为8比特计算机
在此我们特别说明TC5517是可以存储2K的8比特的数据。(即1024*2*8=16384比特)
2.开始连接各个原件
2.1 在各个IC(集成电路)上的Vcc和GND处通电+5v;0v,只有通电才能工作
2.2 在上面标注A的为地址选择器,他们的通电情况的组合就会产生不同的地址选择情况。(由于我们的微型计算机是基于8比特的计算机所以我们最多只能用8个接口来选择数据存放的地址多余的引脚我们不接)
2.3 地址选择器选择完成之后我们在连接标号为D的引脚,将CPU 、内存和I/O上面的D用导线互相连接,这样我们的数据就可以在这三个原件上面有控制的流动了
在此我们特别说明在这三个重要的元器件上有着自己独特的开关,当开关打开的时候整个元器件就会与其他的电路隔离,我们就会进行相应的操作。
比如CPU上面的BUSRQ的引脚上置为0我们就可以进行DMA(DMA就是输入的数据不经过CPU的处理直接输入内存的过程)此时CPU处于高阻的状态,也就是它已经从电路中隔离了。
以此类推,CPU在只与内存交互的时候我们会隔离I/O。(I/O的开关就是CE,处理器上面的IORQ置为0的时候,CPU就只与I/O交互)。
CPU的MREQ置为0的时候CPU就只与内存交互。
2.4解决了这一层问题之后,然后还有一个小细节。怎么判断数据的输入输出呢?
请看我们图中的RD读与WR写引脚它在三个组件上面都有RD置为0时执行输入操作WR置为0的时候执行输出操作。
2.5好现在是黎明前的黑暗,我们马上就要成功了
在与外界交互的I/O组件上面连上我们的输入指拨开关和输出的LED (当然在他们之间加上了反相器来反转电流)。
最后接上我们的输入程序的开关和设定内存的开关,然后在他们与主要元器件中间加上三态总线缓冲器来控制电流的流动。OK大功告成!
3.编写程序让计算机跑起来
3.1我们搭建好了一台微型计算机他就跑起来了么?
没有,我们需要编写一个程序
3.2我们先拨动设定内存的开关,然后隔离CPU用前面提到的DMA的方式输入我们的程序到内存,好现在解除DMA的状态,拨动输入的指拨开关,程序跑起来了!!
参考文献《计算机是怎样跑起来的》矢泽久雄。
相关文章推荐
- 如何在一台电脑上搭建多个tomcat
- 如何在同一台电脑(windows系统)上同时搭建python2和python3环境
- 如何选一台好的中低端的笔记本电脑
- 如何设置一台电脑双网卡双线上网
- 一台电脑上如何配置多个版本JDK,并进行自由切换
- 如何拥有一台安静的电脑
- 如何搭建一台深度学习服务器
- 一台电脑如何安装多个版本的JDK
- 作为一个前端,可以如何机智地弄坏一台电脑?
- 如何DIY一台HDTV电脑?
- 教你如何从一台电脑拷东西到另一台电脑
- 如何快速将一台电脑上的数据迁移到另外一台上
- 如何在同一台电脑上使用两个github账户
- 用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker
- 如何在同一台电脑上使用两个github账户
- 教你如何使用免费的域名来访问电脑搭建的服务器
- 如何在一台电脑上运行两个或多个Tomcat
- 搭建个人博客之 Github + hexo: 如何在其他电脑上更新博客
- 如何把microsoft outlook下的邮件转到另一台电脑的express outlook里?
- 双显示器设置:如何设置一台电脑两个显示器