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

计算机指令格式

指令格式 (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,一经查实,立即删除!

相关文章

对JSON的一点认识和理解以及JQuery处理JSON

JSON(JavaScript Object Notation)javscript对象标记,是一种轻量级的数据交换格式。具体的详细基础知识可以参考JSON官网http:/www.json.org/。 不说太多废话,直接说说我对JSON的理解吧。 一、JSON的一些基础知识。 JSON中对象通过“{}”来标识&#xff…

网络硬盘

不知道自己确切从何时对各种IT玩意儿开始极其关注的,我以前不是这样,至少在大学时不是这样,虽然是学计算机的。但现在总是喜欢尝试这些东西,今天试了试Mofile,一个网络硬盘,看起来不错的样子,且…

SUB指令

形式: SUB dest, source功能: 从目的操作数中减去源操作数 .data var1 DWORD 30000h var2 DWORD 10000h .code mov eax,var1 ;EAX 30000h sub eax,var2 ;EAX 20000h几种形式: sub 寄存器,数据 比…

php 查看 实例 的方法,php – 从Laravel 5.1中的通用数据库查询中获取Eloquent模型的实例...

我有不同关系的模型.假设我的Entry模型属于供应商,所以通常我的模型文件中有一个supplier()方法.到目前为止一切都那么好,当我有一些像Entry :: find(1) – >供应商这样的产品时,效果非常好.然而,什么是无效的是当我从Laravel中的通用DB ::查询中获取条目时,我显然无法访问s…

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…

POP和PUSH指令

PUSH指令: 首先减少 ESP 的值,再将源操作数复制到堆栈。操作数是 16 位的,则 ESP 减 2,操作数是 32 位的,则 ESP 减 4。PUSH 指令有 3 种格式: PUSH reg/mem16 PUSH reg/mem32 PUSH inm32POP指令&#xff…

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

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

android_Text

....转载于:https://www.cnblogs.com/dwpcny/archive/2011/03/30/2000239.html

scala 函数调用_在Scala中按名称调用函数

scala 函数调用函数按名称调用 (Functions call by name ) By default, the method of parameter passing in a programming language is "call by value". In this, the parameter is passed to a function which makes a copy of them an operates on them. In Sca…

电脑PHP漏洞啥意思,PHP漏洞详解

几个重要的php.ini选项Register Globalsphp>4.2.0,php.ini的register_globals选项的默认值预设为Off,当register_globals的设定为On时,程序可以接收来自服务器的各种环境变量,包括表单提交的变量,而且由于PHP不必事先初始化变量的值,从而导致很大的安全隐患.例1://check_adm…

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]来…

python 文件遍历

1. import os,sys r raw_input(“type a directory name”) for root, dirs, files in os.walk(r): for f in files: print root, os.sep, f;2. import os,sys def walkdir(dirname): try: ls os.listdir(dirname) except: print ‘access deny’ else: for l in ls: temp o…

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…

利用WM_CTLCOLOR消息实现编辑控制(Edit Control)的文本与背景色的改变

(Abbey发表于2004-2-1 1:48:45)首先要明白:WM_CTLCOLOR是一个由控制(Control)发送给它父窗口的通知消息(Notification message)。实现步骤:生成一个标准的单文档应用程序框架,假设应用程序的名称为Color。我将利用它的About对话框做示范。在A…

fckeditor文件管理器添加查看、修改、删除文件功能[php]修正下载地址

2009年8月25日 由于PHP存在中文目录读取问题,将延期发布。2009年9月3日 正式发布:查看、修改、删除文件功能的fckeditor 2.6.4.1相关图片请查看:http://home.blueidea.com/attachment/200909/1/336696_1251813604S01b.gif相关其它&#xff1a…

php having,having方法

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

合并排序算法排序过程_合并排序| 用于大型输入的最佳排序算法之一

合并排序算法排序过程What is sorting? 什么是分类? Sorting allows us to process our data in a more organized and efficient way. It makes searching easy as it will now take less time to search for a specific value in a given sorted sequence with …