(1) bit与Byte
bit是计算机中最小的信息单位,
在表示数据传输速度的时候一般用bit来做为单位来表示。
在表示存储器的容量的时候,byte字节是最小的单位。
(2) 地址总线与地址总线宽度
CPU是通过地址总线来指定存储器单元的。
地址总线上能传送多少个不同的信息,
CPU就可以对多少个存储单元进行寻址。
记得:存储单元的单位为Byte而不是bit。
如一个CPU有10根地址线,
一根导线可以传送的稳定状态只有两种,
高电平或是低电平。用二进制表示就是1或0,
10根导线可以传送10位二进制数据。
而10位二进制数可以表示多少个不同的数据呢?
2的10次方个,也就是0~1023。
因为存储单元最小单位为Byte,
而一个单位对应一个地址,
所以1024个地址对应的即是1024Byte的存储空间。
即10根地址线的CPU可访问的存储空间为:1024Byte = 1KB 。
一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。
这样的CPU最多可以寻找2的N次方个内存单元(Byte)。
也就是说这样的CPU的寻址能力为:2的N次方(2^N)Byte。
CPU与内存或其他器件之间的数据传送是通过数据总线来进行的,
数据总线的宽度决定了CPU和外界的数据传送速度。
===============================
8根数据总线一次可传送一个8位(8 bit)二进制数据,
即为1字节(1 Byte)。
这样的CPU其寻址能力为:2^8=256 Byte。----错误!
(数据总线,跟寻址能力不能混在一起说。)
16根数据总线一次可传送两个8位(8 bit)二进制数据,
即为2字节(2 Byte)。
这样的CPU其寻址能力为:2^16 = 65536 Byte。----错误!
(数据总线,跟寻址能力不能混在一起说。)
===============================
比如:
CPU的寻址能力为8KB,那么它的地址总线的宽度为多少呢?
8KB = 8*1024 Byte = 2^13 Byte;
1根地址总线的寻址能力为2^1 Byte;
2根地址总线的寻址能力为2^2 Byte;
3根地址总线的寻址能力为2^3 Byte;
...
...
...
...
13根地址总线的寻址能力为2^13 Byte;
所以,
2^13 Byte的寻址能力对应的地址总线为13根,
当然,地址总线宽度即为13.
(3)内存地址空间
如果一个CPU的地址总线宽度为10,
那么可以寻址1024个内存单元,
这1024个可寻到的内存单元就构成这个CPU的内存地址空间。
==============================
8088CPU的数据总线宽度为8,可传送2^8个不同的地址信息,
大小从0至2^8-1.即可以定位2^8个内存单元,则8088CPU
的内存地址空间大小为 255 Byte。-----错误!
(又把数据总线宽度与地址总线宽度混为一谈。)
==============================
8086CPU的地址总线宽度为20,可传送2^20个不同的地址信息,
大小从0至2^10-1。即可以定位2^20个内存单元,则8086CPU
的内存地址空间大小为 1 MB。
80386CPU地址总线宽度为32,则内存地址空间最大为4GB。
不同的计算机系统的内存地址空间的分配情况是不同的。
8086PC机内存地址空间分配的基本情况:
0~9FFFF :主存储器地址空间
A0000~BFFFF :显存地址空间
C0000~FFFFF :各类ROM地址空间
(4)
电子计算机能处理、传输的信息都是电信号,电信号当然要用导线传送。
在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。
总线从物理上来讲,就是一根导线的集合。
根据传送信息的不同,
总线从逻辑上又分为3类,即:
地址总线
数据总线
控制总线
CPU从内存中读取数据的过程:
A. CPU通过地址线将地址信息发出。
B. CPU通过控制线发出内存读取命令,根据地址信息,
选中存储器芯片,并通知它,将要从中读取数据。
C. 存储器将相应地址单元中的数据通过数据线送给CPU。
要分清地址、数据、控制各总线,
尤其是地址总线与数据总线容易在初学的时候搞混淆。
比如P8~9上的检测题(1)(6)分别检测的是地址、数据总线的知识。
地址总线与寻址能力有关,而数据总线与传送数据的能力有关。
编辑器:edit
dos下可以使用EDIT进行编辑,在dos方式下输入edit即可进入,
汇编语言编辑完成后,保存为.asm的文件。
编译器:masm
如果采用masm5.0编译器,
masm5.0编辑器若与.asm源文件在同一目录,
则可在Dos方式下输入 masm xxx.asm 或 masm xxx,
进行编译,xxx表示.asm文件名;
完成编译后会生成.obj目标文件。
链接器:link
编译完成后,生成了.obj文件,
可使用link xxx.obj 或 link xxx;
进行链接后,即可生成xxx.exe可执行文件。
调试器:Debug
dos命令提示符下直接输入debug 回车即可。
- [taotling] 小朋友问这道题怎么按我的抄完后尽是报除法溢出来着。 忽略掉之前的吧,下面的是正确姿势。 这个 04/04 17:47
- [rexic] 回复[ taotling 发表于 2015-09-05 22:41 ] 此处程序应该在 11/14 21:34
- [taotling] assume cs:code, ss:stack, ds:data data segment 09/13 13:53
- [taotling] 更正: 忽略后来在2008-04-01发的评论: [taotling发表于2008-04-01 09/05 23:17
- [taotling] 实验五(5)可简化为: ------------------------------------- 09/05 22:41
- [taotling] 纠正,将 mov cx,17h 改为 mov cx,18h ------------ 原 09/05 13:58
- [fpamc] 欢迎前辈。 10/18 08:49
- [fpamc] 谢谢作者。 很感谢分享自己的经验。 原本我会很担心时间问题,因为我是基础差,遇到不明白的很多,都 03/17 07:50
- [tomato] 博主总结的很到位。 03/16 23:10
- [killkk] 多谢、学习。。 08/28 12:41
- [zouhehui] 你好,有个问题想请教你,你的实验10.4的那种图是怎么做出来的,谢谢! 11/30 22:57
- [fangyugirl] 你好,请问你有MSN吗?我想加你,让你给我讲讲16的实验的问题,我看过其他人的,方法就那么几种,我也 05/18 11:03
- [w0922] 你好 !能不能到我的博客看哈 有个问题想请教哈你··· 就是我博客实验十分析的那个问题 04/18 15:18
- [rsice] taoling你好,现在有事想你求救,我在第10章实验10的第3个子程序始终出错,我想破脑壳也想不出 04/08 12:14
- [游客] 博主如果想继续学习的话,可以看看C语言,将数据结构中的算法用C语言编一遍,然后学习学习OS(操作系统 03/30 20:03
[ wdm 发表于 2008-02-09 15:59 ]
可以这样理解。我认为bit就是计算机最小的处理单位,而字节是存储设备中的一个单位(目前是内存单元的最小单位)。
[ taotling 发表于 2008-03-22 23:34 ]
更正:
数据总线与地址总线要区分开来。
上面的笔记中有的地方把这两个东西搞混淆了,
哎,一直没人指出!我自己更正一下吧。
更正部分用“=========”作分界线了。
[ jhszcn 发表于 2008-03-30 10:31 ]
8086CPU的地址总线宽度为20,可传送2^20个不同的地址信息,
大小从0至2^10-1
------------------------------
这里大小从0到2^20-1这里写错了,嘎嘎
[ taotling 发表于 2008-03-30 13:45 ]
是错了,噫,想的和写的...词不达意!