第21章:总线
Last updated
Last updated
总线是数字信号的集合,一般包括
地址信号:微处理器产生,一般对RAM进行寻址
数据输出信号:微处理器写入RAM
数据输入信号:微处理器从RAM读取
控制信号
存储器芯片:20世纪70年代主流的存储芯片是2102芯片,大致构架是,存储器板 存储体 数据。存储体可以看做是RAM阵列,比如每个RAM都是,那么一个存储体由8个RAM组成可以表示8bit数据,早期的存储器由16个存储器板/区域(4位),每个区域有4个存储体(2位),每个存储体都是的(10位),这样就组成了完整的16位地址。
我们使用R/W信号控制存储器芯片的读/写,使用片选信号()来对存储体进行选择(事实上就是寻址信号的2位+2-4译码器)。当我们进行存储区域选择的时候,可以通过开关的组合及总线信号灵活地实现。
上图的比较器是由4个异或门和一个或非门组成。当总线信号与开关闭合一致时,所有的异或门都输出0,这样或非门的输出就是1,即相等的信号。
电子射线管用于视频显示,传统的电视机采用的是隔行扫描技术,电视机的信号是数字信号和模拟信号的混合,信号变化频率有限,我们称其上限为电视机的信号带宽(bandwidth)。
电脑上的显示器可以看做是像素点的阵列,配置有一些RAM用以储存要显示的内容。
字符生成器是电视用来储存ASCII字符的像素图的设备,是一种只读内存(read-only memory, ROM),不包含数据输入信号。
图形显卡是能够显示多种视频信息的显示适配器,微处理器通过向其中的RAM写入数据来画出图像。早期的黑白显示器每个像素对应RAM的1个字节,用00h表示黑色,FFh表示白色,1整个字节的范围能够显示256种不同的灰度值。为了显示更多的色彩,现在的像素占用3个字节即6位16进制,红绿蓝三原色的每一种都需要1个字节来表示其强度。
考虑一个简单的只有16个键的键盘。每个按键都在RAM中有一个对应的存储地址,那么我们怎么及时响应每个按键的操作呢?
注意计数器的频率必须足够高,使得按键从按下到抬起这段时间内必须扫过全部所以开关的编码。
此外,键盘的中断信号使得微处理器结束当前状态并且跳转到指定的内存地址处执行指令。
一般使用磁盘作为长期存储设备,微处理器不能直接从磁盘读取数据,需要先将其读取到内存。
盘面:两面
扇区
读写磁头:每面一个
磁臂:带动磁头
磁道
任何时候只有一个磁头处于活动状态;输入输出数据流以位串的形式出现
物理地址:磁头号、磁道号、扇区号
一次访盘请求:读/写,磁盘地址,内存地址
完成过程
寻道时间:磁头 $\rightarrow$ 磁道
旋转延迟时间:扇区旋转过来
数据传输时间:数据从磁盘 $\rightarrow$ 内存
SSD盘只需要第3个过程
在利用总线的寻址信号找到对应位置数据之后,从RAM的输出不再使用8-1选择器这种方式。在TTL逻辑电路中,输出信号只可能是电压大于2.2V(逻辑信号1)或者电压小于0.4V(逻辑信号为0),但是这两种输出信号并不能组合起来。因此我们需要引入一种三态输出。当片选信号()为1时,数据输出信号就进入第三种状态:真空态。
通过一个4bit计数器,我们可以在一定时间内扫描全部16个键。的开关组表示16个键,只有当键被按下,且计时器的数字恰好为键的对应编码时,2-4译码器和4-1选择器才会都被接通,同时锁存器记下该键的对应编码。随后这一信息会被输入到RAM中。如果是更复杂的键盘,比如64键,就需要6bit计数器,3-8译码器和8-1选择器以及一组的开关组了。