计算机指令格式_计算机科学组织| 指令格式

计算机指令格式

指令格式 (Instruction format )

  1. Instruction format describes the internal structures (layout design) of the bits of an instruction, in terms of its constituent parts.

    指令格式按照指令的组成部分描述指令位的内部结构(布局设计)。

  2. An Instruction format must include an opcode, and address is dependent on an availability of particular operands.

    指令格式必须包含操作码,并且地址取决于特定操作数的可用性。

  3. The format can be implicit or explicit which will indicate the addressing mode for each operand.

    格式可以是隐式或显式的,这将指示每个操作数的寻址模式。

  4. Designing of an Instruction format is very complex. As we know a computer uses a variety of instructional. There are many designing issues which affect the instructional design, some of them are given are below:

    指令格式的设计非常复杂。 众所周知,计算机使用各种指令。 有许多影响教学设计的设计问题,下面列出其中一些:

    • Instruction length: It is a most basic issue of the format design. A longer will be the instruction it means more time is needed to fetch the instruction.指令长度:这是格式设计的最基本问题。 指令越长,则意味着需要更多的时间来提取指令。
    • Memory size: If larger memory range is to be addressed then more bits will be required in the address field.存储器大小:如果要寻址更大的存储器范围,则地址字段中将需要更多位。
    • Memory organization: If the system supports the virtual memory then memory range which needs to be addressed by the instruction, is larger than the physical memory.内存组织:如果系统支持虚拟内存,则该指令需要解决的内存范围大于物理内存。
    • Memory transfer length: Instruction length should be equal to the data bus length or it should be multiple of it.内存传输长度:指令长度应等于数据总线长度,或者应为数据总线长度的倍数。
  5. Instruction formats are classified into 5 types based on the type of the CPU organization. CPU organization is divided into three types based on the availability of the ALU operands, which are as follows here:

    根据CPU组织的类型, 指令格式分为5种类型。 根据ALU操作数的可用性,CPU的组织分为三种类型,如下所示:

1) STACK CPU

1)堆栈CPU

In this organization, ALU operands are performed only on a stack data. This means that both of the ALU operations are always required in the stack. The same stack is also used as the destination. In the stack, we can perform insert and deletion operation at only one end which is called as the top of a stack. So in this format, there is no need of address because in this TOS becomes the default location.

在这种组织中,仅对堆栈数据执行ALU操作数。 这意味着在堆栈中始终需要两个ALU操作。 相同的堆栈也用作目标。 在堆栈中,我们只能在称为堆栈顶部的一端执行插入和删除操作。 因此,以这种格式,不需要地址,因为在此TOS中,它成为默认位置。

Stack CPU

In this organization, only the ALU operands are zero address operation whereas data transfer instructions are not a zero address instruction. The computable instruction format of STACK CPU is Zero Address Instruction Format.

在这种组织中,只有ALU操作数是零地址操作,而数据传输指令不是零地址指令。 STACK CPU的可计算指令格式为零地址指令格式

Opcode

2) Accumulator CPU

2)累加器CPU

In this organization, one of the ALU operands is always present in the accumulator. The same accumulator is also used as the destination. Another ALU operand is present either in the register or in memory. In processor design, only one accumulator is present so it becomes the default location.

在这种组织中,累加器中始终存在一个ALU操作数。 同一累加器也用作目标。 寄存器或存储器中存在另一个ALU操作数。 在处理器设计中,仅存在一个累加器,因此它成为默认位置。

Accumulator CPU

The computable instruction format of Accumulator CPU is One Address Instruction Format.

累加器CPU的可计算指令格式为“ 一个地址指令格式”

opcode address

3) General Register CPU

3)通用寄存器CPU

Based on the number of the registers possible in the processors, the architecture is divided into two types:

根据处理器中可能存在的寄存器数量,该体系结构分为两种类型:

  1. Register-Memory references CPU

    寄存器存储器参考CPU

  2. Register-Register references CPU

    寄存器-寄存器引用CPU

i) Register-Memory Reference CPU

i)寄存器存储器参考CPU

In this architecture, processors support less number of registers. Therefore register file size is small. In this organization, the first ALU operand is always required in the register. The same register can also be used as the destination. The second ALU operand is present either in a register or in memory. The computable instruction format of the register to memory reference CPU is Two Address Instruction Format.

