作者:陈小店狐狸 | 来源:互联网 | 2023-10-11 20:04
学习计算机原理,有一个问题一直弄不明白,这使我很郁闷,还望各位给我指点指点.问题是这样:1.我现在的理解,CPU的引脚与系统总线连接(控制总线、地址总线、数据总线),然
学习计算机原理, 有一个问题一直弄不明白, 这使我很郁闷, 还望各位给我指点指点. 问题是这样:
1. 我现在的理解, CPU的引脚与系统总线连接(控制总线、地址总线、数据总线),
然后各设置也连接到系统总线上, 如存储芯片(RAM, FLASH)、IO设备等. 不知
道我的这一点是否理解正确?
2. 当计算机启动时, 假设从地址0x00000000开始执行, CPU便发出读存储的命令以
读取第一条指令, 这时控制总线上便是RD信号, 地址总经上地址为0x00000000.
从这里开始, 我就有些不明白了.
a. 众多设置都与系统总线相连接, 那么谁来响应控制总线上的读信号呢? 我觉得,
既然大家都连接到系统总线上的, 那么大家都可以感应到这个信号, 那么由谁来
响应这个信号呢?
b. 假如以指令的类别来区分, 如果读存储指定, 那么系统总线可以接多个存储吧
还有IO口也可以是存储操作, 这又怎么区分呢?
集中起来就是, 针对系统总线上的信号, 怎么决定由哪一个设备来响应? 还有就是读
一个地址, 怎么选择读哪一个设备的? 内存1? 内存2, 内存n? Flash? IO?
对于内存读写, 我在想, 是不是有一个总的管理机构, 把所有的存储设置都编一个
唯一的地址, 这样读写就没有问题了.
很多基础知识不足, 问的问题本身有很多错误, 请多多原谅.
7 个解决方案
附图: http://www.chinatax.gov.cn/jypx/jsjjczs/jsjzxjg.htm
概括的说,主要是因为地址总线上的地址信息最后要通过译码电路,产生针对不同设备的选通信号,某个设备只有获得了选通信号,它才起作用,比如某个I/O接口芯片只有获得了选通,它才能接受数据总线上的数据,控制总线上的控制信号
一直是看得似懂非懂, 似乎只知道有译码电路这个东东, 但对它的理解好像不明白, 也不知道有选能信号这个东东, 现在明白了, 3Q!
对IO设备的控制方式有两种:
1.和内存共用地址总线,两者地址分开
2.使用单独的IO总线。
现在都是IO处理芯片+各种总线形式
总线有地址,数据,控制三大类型,当CPU读数据时,通过控制信号将需要的外设选通,一般通过译码电路选取.
读取存储器和读外设的控制指令也不相同,如MOV,IN,OUT等.
这里我又有一个问题不懂了, 存储器和IO接口都是通过译码电路进行选通, 那假设说IO接口.
同时有很多个IO接口, 这里是只有一个译码电路呢? 还是每个IO接口都有一个译码电路? 如果
是只有一个译码电路进行控件, 那每个IO接口地址是由谁指定呢?
如果是每个IO接口都有一个译码电路, 当他们连接到系统总线上, 当系统总线上有信息时,
是全部IO接口都响应, 取地址来与自己的地址核对看是不是该自己响应? 还是该怎么处理?
哈哈,看来楼主可能没有学过《数字逻辑》或者《数字电子技术》,建议楼主看一下:)
简单的说,一个译码电路的主要组成部分是一个译码器,比如有种译码器叫做74LS138(一个集成电路器件,很多书上都有介绍),它通过三个输入端的不同输入电压组合来控制八个输出端的不同输出电压组合,以此达到译码功能