当前课程知识点:微机原理与接口技术 >  第3周 实模式存储器寻址与总线 >  第10讲 实模式存储器寻址 >  实模式存储器寻址_01

返回《微机原理与接口技术》慕课在线视频课程列表

实模式存储器寻址_01在线视频

实模式存储器寻址_01

下一节:实模式存储器寻址_02

返回《微机原理与接口技术》慕课在线视频列表

实模式存储器寻址_01课程教案、知识点、字幕

大家好

这一讲我们来学习实地址模式下的存储器变换

这一讲的内容呢
在我们整个这一门课中是非常重要的一个基础

也就是说 我们说这门课一共有三个基本点

第一个基本点是我们第一章就学过的那个

基本逻辑门

以及我们后边将要提到的译码器

那么这个就是我们的第二个基本点

为什么说它是第二个基本点呢?
也就是说它是整个这门课的基础

这一部分的内容学清楚了

我们才有可能比较

深入的理解

我们下一章将要学到的

指令操作数的寻址方式

而寻址方式学清楚了

那么我们等于说对所有的指令才能够理解

而所有的指令学清楚了

大家才有可能会编程序

因此呢 这一讲的内容希望大家能够

真正的能够把它理解了

y为了帮助大家理解 所以这一部分内容
加上它理解起来有一些难度 所以我们

比较细致的给大家做了一个划分

也就是说这一讲

我们将涉及了这么样四点的内容

一个是 内存分段管理的思想

还有一个是实地址模式下的内存地址变换

以及

我们在上一讲已经讲内部寄存器的时候
我们曾经提到过的段寄存器

但是因为当时在

讲的时候还没有讲到这里

所以我们把段寄存器只是作为一个概念

或者说一种寄存器的类型
来给大家做了简单地描述

那么在这一讲里头 我们把前边这两点

学完了之后 我们会再回来

把段寄存器的作用

或者说它是怎么样使用的

我们给大家做个解释

最后呢

有一点当然跟内存地址变换没有太大关系

但是我们也把它合成在这里

也就是说有关堆栈的概念

堆栈这个概念 我们在后边学指令的时候

因为有专门针对堆栈操作的指令

所以为了跟学那条指令打一下基础

我们在这里先把堆栈的概念跟大家提出来

当然讲的时候 我们也结合了

段的概念 一起来学习这个堆栈

好 下边我们先来学习

有关内存分段的这种

概念或者说它的思想

我们已经知道

8088CPU也好 8086CPU也好

从它的内部体系结构来讲

它是一个16位的体系结构

这种16位的体系结构就意味着

它可以同时处理或者同时产生

16位二进制码

也就是说它只有这样的能力

它能够同时处理

的二进制的位数只有16位

或者直接产生的二进制的位数也只有16位

16位二进制意味着什么呢?

它就可以能够

有能力产生2的16次方个编码

就像我们

两位二进制能

有能力产生4个编码一样

因为 2的2次等于4

对吧 我们3位二进制码

就可以产生8个不同的编码

就从000到111

那么我们现在16位二进制码

就可以产生从16位0到16位1

这样一共64K个编码

如果这64K个编码我们用来作为

内存单元的地址的话

那么也就说意味着它

能够直接管理的内存单元的个数是64K个

为什么要这样说?

是因为我们想

我们既然只有能力产生64K个编码

而且我们要管理内存
因为对内存的操作我们在前面已经讲过

无非是读取或者写入

那么不论是读取还是写入

我们都一定要找到我们要访问的那个
内存单元

就像我们到一个大楼里一定要找到
一个具体的房间一样

怎么找到呢? 我们基于的是它的门牌号码

所以在这里也一样

内存为了保证我们能够找到我们
需要的那个单元

所以我们内存每一个单元必须要有地址

也就是说要有门牌号码

而这个门牌号码一定在整个内存空间中

是一个唯一的门牌号码

否则就找不到了 就会找重了 对吧

所以

如果你只有产生64K个地址码的

这样编码能力的话

那么它能够直接管理的内存单元

就只有64K个

