汇编语言学习笔记

CPU

CPU是核心,读取指令和数据,并将其写入存储器,即寄存器内存,再进行运算
一个CPU由寄存,控制器,运算器等构成
磁盘不同于内存,需要通过指令或者程序将磁盘上的数据读入内存,才能被CPU使用
微型存储器是以字节为最小单位来计算的,一个存储器拥有128个存储单元,则其容量是128字节(128B)

总线

CPU通过一根根导线与各个存储芯片连接

CPU读操作

  1. CPU通过地址总线存储芯片地址
  2. 通过控制总线发出内存读命令,即可选中存储芯片,并通知它将要读取数据
  3. 存储芯片将对应存储单元的数据通过数据总线送入CPU

CPU写操作

  1. CPU通过地址总线存储芯片地址
  2. 通过控制总线发出内存写命令,即可选中存储芯片,并通知它将要写入数据
  3. CPU通过数据总线将数据送入存储芯片将对应存储单元

地址总线对应存储芯片的存储单元地址,总线根数对应了寻址能力
数据总线对应数据传输,总线根数对应一次能够传输的数据量,8根即一个字节
控制总线控制外部器件,一根被称为"读信号输出"的控制线负责由CPU向外传送读信号

内存地址空间

一个PC有若干个存储芯片,这些物理独立的存储器件,都通过总线与CPU相连,CPU把它们当作一个逻辑存储器来操作,及内存空间
内存大小受到地址总线限制,一个地址总线有20根,其可以传送220个地址信息,即可定位220个存储单元,因此内存地址空间大小为1M

寄存器

普通寄存器:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,di
只有bx和si,bx和di,bp和si,bp和di可组合出现
段寄存器:ds,ss,cs,es

CPU寻址

对于一个16位结构的CPU,运算器一次最多可以处理16位的数据,寄存器最大宽度16位,寄存器和运算器直接一次最多可以传递16位数据

如果地址总线最多16根,则对应的寻址能力为216,即64K
如果地址总线为20根呢?理论上寻址能力为220,即1M,但是CPU使用地址总线一次只能传递16位数据,显然不能满足220地址能力,因此给CPU提供两个16位的地址总线,然后合成为一个20位的地址

地址合成的格式为基础地址+偏移地址,而偏移范围即表示这一段内存地址空间,所以这段内存空间的起始位置为段地址,对应段寄存器CS,而偏移地址对应指令指针寄存器IP
CPU任意时刻都是将CS:IP指向的内容作为指令执行

IP的值也是16位的,因此一段程序的大小最多为216,CPU从程序起始即代码段开始执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值