程序,命令和指令有何区别

程序,命令和指令有何区别,第1张

计算机程序或者软件程序(通常简称程序)是指一组指示计算机或其他具有信息处理能力装置每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语的人(体系结构)来做这个菜。 通常,计算机程序要经过编译和链接而成为一种人们不易看清而计算机可解读的格式,然后运行。未经编译就可运行的程序通常称之为脚本程序程序的运行为了一个程序运行,计算机加载程序代码,可能还要加载数据,从而初始化成一个开始状态,然后调用某种启动机制。在最低层上,这些是由一个引导序列开始的。

在大多数计算机中, *** 作系统例如Windows等,加载并且执行很多程序。在这种情况下,一个计算机程序是指一个单独的可执行的映射,而不是当前在这个计算机上运行的全部程序。

冯诺依曼体系结构

在一台基于最常见的冯诺依曼体系结构(又称Harvard Architecture)的计算机上,程序从某种外部设备,通常是硬盘,被加载到计算机之内。 如果计算机选择冯诺依曼体系结构,那么程序就被加载入内存。 指令序列顺序执行,直到一条跳转或转移指令被执行,或者一个中断出现。所有这些指令都会改变指令寄存器的内容。

基于这种体系计算机如果没有程序的支持将无法工作。一个计算机程序是一系列指令的集合。

程序里的指令都是基于机器语言;程序通常首先用一种计算机程序设计语言编写,然后用编译程序或者解释执行程序翻译成机器语言。 有时,也可以用程序和数据程序已经被定义了。如何定义数据呢?数据可以被定义为被程序处理的信息。当我们考虑到整个计算机系统时,有时程序和数据的区别就不是那么明显了。中央处理器有时有一组微指令控制硬件,数据可以是一个有待执行的程序(参见脚本编程语言),程序可以编写成去编写其它的程序;所有这些例子都使程序和数据的比较成为一种视角的选择。有人甚至断言程序和数据没有区别。

编写一个程序去生成另外一个程序的过程被称之为原编程(Metaprogramming)。它可以被应用于让程序根据给定数据生成代码。单一一个程序可能不足以表示给定数据的所有方面。让一个程序去分析这个数据并生成新的程序去处理数据所有的方面可能会容易一些。Lisp就是一例支持这种编程模式的程序语言。

算法算法指解决某个问题的严格方法,通常还需辅以某种程度上的运行性能分析。算法可以是纯理论的,也可以由一个计算机程序实现。理论算法通常根据复杂性分为不同类别;实现的算法通常经过颇析(Profiling)以测试其性能。请注意虽然一个算法在理论上有效可行,但是一个糟糕的实现仍会浪费宝贵的计算机资源。(更详细信息,参见算法信息论,Algorithmic Information Theory)开发编写程序是以下步骤的一个往复过程:编写新的源代码,测试、分析和提高新编写的代码以找出语法和语义错误。从事这种工作的人叫做程序设计员。由于计算机的飞速发展,编程的要求和种类也日趋多样,由此产生了不同种类的程序设计员,每一种都有更细致的分工和任务。软件工程师和系统分析员就是两个例子。现在,编程的长时间过程被称之为“软件开发”或者软件工程。后者也由于这一学科的日益成熟而逐渐流行。

因此,如今程序设计员可以指某一领域的编程专家,也可以泛指软件公司里编写一个复杂软件系统里某一块的一般程序员。一组为某一软件公司工作的程序员有时会被指定一个程序组长或者项目经理,用以监督项目进度和完成日期。大型软件通常经历由系统设计师的掌握的一个长时间的设计阶段,然后才交付给开发人员。牛仔式的编程(未经详细设计)是不为人所齿的。

两种当今常见的程序开发方式之一是项目组开发方式。使用这种方式项目组里每一个成员都能对项目的进行发表意见,而由其中的某一个人协调不同意见。这样的项目组通常有15个左右的成员,这样做是为了便于管理。第二种开发方式是结对开发。

在计算机科学中,“指令”是由指令集构架定义的单个的CPU *** 作。在更广泛的意义上,“指令”可以是任何可执行程序的元素的表述,例如字节码。