64K个内存单元呢 不论是

不要说今天我们根本无法想象这么小

就是在早期它也实在是太小了

我们8088CPU需要管理

一兆个内存单元

这个当然相对于今天来讲
这一兆字节的内存也是实在是小的不行

但是实际上在很多

嵌入式应用或者单片机系统里头
一兆已经非常大了

那么这个在早期呢 8088这个时代呢

一兆字节的内存是可以够用的了

那么一兆单元按照我们刚才的理论

要想管理一兆个单元

我们要多少位二进制码给它编地址呢?

也就说2的多少次方等于一兆呢?

需要20位

所以在这里呢 也就是说我们实际上

我们需要由16位的体系结构来产生一个

20位的地址的这样子的一个能力

怎么样去实现?

这个就是所谓的内存分段管理

好 下边我们

通过一个图
来帮助大家先建立一点点这样的一个概念

比如这个就是内存

我们这个这种图 我们前边已经看到过

就说我们以后画内存都是这样

中间每一道就是一个单元

现在我们如果说我们直接用

8088这样产生的16位地址

来管理它的话

那么我们来看 16位地址意思就是说
它能够产生64K个地址编码

假设现在这一块区域

就是64K个地址编码

那么也就是说就是64K个单元

那么也就是说现在我们用16位的

这个二进制码

就可以直接管理这么大一块区

刚才我们说了 这么大一块区实在有点太小

假设这一块区的第一个单元是零

对吧 那肯定是零了

那么这一块区太小 那么我们

还想管理一块区

我们有一种办法 比如这一块区

它也是64K个

它的第一个单元也是零

那么怎么样去区分这个零和这个零呢?

我们很容易的想到了我们

在这个

大楼的这种管理模式

我们说一栋大楼里头

一楼 第一个房间肯定是从1号开始编

那么我们怎么知道这个1号房间是在1楼呢?

我们通常如果这栋楼我们
假设没有超过10层

那么好 我们1楼的第一个房间可能就叫101

那么2楼的第一个房间我们可能就叫201

对吧
那么所以你看到这个房间地址编号的时候

你一看前面第一位数

你就知道它在第几层楼上

也就是说通过第一位十进制数

来区分你这个房间是一楼的1号还是二楼的1号

那么现在我们按照这样的思想

实际上我们也很容易去想

我们怎么样去区分
这个零号单元和这个零号单元呢?

我们在前面加上一个楼层号

就像一个区域号一样

比如这个是零 那么这就是第零块区

计算机里不是从1开始 从0开始

那么这一块区域呢 比如我们从1开始

好 这个00000H

和10000H

这两个就区分开了

如果按照这样子的分配的思想呢

或者是地址编码的思想呢

我们其实很容易理解

马上我们就和我们大楼的编址方式
就结合在一起了

那么这样的话 我们一兆个内存单元

我们可以分成多少块这样子的区呢?

刚好16块

所以分16块64K的区 正好加起来就是一兆了

那么为了区分这16块

我们前面用这个红颜色的表示这个块号
或者我们假设叫段号

那么这个段号有多少位就够了呢?

我们既然要分16块区 那么这个段号

就4位就够了 4位正好有16个组合 对吧

这样子的分段的思想

我们很容易理解

和我们人类平时

编的给大楼的编址方式是非常的像

但是这样子的方法

有一个很大的缺点

这个缺点 第一个缺点我们先来说

我们现在是16位体系结构的CPU

那么也就是说 大家从最早的8位CPU
一直后来把它变成

升级为第三代的微处理器 变成16位

实际上做了很多很多的工作

也就是说在技术的层面上做了很多的研究
才达到这一点

那么16位的体系就意味着

它内部所有的寄存器

都是16位的

它的运算器的处理能力是16位的

它内部的总线 也就是说芯片内部的通道

都是16位的

那么现在你需要用这个红颜色的这个

比如我们说它假设叫它段号

要用来区分这16块段

我们只需要4位就够了

那么为这个4位

我们需要设置专门的4位寄存器
4位的通道

