爱收集资源网

计算机与UNIX汇编原理,全面解析

网络整理 2023-10-29 06:04

通过对 【计算机与UNIX汇编原理 ① ~ 】的学习,我们早已大致把握了汇编程序设计的相关知识

接下来,我将其页脚名改为 【计算机原理与插口技术(UNIX) 】,重点将置于 “计算机原理与插口技术” 上

文章目录

总线的英语:Bus

上一篇文章链接:【计算机原理与插口技术(UNIX)】——总线概述【总线与总线标准、总线结构、ISA、PCI、IDE】.

下一篇文章链接:【计算机原理与插口技术(UNIX)】——输入/输出系统【位、字扩充法 + 详细例题】.

一、存储系统的重要知识点

● 学习之前,需备考关于存储器的前驱知识:【计算机与UNIX汇编原理②】——存储器系统【RAM ROM 高速缓冲存储器Cache】

● 关键字:存储元、存储单元、存储体、单元地址、存储器、RAM、ROM 、高速缓冲存储器Cache、存储器发展、分类和应用、存储器地址与读写操作

● “存储程序” 的核心是将编号的程序和要加工处理的程序预先存入主存储器,然后启动计算机工作,计算机在不需人工干预的情况下地址译码信号有什么用,高速手动地从主存储器取出指令,从而完成估算和处理。

● 在现代计算机中,存储器处于全机中心地位。

● 存储容量:指存储器可以储存的二进制信息量。公式:存储容量 = 字数 × 字长

例如:一个存储器能储存1024个字,字长8位,则存储器容量可用1024×8表示

● 微机中的存储器通常都是以字节(8位)进行编址,即总是觉得一个字节是 “基本” 的字长。常用B表示。

● 存储体:存储单元的集合,是储存二进制信息的地方。常用的存储体如下:

    将各个字的  同一位   组织在一个芯片中,如:8118   16K × 1(DRAM)
    将各个字的   4位    组织在一个芯片中,如:2114   1K × 4 (SRAM)     
    将各个字的   8位    组织在一个芯片中,如:6116   2K × 8 (SRAM)

● 外围电路:为了区别不同的储存单元,以地址号来选择不同的储存单元。于是电路中要有地址译码器、I/O电路、片选控制端CS、输出缓冲器等外围电路。

二、层次化储存系统

● 现代计算机中的存储器处于全机中心地位,现代对存储器的要求是:容量大,速度快,成本低。

● 为解决两者之间的矛盾,目前一般采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。

● 与 CPU 的联接的主要有:地址线、控制线、数据线。

● 设计的存储器容量与实际提供的存储器多有不符。实际使用时,需进行字和位扩展(多个芯片联接),组成所须要的实际的存储器。需要的片数估算公式如下:

总片数=总容量M容量m/片总片数=\frac{总容量M}{容量m/片}总片数=容量m/片总容量M

● 例如:存储器容量为8K × 8,若选用 2114 芯片(1K × 4),则须要:

8K×81K×4=8×2=16片\frac{8K\times8}{1K\times 4}=8\times 2=16片1K×48K×8=8×2=16片

三、位扩展法

● 这是一个8K × 4的简单储存存储器。【这是一张对比图,用于和旁边的位扩充得到的图进行对比】

● 位扩充法:只在位数方向进行扩充(加大字长),而存储器的字数与存储器芯片字数一致。连接时将各芯片地址线的相应位及各控制线并联,而数据线分别接到数据总线的诸位。

● 用8K × 1位芯片组成8K × 8位的存储器须要8个芯片,各芯片地址线、CS(片选讯号) 和 WE(读写讯号) 分别联接在一起,数据线各自独立(每片1位)。

四、字扩充法

● 这是一个8K × 4的简单储存存储器。【这是一张对比图,用于和前面的字扩充得到的图进行对比】

地址译码信号有什么用_地址译码原理_地址译码范围

● 字扩充法:仅扩充存储容量(单元数),而位数不变。连接时将各芯片同名地址线、数据线、读/写线并联,而使用片选讯号分辨各个芯片。

● 如用16K × 8位的芯片组成64K × 8位的存储器须要4个芯片,所以地址线——共需16根,片内(214=16384)14根,选片:2根,【所需地址线(图中的A0、…、A15) = 片内地址线(图中的A0、…、A13) + 片选地址线(图中的A14、A15)】数据线——8根,控制线——WE,如下图所示:

五、字位同时扩充法