在传统的构架上,指令包括一个 *** 作码(opcode)--它指定了要进行什么样的 *** 作,例如“将存储器中的内容与寄存器中的内容相加”--和零个或者更多的 *** 作数(operand)--它可能指定了参与 *** 作的寄存器、内存地址或者立即数(literal data)。 *** 作数可能还包括寻址方式,它确定了 *** 作数的含义。(原文:The operand specifiers may have addressing modes determining their meaning or may be in fixed fields--译者)

在超常指令字(VLIW)构架中(包括很多微指令(microcode)构架)多个并发的 *** 作和 *** 作数在一条单独的指令中被指定。

指令的长度相差悬殊,从一些微控制器(microcontroller)中的4位(bit)到一些超长指令字系统中的几百位。大部分现代的个人计算机、大型计算机、超大型计算机中的处理器的指令尺寸在16到64位之间。在一些构架中,特别是RISC构架中,指令长度是固定的,通常与其构架的字长一致。在其他的构架中,指令有不同的长度,但通常是字节或者半个字的整数倍。

构成程序的指令很少以它在机器内部的数值形式而直接的被使用;它们可以被程序员通过汇编语言加以表示,或者,更常见的,被编译器生成。

指令,是CPU硬件设计时确定的、能够完成特定 *** 作的二进制格式的代码。

指令系统,是某类CPU所能执行的所有指令的总和。

程序,是完成特定任务的多条指令构成的指令序列。

机器语言,是一种编程语言,它直接用二进制指令格式编写或构造程序。

汇编语言,是一种编程语言,它将机器指令用易于理解和记忆的单词或单词缩写符号来描述,用它写出的程序需要翻译成机器语言程序后才能运行,不过翻译非常非常简单。

不知你问的是哪方面的?

指令,就是命令,指令分定向和非定向二种,定向是指令的属性,二者没有可比性。

打个比方,上级让你去买可乐,去哪儿买没有要求,你可以随便买,这就是指令性非定向。

如果必须要李四店里买,那就是指令性定向。

计算机的程序是有一系列的机器指令组成的,

而指令就是要计算机执行某种 *** 作的命令。

程序=算法+数据结构+程序设计方法+语言工具和环境

计算机软件(Computer Software)是指计算机系统中的程序、数据及其文档。

指令是指示计算机执行某种 *** 作的命令,它由一串二进制数码组成,告诉计算机从事某一特殊运算的代码 数据传送指令、算术运算指令、位运算指令、程序流程控制指令、串 *** 作指令、处理器控制指令。

程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列(指令)的集合。

软件(英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合,程序设计的最终结果是软件。

软件 = 程序+文档 = 数据结构+算法+文档。

打个比方,软件是一件衣服,那程序就是材料。软件是由许多能实现某些固定任务的程序的集合。也就是说,软件是由许许多多的程序组合而成的。程序是由编程人员通过某种编程语言,编写出来能实现某些固定任务的代码。

可这么说,编程人员能过 通过C语言或其他某种语言,编写出一些能实现任务某些固定任务的函数,再把这些函数集合起来,通过编译程序编成软件,也就是我们通常在电脑上用的各种软件了。

软件和系统的关系:应用程序是软件, *** 作系统也是软件。cpu会将他们一视同仁,甚至,cpu不知道自己在执行的程序是 *** 作系统还是一般应用软件,cpu只知道去寄存器中指向的内存取指令并执行,它不知道什么是 *** 作系统,也无须知道。

*** 作系统是人想出来的,为了让自己管理计算机方便而创造出来的一套管理办法。应用程序要用某种语言编写,而语言又是编译器来提供的。其实根本就没有什么语言,有的只是编译器。是编译器决定怎样解释某种关键字及某种语法。

语言只是编译器和大家的约定,只要写入这样的代码,编译器便将其翻译成某种机器指令,翻译成什么样取决于编译器的行为,和语言无关,比如说c语言的printf函数,它的功能不是说一定要把字符打印到屏幕上,这要看编译器对这种关键字的处理。

以上就是关于程序,命令和指令有何区别全部的内容,包括:程序,命令和指令有何区别、指令,指令系统,程序,机器语言,汇编语言之间有什么关系、指令和程序有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10104165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存