. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  检测点1.1自问自答:  [已解决] 回复[ 4次 ]   点击[ 358次 ]  
zjkl19
[帖 主]   [ 发表时间:2010-03-15 22:52 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2009-07-15 11:17
说来也搞笑,我半年前就开始看王爽的《汇编语言》这本书了,当时只看到第三章,后来看不下去,去学习C语言了,现在我看完了谭浩强那本绿色的入门书以后,又回过头来看《汇编语言》了。
    
   半年前我就做过习题1.1,当时记得是都没做错,今天又重新开始做,发现怎么搞的突然觉得很难!怪了?!我以前可是很认真地做过一遍的啊!可能是我之前学了没总结吧,今天我要借此机会总结一下,巩固一下所学的知识,这样印像更深一点,免得以后又忘了。
   
   如有错误也希望大家不吝赐教!
   
   我解答得也很详细,希望也能帮帮一些和我一样的菜鸟。
   
   顺便说一下,汇编网的学习氛围非常好!但是论坛有些设置做得不够完善,比如论坛字体太小,结构略显混乱,代码不支持不同代码不同色显示(这样看起来很吃力)等等,我个人认为汇编网这点应该向CSDN学习一下。
注:以下尽量用2^x次方的形式表示答案,这样答案会更容易理解,毕竟计算机是只认0和1的。

   自己列一个参照表,省得大家去算:
   2^3=8          2^4=16   2^5=32          2^6=64   2^7=128    2^8=256        2^9=512  2^10=1024

   个人感觉比较难的题会写一个解题思路切入点,方便和我一样的菜鸟。
  1.        一个CPU的寻址能力为8KB,那么他的地址总线的宽度为(13)。
  (大家莫笑,我第一题就想了很久^_^)

   解题思路切入点:这章内容讲的都是和”位”,也就是所谓的和bit有关的东西,而”地址总线”恰好又是和 bit有关的,所以只要进行相关的”位”转换运算就ok了。

   解答:8KB = 8*1024Bite = 2^3*2^10Byte = 2^13Byte,好了,现在意思很明白了,一个CPU、要访问2^13个存储单元(1个存储单元可以存储的内容为1Byte)的内容,那么它的总线宽度就一定为13!因为要访问2^13个存储单元,地址总线就必须要有2^13种表示方法,所以就有13根总线!

这题解答大家如果还有不明白的话可以看我对第5题的解答,我当时第一题不会做就是从第5题启发的。
 
    2.        1KB的存储器有(2^10)个存储单元。存储单元从编号(0)到(1023)。 
    解题思路切入点:明白”1个存储单元可以存储的内容为1Byte”这个知识点,这个题就好做了。
    提示:1KB=2^10Byte

    3.        1KB的存储器可以存储(2^13)个bit,(2^10)个Byte。 
     解题思路切入点:这题就是考察数据在存储器中存放的形式(二进制)。
    解答:1KB=2^10Byte=2^13bit

   4  .1GB=2^30 Byte   1MB=2^20 Byte   1KB=2^10 Byte
   解答:这题太简单了!略! 

    5.        8080、8088、8086、80286、80386的地址总线宽度分别为16根、20根、24根、32根,则他们的寻址能力分别为(2^6KB)、(1MB)、(2^4MB)、(2^2GB)。 

   解题思路切入点:看清楚题目的要求,是“地址总线”,不要和“数据总线”混起来了。

   注意:所谓的寻址能力意思就是指CPU可以访问存储单元大小的能力!这个地方一定要理解清楚!这个问题书上没有讲得很清楚,所以导致论坛上很多初学者对这个问题产生疑惑!(我也是初学者,嘿嘿)

   解答:我以8080CPU为例向大家解答,16根地址总线,那么就有2^16种不同的表达方式,那么就可以访问2^16个存储单元的内容,每个存储单元大小为1Byte,所以答案就是2^16Byte,即2^16Byte=2^6KB,得解。



     6.        8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则他们可一次传送的数据为:(1)B、(1)B、(2)B、(2)B、(4)B。 

    解题思路切入点:好了,这题是讲“数据总线”,和上面那题不一样了。

    解答:其实这题很简单,大家不要想得太复杂了,我以8086 CPU为例向大家讲解,8根不就是8bit吗?(这个问题不懂的话请好好看看书上有关的图),8bit不就是1B吗!得解!

    7.        从内存中读取1024字节的数据,8086至少要读2^9次,80386至少要读2^8次。

    解题思路切入点:只要明白这题也是讲“数据总线” 的内容就好办了。

    解答:以8086 CPU为例,1024字节=1024Byte,8086一次传送的数据位2B(由上题知),然后剩下的就好办了吧,1024/2=512=2^9

    8.        在存储器中数据和程序以(二进制)形式存放。
    解答:略。
zjkl19
[第1楼]   [ 回复时间:2010-03-15 22:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2009-07-15 11:17
字实在是太小了,还好现在比如说IE8还有360浏览器等等都支持字体放大显示,这样大家看得舒服一点。
doudou
[第2楼]   [ 回复时间:2010-03-19 20:50 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:0
注册日期:2010-03-10 12:10
解答:8KB = 8*1024Bite = 2^3*2^10Byte = 2^13Byte
楼主的换算第一步是不是错了???
Byte 和,bit要分清啊。
zjkl19
[第3楼]   [ 回复时间:2010-03-19 23:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2009-07-15 11:17
回复:[第2楼]
------------------
不好意思,笔误,那个"Bite"应该为"Byte",谢谢提醒。
zjkl19
[第4楼]   [ 回复时间:2010-03-29 19:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2009-07-15 11:17
此贴由 贴主 于 [ 2010-03-29 19:21 ] 结贴。 结贴原因:问题已解决
得分情况: 2楼(doudou):6分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved