# 3.系统总线

## 3.1总线基本概念

### 1.为什么用总线

分线不方便扩展，引入新的模块时，需要多加多条分线一一连接其它模块

### 2.什么是总线

各个部件的信息传输线，各部件共享的传输介质

（如果很多设备同时在总线上传输，那么会很繁忙，在任何时刻，只能有一对设备、部件连接总线）

### 3.总线上的信息传输

* 串行
* 并行：需要多条数据线传输，通常传输短（机器内传）

### 4.总线结构例子

#### 单总线结构

存在许多问题，影响CPU效率，传输慢

![](/files/-Lr8fBqJry2OU3XmxS--)

#### 面向CPU的双总线结构

专门一条主线供CPU和主存交换

问题：如果主存和外部设备信息通讯，之间是没有信息通路的，一旦要这样，CPU工作会被打断

![](/files/-Lr8fBqLTzUpa14Kz4rW)

#### 以存储为中心的双总线结构

![](/files/-Lr8fBqN_13Vv4fmtrwB)

## 3.2总线分类

![](/files/-Lr8fBqPMjWqjpipP7vE)

![](/files/-Lr8fBqR-R_sAxTLgFPL)

## 3.3总线特性及性能指标

### 1.总线物理实现

![](/files/-Lr8fBqThRM7C0y94ste)

### 2.总线特性

![](/files/-Lr8fBqVZ3G_cN0y8ucU)

### 3.总线性能指标

![](/files/-Lr8fBqXfJ5YiUBsJaGP)

### 4.总线标准

不同企业生产不同计算机部件，只有遵守标准，才能大家一起使用

## 3.4总线结构

单总线结构

多总线结构：双总线，三总线，四总线，PCI总线，多层PCI总线

![](/files/-Lr8fBqZ4lKwRi05MGfO)

![](/files/-Lr8fBqadLHIlll_rE9z)

4总线

![](/files/-Lr8fBqcwKwEOs9bA8g3)

## 3.5总线控制

### 控制方式

**2.链式查询方式**

![](/files/-Lr8fBqerhXwf0MTbFhR)

**3.计数器定时查询**

**4.独立请求**

![](/files/-Lr8fBqgzL_mgMJLiNCW)

### 总线通信控制

目的：解决通信双方协调配合问题

#### 总线传输周期：

> 申请分配阶段：主模块申请，总线仲裁决定
>
> 寻址阶段：主模块向从模块给出地址和命令
>
> 传数阶段：主模块和从模块交换数据
>
> 结束阶段：主模块撤销有关信息

#### 总线通讯4种方式

> 同步通信
>
> 异步通信
>
> 半同步通信
>
> 分离式通信

![](/files/-Lr8fBqiN4EXTU_usQDx)

**1.同步式数据输入**

> T1到来前:给出地址
>
> T1-T2到来前:读命令
>
> T2-T3:给出数据地址
>
> T3-T4:读数据
>
> T4:撤销数据、控制信号、地址信号

![](/files/-Lr8fBqk6-Mw3B2Bvw2N)

同步数据输出

> T1到来前:给出地址
>
> T1上升:给出数据
>
> T1-T2:给出写命令
>
> T2-T3:写操作
>
> T4:撤销数据、写信号、地址信号

![](/files/-Lr8fBqm4bPtujOdph4k)

**2.异步通信**

> 不互锁（完全不可靠）：请求、回答端各执行一次就结束
>
> 半互锁：请求端一直请求直到回答端回答，但是回答端只回答一次，不管请求端是否接到
>
> 全互锁（可靠）：请求端一直请求直到回答端回答，回答端一直回答直到请求端反馈

![](/files/-Lr8fBqoqPCyVGDy6RMe)

**3.半同步通信**

![](/files/-Lr8fBqqOeRGuCgLqcmI)

**5分离式通信**

特点：

> 各个模块有权申请占用总线
>
> 不等待对方的回复
>
> 准备数据时不占用总线
>
> 总线无空闲浪费

![](/files/-Lr8fBqs0S6cAnUeOEjI)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://im-qianuxn.gitbook.io/pytorch/ji-suan-ji/interview/1-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
