软考之CPU的寻址方式
在复习软考的时候,发现CPU的内部工作原理这一部分的内容挺重要的,现对CPU的寻址方式进行了一下总结。以下就来一一介绍一下。
我们都知道一个指令分为操作码和地址码两部分。操作码确定指令的类型。地址码确定指令所要处理的数据。依据地址码代表的地址类型。指令系统分为例如以下寻址方式:
1、马上寻址:
地址码就是操作数,这样的寻址方式不必再次訪问主存去取操作数,当然也无须改动操作数(这样的方式获得操作数的速度最快)
2、直接寻址:
指令的地址码就是操作数在主存内的地址,也就是说地址码就是主存内数据的绝对地址,不必做不论什么换算(也就是操作数的地址直接包括在指令中,仅仅要依照指令中的地址去找就能够了),但这样的地址方式的不足之处在于寻址范围有限。
3、间接寻址:
在指令的地址码部分直接给出的既不是操作数(直接给出操作数的是马上寻址),也不是操作数的地址(直接给出操作数地址的是直接寻址),而是操作数的地址的地址。
这样的方式提高了寻址的灵活性。扩大了寻址的范围。可是因为多次訪问主存。速度大为减少。
4、寄存器寻址:
地址码的地址是寄存器的地址,和内存地址而言。訪问寄存器的速度是很快的,所以使用寄存器寻址有很快的速度。不足之处在于寄存器的数量有限。
5、寄存器间接寻址:
地址码保存的是寄存器的地址,相相应的寄存器中保存的是操作数在主存中的地址。这样既快又有灵活性,是一种广泛使用的寻址方式。
6、基址寻址:
採用专用寄存器或通用寄存器作为基址寄存器,主要作用是扩大寻址空间和再定位。
7、变址寻址:
是将地址码和变址寄存器内容相加后形成的数据地址,对数组运算、字符串操作等批量数据的处理很有效。
8、页面寻址:
页面寻址要将主存分组成若干个区。寻址时使用区码加区内偏移的方式确定位置。
9、相对寻址:
相对寻址和变址寻址类似,这里变址寄存器变成了程序计数器,也就是在相对寻址中是将地址码和程序计数器内容相加后形成的数据地址。
CPU中的几种寻址方式就介绍到这里,本着总结的原则,目的是为了让大家了解一下各种寻址方式的原理。方便掌握。
软考之CPU的寻址方式的更多相关文章
- 软考考点---CPU
软考考点---CPU 中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Un ...
- 软考之PV操作(同步)
这几天,陆续有那么三两个同学跟我讨论了一下关于软考上的PV操作的题,吾虽不才,但还是把同学们讲通了,在此,特分享一下自己的思路和想法,愿对大家有点帮助! 下面,我们就通过自己做过的试卷上两道题来分析: ...
- 软考类----编码、ASII码等
淘米2014实习生笔试,今年是淘米第一年招暑期实习生,笔试好大部分考的是软考的题目啊啊啊啊(劳资后悔当年没考软考刷加权),其他是浅而泛的风格,C++,SQL语句,数据结构(哈夫曼树,二叉查找树,栈后缀 ...
- 备战“软考”之软件project
说到"软件project"就有一种非常纠结的感觉!为什么呢?由于刚进入软考复习阶段,大家都把它放到了"比較"次要的地位,由于已经学过两遍,再加上它没有非常难理解 ...
- Data Structure(3)——软考阶段学习小结
数据结构计算机等级考试中有,自考中有,软考中同样有,可见其内容的重要程度,今天对软考阶段视频学习内容的总结,同样是对前面学习内容的回顾,同样是对后面学习的铺垫. 中结:原本因为之前有过类似的总结,这次 ...
- 软考下午题详解---uml图
在上篇博客中,小编主要简单的对软考下午题当中的数据流图设计进行了一系列总结,今天我们继续来看软考下午题当中大题部分,uml图的相关知识,在我们学习的过程中,我们也已经接触过,西安交大刘惠老师讲解过um ...
- 软考之路--从生活着手,看PV如何操作
PV操作,是软考当中一个很重要的考点,一听到这个名词,顿时赶脚高大上有么有,在软考的历年试题中,也不乏PV操作的身影,老师也对PV操作进行了一次讲课,那时年少,听得稀里糊涂,也不是很理解,在小编的理解 ...
- 软考之路--J2SE,从HelloWorld到传世代码
"Hello World"程序指的是只在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.hel ...
- 软考论文的六大应对策略V1.0
软考论文的六大应对策略V1.0 短短2个小时,要写3000字的文章,对习惯了用电脑敲字.办公的IT从业人员而言,难度不小.尤其,大家会提笔忘字.笔者的应试策略,就是勤学苦练,考试前的一个星期,摸清套路 ...
随机推荐
- Mac OS设置rootpassword
不知怎么忘记mac os系统的rootpassword了 方法一: 首先,启动机器,启动时按住Apple和S键,以单用户模式(single user mode)进入系统.输入:mount -uw / ...
- javascript创建类的6种方式
javascript创建类的7种方式 一 使用字面量创建 1.1 示例 var obj={}; 1.2 使用场景 比较适用于临时构建一个对象,且不关注该对象的类型,只用于临时封装一次数据,且不适合代码 ...
- Android开发按返回键应用后台运行
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE ...
- hdu1573-X问题
http://acm.hdu.edu.cn/showproblem.php?pid=1573 中国剩余定理 #include<iostream> #include<cstdio> ...
- 用"池"来提升对象的复用
对象池化是目前常用的一种系统优化的技术.通俗的说也就是一个对象不用多次的被实例化,来消耗性能,可以把这些常用的类放入一个池中,当需要的时候在去池里去拿去,不用的时候 在放入池中.可以叫做对象池.他可以 ...
- SVN的项目管理
基于SVN的项目管理——集中与分散 我们在此处不讨论 GIT 比 SVN 好多少,也不讨论 Maven 和 Gradle 哪个好用,基于现有的开发环境,大多数公司还是采用 SVN + Maven ...
- navicat for mysql 如何将表ID排序重1开始?
如果是自增字段,删除数据,他是根据原来的继续往后排的 1.你可以删除这个字段,重新建立个自增字段就可以了 2.好像也可以重新设置排序起始 alter table table_name AUTO_INC ...
- 浅谈Base64编码
浅谈Base64编码 我打赌当你见到Base64这个词的时候你会觉得在哪里见过,因为在你能够上网看到这篇文章的时候你已经在后台使用它了.如果您对二进制数有所了解,你就可以开始读它了. 打开一封Emai ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- python大文件迭代器的流式读取,之前一直使用readlines()对于大文件可以迅速充满内存,之前用法太野蛮暴力,要使用xreadlines或是直接是f,
#!/usr/bin/env python #encoding=utf-8 import codecs count =0L #for line in file("./search_click ...