posts - 71,  comments - 41,  trackbacks - 0

What's a Bus?

© 2003 by Charles C. Lin. All rights reserved.

It's a Bunch of Wires

One wire allows you to transmit a bit. However, most of the times, we need to transmit 32 bits. So, we want to have 32 wires. It's useful to think of these 32 wires as a group.

To refer to the wires, we may write B31..0. Each wire is referred to by a subscript. Thus, Bi refers to wire i.

Bmax..min refers to the wires from Bmax to Bmin, inclusive.

Sometimes it's useful to talk about saying what values are on the bus. However, 32 bits is a lot to write, so it's convenient to write using 8 hex digits (which is equivalent to 32 bits).

This can be written like B31..0 = 0x10001000. In this case B31 = 0, B30 = 0B29 = 0, B28 = 1 . Recall that every hex digit can be rewritten as 4 bits.

As with the wire, we want at most one device writing a 32 bit value to the bus. However, any number of devices can read from the bus.

We expect, over time, that different devices will take turn who writes to the bus, and that values will change.

Realize that even though a device is writing to a bus, other devices don't have to read the value off the bus. Devices can choose to ignore the values on the bus.

This makes it sound like the devices act independently of one another, but it's more like an orchestra. There are many parts, but they are being orchestrated to act together. An orchestra has many instruments, but their purpose is to play parts of a whole song. That's how you should view the parts of a computer.

The role of the bus is to allow devices to communicate with another.

Is a Bus a Good Idea?

You may have noticed that the bus seems like a poor way for more than one device to communicate. Only one device can write to the bus at a time. Wouldn't it be more efficient to have a direct connection between any pair of devices?

That may be true, but there are some problems. First, the number of direct connections is O(n2). In particular, it's [n X (n-1)]/ 2 connections.

That's a lot of connections. If you have 4 devices, you have 6 connections. However, you could have just a single bus to connect all four devices.

The bigger problem is that hardware is hardware. A device has some number of inputs and outputs, and those are fixed in number. Out of necessity, you have to use a bus or some device which does not require a device to need more inputs or outputs.

posted on 2007-01-23 14:19 Charles 阅读(154) 评论(0)  编辑 收藏 引用 所属分类: 拿来主义

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

决定开始写工作日记,记录一下自己的轨迹...

常用链接

留言簿(4)

随笔分类(70)

随笔档案(71)

charles推荐访问

搜索

  •  

积分与排名

  • 积分 - 49663
  • 排名 - 452

最新评论

阅读排行榜

评论排行榜