● 用1k × 4的存储器芯片 2114 组成2k × 8的存储器,结果如下:

● 不同的扩充方式可以得到不同容量的存储器。在选择存储芯片时,一般应尽可能使用集成度高的存储芯片来满足总的储存容量的要求,这样可以降低成本,还可以减少系统的负载,缩小存储器模块的规格。

六、存储器地址解调方式

● CPU 与存储器联接时,特别是在扩充存储容量情况下,主存的地址分配就是一个重要的问题。

● CPU 对储存单元的访问流程:

① 系统首先会选存储芯片,即进行片选。

② 然后再从选中的芯片中根据地址码选择出相应的储存单元,以进行数据的存取,即进行字选。

● 实现片选的方式的方式有 3 种:线选法、全译码法和部份解调法。

6.1 线选法

● 线选法:用除片内选址外的低位地址线直接分别接至各个存储芯片的片选端(CS\overline{CS}CS),当某地址线的讯号为 0 时,就表示选中与之联接的存储芯片。

● 如下图所示,该存储器是由4片2K × 8b用线选法构成的8K × 8b存储器的联接图。片选地址线(图中的A11、…、A14)

● 使用线选法得到的该存储器地址分布表如下:

● 说明:在上表中,“1110” 中的 0 表示选中对应的A11。“1101” 中的 0 表示选中对应的A12。

● 线选法的优点:它不需要地址译码器,线路简单地址译码信号有什么用,选择芯片时不需要加逻辑电路,但仅适用于联接存储芯片较少的场合。

6.2 全译码法

● 全译码法不仅将地址总线的高位地址直接与芯片的地址线相连之外,其余低位地址全部接入译码器,由译码器的输出作为各芯片的片选讯号。

● 例:某微机地址线16位,存储容量为64KB,由8KB的芯片构成,其片内地址为13位(即 A0、A1、…、A12),其片外的地址为3位(即A13、A14、A15构成的38译码器)。

6.3 部分译码法

● 将低位地址线中的一部分进行解调,产生片选讯号(即为线选法和全译码法相结合的方式)。该方式适用于不需要全部地址空间的轮询能力,但采用线选法地址线又不够用的情况。(下图为4个8K × 8b芯片构成32K × 8b的存储器的情况。拥有的条件是 A13、A14、A15,但直接用线选法不够,就只用其中两个即可)

七、存储器地址解调电路设计步骤

● 存储器地址解调电路设计步骤:

① 根据系统中实际存储器容量,确定存储器在整个主存空间中的位置。

② 根据所选用存储器芯片的容量,画出地址分配图或列举地址分配表。

③ 根据地址分配图或分配表确定解调方式并画出相应的地址位图。

④ 选用合适元件,画出解调电路图。

● 存储器地址解调举例 一一>设计要求:要求微机系统地址总线为16位(A15—A0);双向数据总线8位(D7—D0),控制总线中与寻址有关的讯号有:MREQ\overline{MREQ}MREQ(存储器恳求),R/WR/\overline{W}R/W(读/写控制)。

● 设计步骤如下:

① 实际存储器地址空间分配如下:

0000H—1FFFH 为系统程序区(8KB),由 EPROM 组成;

2000H—7FFFH 为用户程序区(24KB),由 SRAM 组成.

最高的2K地址空间为系统程序工作区(2KB),由 SRAM 组成。

② 现选用如下存储器芯片,据此画出地址分配图:

EPROM:8K × 8位(控制端仅有CS),需1片

SRAM:8K × 8位,需3片;2K × 8位,需1片

③ 画出地址位图如下:

④ 选用 3-8 译码器和基本门电路设计电路:

八、练习题

(1)有若干片1K×8位的 SRAM 芯片,采用字扩充方式构成4KB存储器,问:需要 ______ 片 SRAM ?该存储器须要多少 _______ 根地址线?参与片选的地址位起码须要 _______ 位?

(2)有若干片128KB的 SRAM 芯片,如要构成512KB存储器,问:需要 ______ 片 SRAM ?如该512KB存储器的起始地址是10000H,最后一个单元的地址是 ______ H 。

(3)如显存按字节编址,用存储容量为32K×8b的存储芯片构成地址为A0000H至EFFFFH的储存空间,则 ______ 片?

(4)已知如下电路,问第6个芯片的轮询范围从 ______ 到 ______ 。

九、练习题的解析与答案