在这种体系结构中,处理器支持较少数量的寄存器。 因此,寄存器文件的大小很小。 在这种组织中,寄存器中始终需要第一个ALU操作数。 相同的寄存器也可用作目标。 第二个ALU操作数存在于寄存器或存储器中。 寄存器到存储器参考CPU的可计算指令格式为“ 两个地址指令格式”

opcode address 1, 2

ii) Register-Register Reference CPU

ii)寄存器-寄存器参考CPU

In this architecture, processors support number of registers, therefore, register file size is large. In this organization, ALU operands are performed only on a registers data that means both of the ALU operands are required in the register. Due to more number of register present in the CPU, the separate register is used to store the result. The computable instruction format of Register-Register Reference CPU is Three Address Instruction Format.

在这种体系结构中,处理器支持寄存器的数量,因此,寄存器文件的大小很大。 在这种组织中,仅对寄存器数据执行ALU操作数,这意味着寄存器中需要两个ALU操作数。 由于CPU中存在更多的寄存器,因此使用单独的寄存器存储结果。 寄存器-寄存器参考CPU的可计算指令格式为三地址指令格式。

opcode address 1, 2, 3

Four Address instruction format

四地址指令格式

This format contains the 4 different address fields with an opcode. Since PC is used as the mandatory register in the CPU design which is used to hold the next instruction address. So four instruction format is not in the use.

此格式包含4个不同的地址字段和一个操作码。 由于PC被用作CPU设计中的强制寄存器,用于保存下一条指令地址。 因此没有使用四种指令格式。

opcode address 1, 2, 3, 4

翻译自: https://www.includehelp.com/cso/instruction-format.aspx

计算机指令格式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ejs获取js变量值_EJS变量(注入值)

ejs获取js变量值Hi! Welcome to NODE AND EJS TEMPLATE ENGINE SERIES. Today, we will talk about EJS variables or how we can inject values? 嗨! 欢迎使用NODE和EJS模板引擎系列。 今天,我们将讨论EJS变量或如何注入值? Just like nor…

Visual Basic 9.0 前沿播报·静态篇(六)松弛委托和可为空类型语法增强

