如何搭建一台电脑
来源:互联网 发布:java web工作流开发 编辑:程序博客网 时间:2024/06/12 01:03
(这是我的第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的状态,拨动输入的指拨开关,程序跑起来了!!
参考文献《计算机是怎样跑起来的》矢泽久雄。
- 如何搭建一台电脑
- 一台电脑搭建
- 一台电脑上datagurad搭建过程
- 如何一台电脑在家赚钱
- 如何远程控制另外一台电脑
- 如何搭建一台深度学习服务器
- 如何搭建一台深度学习服务器
- 教你如何从一台电脑拷东西到另一台电脑
- SQL2005,如何将数据库从一台电脑上转到另一台电脑上?
- 如何将mysql数据库由一台电脑导向另一台电脑
- 一台电脑可开多个飞信
- 双显示器设置:如何设置一台电脑两个显示器
- 双显示器设置:如何设置一台电脑两个显示器
- 如何设置一台电脑双网卡双线上网
- 如何在一台电脑上调试串口收发数据
- 如何在一台电脑上开启多个tomcat
- 如何共享一台电脑的鼠标和键盘
- 一台电脑如何管理多个SSH KEY
- adt-bundle-windows 20140702 下载地址
- 初学java--面向对象的概念和类的认识
- v4l2驱动框架
- 爬取百度搜索结果的爬虫
- 修改MySQL的账号密码
- 如何搭建一台电脑
- 正则验证是否为手机号及邮箱
- 超声波传感器测距实验
- opengl学习
- SQL规范
- for循环和foreach循环
- C++ 枚举类型详解
- 多线程经典题——顺序打印1-75
- 测试布局管理器的嵌套使用