(1)有若干片1K×8位的 SRAM 芯片,采用字扩充方式构成4KB存储器,问:需要 ______ 片 SRAM ?该存储器须要多少 _______ 根地址线?参与片选的地址位起码须要 _______ 位?

● 第一个空:4\underline{\quad4\quad}4,因为 4KB / 1KB = 4。第二个空:12\underline{\quad12\quad}12,因为 212B = 4KB。第三个空:2\underline{\quad2\quad}2,因为 22 = 4,底数 2 为地址位数, 22 表示能形成的地址数。

(2)有若干片128KB的 SRAM 芯片,如要构成512KB存储器,问:需要 ______ 片 SRAM ?如该512KB存储器的起始地址是10000H,最后一个单元的地址是 ______ H 。

● 第一个空:4\underline{\quad4\quad}4,因为 512KB / 128KB = 4。第二个空:8FFFH\underline{\quad8FFFH\quad}8FFFH,因为 10000H+512KB1B=10000H+10000000000000000000B1B=10000H+1111111111111111111B=10000H+7FFFH=8FFFH10000H + 512KB - 1B = 10000H + 1000\,\, 0000\,\, 0000\,\, 0000\,\, 0000B - 1B \\ \quad \quad \quad\quad\quad\quad\quad\quad= 10000H + 111\,\, 1111\,\, 1111\,\, 1111\,\, 1111B \\ \quad\quad\quad\quad\quad = 10000H + 7FFFH = 8FFFH10000H+512KB1B=10000H+10000000000000000000B1B=10000H+1111111111111111111B=10000H+7FFFH=8FFFH

◆ 说明:减1B是因为,我们要把虽然地址的 “那一个” 去掉,因为我们只须要 “10000H” 这个地址就行。【比如说,班主任开家长会,告诉李华,他的妈妈、妈妈、舅舅、姑妈共 4 人从第五排开始往前坐,那么他的祖母坐在:5 + 4 - 1 = 8(排),即 “最后一个单元” 】

(3)如显存按字节编址,用存储容量为32K × 8b的存储芯片构成地址为A0000H至EFFFFH的储存空间,则须要 ______ 片?

● 答案:10\underline{\quad10\quad}10,因为EFFFFHA0000H+1B=4FFFFH+1B=01001111111111111111B+1B=1010000000000000000B=320KB。那么320K/32K=10EFFFFH - A0000H + 1B = 4FFFFH + 1B \\ \quad \quad \quad\quad \quad \quad \quad\quad \quad \quad \quad\quad \quad \quad \quad\quad \quad \quad \quad= 0100\,\,1111\,\,1111\,\,1111\,\,1111B + 1B \\ \quad \quad \quad\quad \quad \quad \quad\quad \quad \quad \quad\quad \quad \quad \quad\quad = 101\,\,0000\,\,0000\,\,0000\,\,0000B \\ \quad \quad \quad\quad \quad \quad \quad\quad \quad \quad \quad\quad \quad \quad \quad\quad \quad \quad \quad= 320KB。那么320K/32K = 10EFFFFHA0000H+1B=4FFFFH+1B=01001111111111111111B+1B=1010000000000000000B=320KB。那么320K/32K=10

(4)已知如下电路,问第6个芯片的轮询范围从 ______ 到 ______ 。

● 答案:A000H\underline{\quad A000H\quad}A000H、BFFFH\underline{\quad BFFFH\quad}BFFFH,因为 A12∽A0A_{12} \backsim A_{0}A12∽A0 ——> 片内寻址范围: 0 0000 0000 0000B ~ 1 1111 1111 1111B。对于第6片而言,即将 “110”(片外轮询)加到片内寻址的后面即可:1100 0000 0000 0000B ~ 1101 1111 1111 1111B ——> A000H ~ BFFFH。

十、学习重点与小结

① 掌握存储器的基本概念(分类,主要性能指标,容量)

② 区别存储器地址和储存单元的内容,掌握存储器读写操作过程

③ 掌握存储器的扩充技术(位扩充、字扩充)

④ 掌握片选解调方式(线选法、全译码法)

十一、参考附表

[1]《微型计算机原理与接口技术(慕课板)》

清华大学出版社

上一篇文章链接:【计算机原理与插口技术(UNIX)】——总线概述【总线与总线标准、总线结构、ISA、PCI、IDE】.

下一篇文章链接:【计算机原理与插口技术(UNIX)】——输入/输出系统【位、字扩充法 + 详细例题】.

地址译码信号有什么用
上一篇:交易费用学说:简介与应用 下一篇:没有了