本期介绍的两个VB9作为数据开发辅助功能的新特性。CLR在.NET 2.0增加了许多关于委托的新特性(但大部分都不为任何语言所支持),其中一个叫做协变的特性允许放松委托与函数绑定时的签名检查(C# 2.0支持)。为了追求更高的…

3年前的小程序:破解需要delphi IDE 环境的vcl 控件

基本原理:有些vcl组件未注册的话,会显示没有注册的信息,但在设计期间不显示这些信息,表示该组件会检查delphi的ide 环境,解决办法就是让自己的exe带上ide的信息;组件检查ide的办法无非就是使用api查找特定的…

执行POP和PUSH指令后,SS和SP的变化

我们知道push指令是将数据送入栈中,pop指令是将数据从栈顶取出来,8086CPU的入栈和出栈操作都是以字为单位的 比如说将10000H-1000FH这段内存当做栈使用 CPU是通过CS、IP中存放的段地址和偏移地址来知道当前要执行的指令,通过DS和[address]来…

win7 php 上传文件,在LNMP原来的基础上,win7环境下如何上传PHP文件到Linux环境下...

首先,下载一个WINSCP客户端连接主机后,上传文件到自己的保存目录接着进入数据库添加我们的数据库mysql -uroot -p //这个是进入mysql的命令,但是要是你没有加 ln -s /usr/local/mysql/bin/mysql /usr/bin 的话就要输入下面那一行/usr/loc…

HDFC的完整形式是什么?

HDFC:住房发展金融公司 (HDFC: Housing Development Finance Corporation) HDFC is an abbreviation of Housing Development Finance Corporation. It is a well-known housing expansion finance corporation of India which largely makes available housing loa…

将10000H-1000FH这段空间当做栈,初始状态栈是空的,设置AX=001AH,BX=001BH,利用栈,交换AX和BX的数据

程序: mov ax,1000H mov ss,ax mov sp,0010H;设置AX和BX的值 mov ax,001AH mov bx,001BH;压栈 push ax push bx;出栈 pop ax pop bx解释: 在8086中,段寄存器不能直接传值,要通过一般寄存器,所以先将值传到ax中&#x…

php having,having方法

having方法1、对分组统计的结果,进行筛选如果将分分组查询的结果看成一张表的话,having方法类似where语句的功能2、源码:/thinkphp/library/think/db/Query.php/*** 指定having查询* access public* param string $having having* return $th…

Linux:jumpserver介绍(1)

官方网站 JumpServer - 开源堡垒机 - 官网https://www.jumpserver.org/ JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产,实现事前授权、事中监察、事后审计&…

对一个简单汇编程序分析

程序: assume cs:codesgcodesg segmentmov ax,0123Hmov bx,0456Hadd ax,bxadd ax,axmov ax,4c00Hint 21Hcodesg endsend伪指令: 伪指令是写给编译器看的,CPU不会执行,在源程序中,包括两种指令,一个是…

劈尖等厚干涉条纹matlab,劈尖等厚干涉实验中,k=0级的干涉条纹是条纹,与k级暗条纹对应的空气薄膜的厚度为...

劈尖等厚干涉实验中,k0级的干涉条纹是条纹,与k级暗条纹对应的空气薄膜的厚度为答:暗,kλ/2spampython 编程\nprint(spam[-6:-4])是否报错?(是:则填写报错原因,否:则填写输出结果)答&…

使用OpenCV python模块读取图像并将其另存为灰度系统

In Python, we can use an OpenCV library named cv2. Python does not come with cv2, so we need to install it separately. 在Python中,我们可以使用名为cv2的OpenCV库 。 Python没有随附cv2 ,因此我们需要单独安装它。 For Windows: 对于Windows&a…

A4Desk 网站破解

A4Desk是一个不错的Flash站点建站工具,不过生成的swf文件很不爽,主要是1、单击3次就会显示注册对话框;2、会在网站上显示Demo 字样。 如果希望去掉这些信息,按如下步骤操作即可: 一、用A4Desk建立站点并导出。 二、用S…

and和or指令

and指令:逻辑与指令,按位进行与运算 mov al,01100011B and al,00111011B执行后al00100011B,两个为1才为1,所以通过该指令可将操作数对象的相应位设为0,其他位不变 or指令:逻辑或指令,按位进行…

php 上传多个txt文件上传,一个多文件上传的例子(原创)

一个多文件上传的例子(原创)更新时间&#xff1a;2006年10月09日 00:00:00 作者&#xff1a;//filename:multi_upload.phpif($ifupload){$pathAddSlashes(dirname($PATH_TRANSLATED))."\\upload\\";for($i1;$i<8;$i){$files"afile".$i;if(${$files}!&…

DI和SI

si和di是8086CPU中和bx功能相近的寄存器&#xff0c;di和si不能分成两个8位寄存器来使用。下面的3组指令实现了相同的功能&#xff1a; mov bx,0 mov ax,[bx]mov si,0 mov ax,[si]mov di,0 mov ax,[di]我们遇到si和di时&#xff0c;就往bx上靠&#xff0c;基本上bx什么功能di和…

无线智能路由器家长控制宽带

家长对控制孩子的上网问题颇为头痛&#xff0c;其实只要方法用对&#xff0c;控制孩子上网是完全没有问题的。我总结了三条供家长们分享。 6-16岁的孩子正是学习知识&#xff0c;塑造性格最佳时期&#xff0c;辨别事物也最为薄弱。要想控制孩子上网&#xff0c;首先要在思想上引…

求职新玩法:如今用MSN也可以求职

今天在Donews上看到一篇文章说到利用MSN求职&#xff0c;在你的MSN中添加联系人job01hr.com&#xff0c;然后向该联系人发送消息&#xff0c;比如输入&#xff1a;北京 .NET&#xff0c;对方会提示给你搜索到多少项符合的记录&#xff0c;同时还提供命令行帮助你&#xff1a;/h…

BX、DI、SI、BP总结

在8086CPU中&#xff0c;只有这四个寄存器可以放在[…]内来进行内存单元的寻址 下面的指令是错误的 mov ax ,[cx] mov ax,[ax] mov ax,[dx]在[…]中&#xff0c;bx和bp不能同时出现&#xff0c;si和di不能同时出现 比如下面的指令是错误的 mov ax,[bxbp] mov ax,[sidi]在[…]…

缓存应用--Memcached分布式缓存简介(二)

1 命令行查看状态 很多时候我们需要去查看Memcached 的使用状态&#xff0c;比如Memcached 的运行时间&#xff0c;使用状态等等。在Windows系统中我们可以使用telnet 命令来查看Memcached 的相关运行情况。 开始—>运行cmd 运行得到如下&#xff1a; 输入telnet命令&#x…