这个实在是不太可行的

也就是说 对于这样子的一个4位的段号

这样的设置方式和我们整个16位体系结构

是不协调的 所以

这是一个这样的不足

另外一个不足呢 我们来看

假设现在这个 第一块区域有64K

但是实际上有可能我们

编写的程序或者我们操作的数据

根本用不到这么大

那么用不到这么大怎么办?
这块区域已经被一个占了

那么也就是说别人不可以占

那么别人在用的时候 用第二块区

所以以此呢就造成了内存很多很多的
一块一块的零散的空闲区

这个对内存效率或者它的有效的利用

也是非常的不合适的

因此这样子的方式呢
我们没有在内存管理上采用

我们希望怎么样呢?

希望假设我们第一块段

我们到绿颜色这么一个区域里头

那么现在我们第二块
既然第一块只用了这么大

那么我们第二块能不能从这里开始呢?

也就是说从黄颜色这个地方就往下

y这可能是第二块呢

我们现在希望这样

如果做到这样的话

我们等于每一块段每一块每一块

大家都能够比较紧凑的在一起

y或者甚至是像黄颜色这样

我们这一块呢

当第一个段用的时候

y这一块黄颜色的区域归第一个归属于第一块区

到 第一块区被用完了

可能在另外一个时间段

它又归属于第二块区

甚至在同一个时间点上

它既归属于第一个区又归属于第二块区

就大家共享

这样子的话

我们整个内存的利用率就会变的很高

因此呢 这就是我们下边要讲的

内存的地址变换

或者说实地址模式下的内存的管理

好 总结一下我们刚才讲的

要实现对一兆字节内存空间的正确的访问

肯定每个内存单元必须要有一个唯一的地址

这个唯一的地址
它的名字就是物理地址

意思说
它一定要在物理上是存在的一个地址

因此呢

这个物理地址

比如在这个内存里头 任何一个单元

它都要有一个唯一的物理地址

刚才我们说

因为我们要管理的内存是一兆个单元

所以呢 我们的物理地址

一定要是20位

因为2的20次方正好有一兆个地址编码

y这样才能保证我们一兆个地址单元

每个单元都有唯一的地址

所以内存地址变换的作用或者它的目的

就是希望如何将产生

直接能够直接产生的16位编码

变换为20位物理地址这样的一个过程

这就叫内存地址变换

微机原理与接口技术课程列表:

第1周 微型计算机基础概论

-第1讲 关于本课程

--关于本课程

-第2讲 微型计算机系统

--微机系统_01

--微机系统_02

-第3讲 微型计算机一般工作过程

--微机的一般工作过程_01

--微机的一般工作过程_02

-第4讲 数制与编码

--常用计数制及其转换

--计算机中的编码

-第5讲 计算机中数的表示与运算

--数的表示

--符号数的表示

--数的表示与运算

-第6讲 基本逻辑运算与逻辑电路

--基本逻辑运算与逻辑门

--常用逻辑运算及电路

-第7讲 本周小结

--本周小结

-第1周 微型计算机基础概论--第一周单元测验

第2周 8088微处理器

-第8讲 8088微处理器

--8088 CPU_01

--8088 CPU_02

-第9讲 8088 CPU主要引线及机构

--8088 CPU主要引线

--8088 CPU内部结构

--8088 CPU内部寄存器

-第2周 8088微处理器--第二周单元测验

第3周 实模式存储器寻址与总线

-第10讲 实模式存储器寻址

--实模式存储器寻址_01

--实模式存储器寻址_02

--实模式存储器寻址_03

-第11讲 8088系统总线

--8088系统总线

-第12讲 微处理器小结

--微处理器小结

-单元测验--作业

第4周 数据传送指令

-第13讲 指令概述

--指令概述

-第14讲 寻址方式

--寻址方式

-第15讲 通用数据传送指令

--通用数据传送指令_01

--通用数据传送指令_02

--通用数据传送指令_03

-第16讲 地址传送指令

--地址传送指令

-第17讲 输入输出指令

--输入输出指令

