. : : 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