. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->自由讨论区
主题 : :  CPU 是如何取内存中的指令的?? 疑惑在指令长度不等,是如何实现的。  [待解决] 回复[ 5次 ]   点击[ 594次 ]  
whonos
[帖 主] [ 发表时间:2009-08-25 14:12 ] 
荣誉值:0
信誉值:0
注册日期:2009-08-25 13:59
从机器语言的角度,理解计算机就是把机器指令一条一条的顺序执行。这些指令,先是存储在内存中。CPU指向下条要执行的指令的地址。取指令,执行,程序计数器加1再指向下条指令的地址--再取指令。

   但是,指令是不等长的。CPU在取指令时,是如何实现刚好取的是一条完整的指令长度的字节呢?

   比如,有的指令是两个字节,有的是三个字节。

   
   另外。现在都是32位机器了。 而字节永远代表8位。也就是一个机器字长是四字节了。我记得书上说,存储单元的位数等于机器字长,也就是32位了。

    那么,内存地址应该是按照 存储单元作为基本计数单元的吧??也就是每一个内存地址 指向的是一个四字节的存储单元了吧??
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved