计算机低级语言是怎样用轶件语言指挥硬件工作的

计算机低级语言的软、硬件都是┅种排列组合的艺术与中国古代《易经》中的八卦思想同理。

硬件:是晶体管逻辑门的排列组合包括由逻辑开关组合的加法器和记忆電路,基本逻辑门可以组合成简单的加法器加法器可以组合成复杂的逻辑模块,并可以逐级组合每一个模块都可以完成一些基本的操莋,这些操作用0(——)、1(一)描述就是指令全部模块便可以对应一个指令集;

软件:是基本指令或语句的组合,一个指令序列就是一个程序

从这个意义上理解,硬件可以理解为基本模块的硬组合(固定连线)程序可以理解为基本模块的软组合(动态连线),这也是在现在計算机低级语言系统中软、硬件的界限模糊的原因所在。

计算机低级语言硬件的基本模块虽然只能完成简单的操作但是其速度非常快,1秒可以完成上亿次的操作对一些机械重复性的操作特别有优势。另外构成计算机低级语言基本单元的逻辑开关晶体管可以做到特别尛,一个指甲大的芯片可以集成上亿个晶体管5nm技术可达300亿个。

所有装有CPU芯片的机器都有一张操作命令清单即指令集让你可以控制它。囿时这个清单非常简短如电水壶就只允许两种操作:打开和关闭;CD播放器稍微复杂点,除了打开和关闭以外还能调节音量、播放、暂停、快进、快退、随机播放等。计算机低级语言和其他机器一样也有一张操作命令清单。比如可以命令计算机低级语言把两个数相加。这种操作命令的总和就是计算机低级语言的机器语言直接面对机器,无须任何解释可以直接执行。

如果计算机低级语言再安装一个操作系统不但方便和简化计算机低级语言的操作,还可以完成更复杂的任务编程也可以调用操作系统的资源。

根据冯·诺依曼的内部存储程序概念,不管是指令、还是由指令处理的数据都保存到计算机低级语言的存储体系中同等对等。如1001可以是一个数字,也可以是一個指令或代表一个字符(到于具体代表什么,需要根据指令规范或计算机低级语言语言规范去在上下文中理解)

一个程序(指令序列)运行时,全部的指令序列代码存储在内存的代码区全部指令都有地址对应;指令序列中定义的数据(或数据结构)存储在内存的数据區中,同样有地址对应不管是指令,还是指令中定义的数据都可以通过地址码被访问到。

在计算机低级语言系统中指令集中的具体操作功能主要是由CPU的运算器去完成;对指令和和数据的存储,由存储器或寄存器去完成对指令的和数据的调取、对指令的解释,则由控淛器去完成

计算机低级语言系统(软硬件大厦)的各个层次的基本特点可以概括为:

硬件:运算器在控制器的调度下操作存储器(主存戓寄存器)中的数据;

机器语言:用操作码处理地址码;

汇编语言:用操作符号处理变量名字;

高级语言:用语句处理各种数据结构;

操莋系统:用系统命令处理文件;

计算机低级语言是数据处理的机器,具体的处理是由控制器调度和解释操作码、或操作符号、或语句、或系统命令由运算器具体操作。处理的对象就是数据可以是表示数据的地址码、或变量名字、或数据结构、或文件。对比到工厂的产品加工就如同加工的具体动作、步骤、工艺、加工的对象,或是零件、或是物料

写程序也叫编代码,用什么语言编呢用机器语言编的01串,机器可以直接运行运行效率高,但编写和维护都很困难有人想到,如果保留机器指令的结构用便于记忆和理解的符号和名字(芓母和10进制数字组成的字符串),去一一对应操作码和地址写好后再通过查指令清单去转换为01串,肯定要易于编写和维护至于如何查找和转换,其实这正是计算机低级语言所擅长的编写一个这样的转换程序即可,这种思想下的语言就是汇编语言转换程序就是汇编器(汇编语言操作符号的字符串与机器语言操作码的01串是一一对应的关系)。更进一步用更抽象更接近自然语言的语句和数据结构来描述操作符号和变量名字,就是高级语言和编译器(或解释器)

三种语言对指令序列的描述,可以对比一下:

计算机低级语言的神奇之处在於运算速度特别快特别擅长作机械重复性的工作。具体到语言同样的,通过跳转或控制结构也可以实现代码的循环运行,实现重复操作也就是说,假设要实现从1到10000连加不需要编写10000行代码,只需要通过跳转或控制结构通过定义一个变量,就是对应一个内存单元的數据让这一行或少数几行代码重复执行10000次即可。如汇编语言的JMP、Basic语言的goto、C语言的for或while等循环结构都可以实现这种跳转当然也可以实现按條件选择执行部分代码,实现分支结构

1 、机器语言:用操作码处理地址码的语言。

计算机低级语言的指令集是厂家编写的一份描述CPU芯爿,可完成的一些基本操作的清单编程人员可以依据这份清单来编写程序,组织一个指令序列

指令集的指令从功能上一般可以区分为:算术运算、逻辑运算、代码传送、控制指令、停机等。

每条指令都由操作码(即具体动作)和地址码(即指向具体数据)组成每条指令中無论是数据还是操作码,全部都是0和1的串对应逻辑开关的开与关。由指令序列构成的每个程序也全部都是0和1。

机器语言:是机器指令嘚一个列表其中的每个指令都能直接被处理器理解。它也可以理解成机器指令的一个执行序列

2 汇编语言:用操作符号处理变量名字的語言。

汇编语言是一种用于电子计算机低级语言、微处理器、微控制器或其他可编程器件的低级语言亦称为符号语言。在汇编语言中鼡助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址在不同的设备中,汇编语言对应着不同的机器语言指令集通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植

3 高级语言:用语句處理各种数据结构语音语言;

由于汇编语言依赖于硬件体系,且助记符量大而且难记于是人们又发明了更加易用的所谓高级语言。在这種语言下其语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作使得一般人经过学习之后都可以编程。

高级语言主要昰相对于汇编语言而言的它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统用人们更易理解的方式编写程序。编写嘚程序称之为源程序

高级语言并不是特指的某一种具体的语言,而是包括很多编程语言如流行的java,cc++,C#pascal,pythonlisp,prologFoxPro,易语言中文版嘚C语言习语言等等,这些语言的语法、命令格式都不相同根据不同的抽象方式,还可以分为命令式语言、函数式语言、逻辑式语言、面姠对象语言等

不论何种高级语言,都有一些共同的指导思想任何数据处理任务都应当分解成可以适当重复进行的许多过程,例如函数囷子程序程序中可以有平铺直叙的“串行模块”,反复执行的“循环模块”以及根据情况判断下一步往何处去的“分支模块”。使用這三种模块便可实现任何数据处理这就是所谓的“结构化程序设计”。在POP程序中数据结构都是具体的,形式上没有规定各个过程(对數据结构的操作)和数据结构的关系这种“自由度”反而使程序的运行方式变得相当不自由。运行一个POP程序基本上就是按事先设计好嘚顺序,依次调用各个过程过程的调用顺序可以在运行中做适当改动,但这都要预先在程序中设计好采用判断或“中断”的方式实现。程序员或用户不能灵机一动就在运行中随意改变各个过程的组织方式。

20世纪80年代出现了一套新的程序设计思想,即“面向对象的程序设计”即OOP,它的基本思想是数据结构抽象化在定义数据结构时,就要做好两方面的规定一是数据结构的性质、状态或属性;二是規定在此数据结构上允许实现的操作,凡是没有事先规定的操作以后都不许使用这样的数据结构称为一个对象或一个“类”。对象是带囿操作(方法或事件)的数据结构或者说由操作刻画的数据结构。从形式上看数据结构和操作的关系不自由了。然而这些对象是抽潒地定义的,运行中可以随时形成新的、同类的数据结构这样一来,就有了相当自由的程序运行环境程序设计就是分别定义各种对象,把对象在调度程序中进行登记而程序的运行就是动态地激活和调用各种对象。对象的调用顺序和同时激活的对象数目都是相当自由的

4 、操作系统:用系统命令处理文件。

操作系统(简称OS)是管理和控制计算机低级语言硬件与软件资源的计算机低级语言程序是直接运荇在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行

操作系统是用户和计算机低级语言的接口桥梁,同时也是计算机低级语言硬件和其他软件的接口桥梁操作系统的功能包括管理计算机低级语言系统的硬件、软件及数据资源,控制程序运行改善人机界面,为其它应用软件提供支持让计算机低级语言系统所有资源最大限度地发挥作用,提供各种形式的用户界面使鼡户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等实际上,用户是不用接触操作系统的操作系统管理着计算机低级语言硬件资源,同时按照应用程序的资源请求分配资源,如:划分CPU时间内存空间的开辟,调用打印机等

一个用户或编程人員如果面对一台没有操作系统的裸机,会是一个什么样的情况呢一是计算机低级语言的资源不会得到充分利用;二是计算机低级语言很難操作;三是编程也会变更异常困难。就像一人去了一个没有基础设施的城市生活寸步难行。

首先从资源的角度去理解从时间看,一囼计算机低级语言系统至少涉及三类相差悬殊的处理速度主机的节拍每秒可以执行上亿的指令,而带有电动机、继电器等电机械成分的外部设备1秒只能完成上千次动作,而人呢速度更慢了。从空间来看计算机低级语言有大量主存和外部设备,一般一个应用只占这些資源很小的一部分如果一次只有一个应用运行,则从空间和时间来说都是资源很大的一个浪费。

因此操作系统便应运而生了,操作系统对计算机低级语言资源和用户作业的调度管理是重要的是“文件”概念。首先有一大批供一切用户共享的“系统文件”,其中包括操作系统本身和各种语言的编译、解释程序以及产生和修改文件用的编辑程序、连接程序等。还有用户在工作过程中逐步建立和积累嘚“用户文件”同时,文件也并不限于文字或编码的信息有些外部设备也可以当作“文件”看待。例如键盘是一种“只读文件”,咑印机则是“只写文件”

文件的生成、修改、编辑、合并、删除和目录管理是操作系统最重要的功能之一。用户众多或文件成堆时还必須实行分层次的管理允许建立和取消各级“子目录”,这些都是文件管理系统的任务

输入和输出设备的管理是操作系统的另一项重要任务。用户所有的输入输出操作都只能是向操作系统提出申请,由操作系统做出排队处理的安排

还有实时操作系统的时钟管理、通信囷网络管理、提供程序调试手段、窗口管理、虚拟存储管理、提供“中断”服务,以及作业和“进程”的排队调度等

当然,还可以用操莋系统命令编写脚本然后把脚本名字当成新的操作系统命令一样使用。

c语言,c语言入门,自学c语言,c语言小游戲编程,c,c语言编程软件,c语言教程,c语言程序设计,c语言入门经典,c语言编译器

我要回帖

更多关于 计算机低级语言 的文章

 

随机推荐