-第4周 数据传送指令--第四周单元测验

第5周 算术运算、逻辑运算与移位操作指令

-第18讲 算术运算指令

--加法运算指令

--减法指令

--乘除运算指令

-第19讲 逻辑运算指令

--逻辑运算指令_01

--逻辑运算指令_02

-第20讲 移位操作指令

--移位操作指令

-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验

第6周 串操作指令

-第21讲 关于串操作指令的说明

--串操作指令说明

-第22讲 串传送与串比较

--串传送与串比较

-第23讲 串扫描指令

--串扫描指令

-第24讲 串装入与串存储指令

--串装入与串存储指令

-第六周单元测验--作业

第7周 程序与处理器控制

-第25讲 程序控制指令说明

--程序控制类指令说明

-第26讲 转移类指令

--无条件转移指令

--条件转移指令

-第27讲 循环控制指令

--循环控制指令

-第28讲 过程调用指令

--过程调用指令

-第29讲 中断指令

--中断指令

-第30讲 处理器控制指令

--处理器控制指令

-第31讲 指令系统小结

--指令系统小结

-第7周 程序与处理器控制--第七周单元测验

-第7周 程序与处理器控制--第七周作业

第8周 汇编语言程序设计

-第32讲 汇编语言源程序

-- 汇编语言源程序_01

-- 汇编语言源程序_02

-第33讲 伪指令

--数据定义伪指令

--符号与段定义伪指令

--汇编语言源程序结构例

--其它伪指令

-第34讲 系统功能调用

--系统功能调用_01

--系统功能调用_02

-第35讲 汇编语言程序设计示例详解

--程序设计示例1

--汇编语言程序设计示例_02

-第36讲 汇编语言程序设计小结

--汇编语言程序设计小结

-第8周 汇编语言程序设计--第八周单元测验

-第8周 汇编语言程序设计--第八周作业

第9周 半导体存储器

-第37讲 半导体存储器概述

--半导体存储器概述

-第38讲 内存单元编址

--存储单元编址

-第39讲 随机存取存储器RAM

-- RAM_01

--RAM_02

-第40讲 只读存储器ROM

--ROM_01

--ROM_02

-第九周单元测验--作业

第10周 半导体存储器扩展技术

-第41讲 半导体存储器扩展

--半导体存储器扩展_1

--存储器扩展_2

--半导体存储器扩展_3

-第42讲 半导体存储器小结

--半导体存储器小结

-第十周单元测验--作业

-第十周作业--作业

第11周 输入输出与中断技术

-第43讲 基本I/O接口

--I/O系统概述_01

--I/O系统概述_02

-第44讲 简单接口芯片

--简单接口芯片

-第45讲 基本输入输出方法

--基本I/O方法

-第46讲 简单I/O控制系统设计

--简单I/O控制系统设计1

--简单I/O控制系统设计2

-第47讲 中断技术

--中断技术1

--中断技术2

-第48讲 输入输出与中断技术小结

--本周小结

-第十一周单元测验--作业

第12周 可编程并行数字接口

-第49讲 可编程定时计数器

--可编程定时计数器8253_01

--可编程定时计数器8253_02

--可编程定时计数器8253_03

-第50讲 可编程并行接口

--可编程并接口8255_01

--可编程并行接口8255_02

--可编程并行接口8255_03

-第51讲 可编程接口小结

--本周小结_01

--本周小结_02

-第十二周单元测验

第13周 模拟量的输入输出

-第52讲 模拟量的输入输出

--模拟量的输入输出

-第53讲 D/A转换器

--D/A转换器_01

--D/A转换器_02

-第54讲 A/D转换器

-- A/D转换器_01

--A/D转换器_02

-第十三周单元测验--作业

第14周 系统综合设计示例详解

-第55讲 I/O接口系统综合设计示例详解I

--综合设计示例详解I_01

--综合设计示例详解I_02

-第56讲 综合设计示例详解II

--综合设计示例详解II_01

--综合设计示例详解II_02

-第57讲 结束语

--结束语

实模式存储器寻址_01笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。