I/O端口与内存地址(上)

来源:互联网 发布:网络直播行业自律公约 编辑:程序博客网 时间:2024/04/26 21:08

I/O端口与内存地址(上)
我们目前的微型计算机和一些单片机。大多数都是总线结构的。也就是由CPU和Ctrl-BUS、Address-BUS、Data-BUS三总线结构构成的。CPU我们可以把它看成是一个计算器。而内存可以看作是一个写有数据和程序的纸张。CPU在加电后从内存中的某个位置开始执行放在内存中的指令。一般我们看到的BIOS就是上电初始化的第一段程序。由这些程序在进行象操作系统引导这样的工作.那么CPU和内存怎样连接呢?这个就是使用三条总线(BUS)了。不过BUS可不是一个简单的导线。而是复杂的控制系统。
           +----------------+
           |      CPU        |                               +-------------+
           +----------------+                              |     I/O         | 
                    | | |                                         +-------------+    
                    | | |                                               | | | 
-C-BUS----+-|-|-------------------------+------+-|-|---- …
                       | |                                  |             | |
-A-BUS------+-|-----------------------+-|--------+-|---- …
                         |                               | |                |
-D-BUS--------+---------------------+-+|----------+---- …
                                                         | | |
-(I/O-BUS)-------------                     | | |    ---------
                                              +-----------------+
                                              | RAM/ROM      |
                                              +-----------------+


计算器(CPU)怎样找到纸张(RAM/ROM)中的数据和指令这个就是CPU寻址。CPU通过总线发出信号从RAM/ROM或I/O中获得数据或指令。内存和I/O的数据由A-BUS的值来确定。这个值就是地址。CPU能寻址的范围是由CPU的体系结构和A-BUS的宽度决定的。如:CPU是16位的。它可以容纳的地址范围是0~65535个。16K大小。但是,在设计计算机时不一定把所有的A-BUS都引出来!有些电脑主板的A-BUS就不是全部。所以,它们不能上大于主板规定容量以上的内存。

 


 

原创粉丝点击