我从几个不同的方面分别说一下,不知是否能帮你解惑,找到你所需要的答案。
第一,从历史上看,在人类最初发明的计算机上,第一个运行的程序只能是用机器语言直接编写的。
汇编程序,指的是将用汇编语言编写的源程序翻译成机器语言程序的一种翻译程序。
汇编语言是一种需要通过汇编程序翻译的编程语言,用它编写的程序必须要运行翻译程序翻译以后才能变成可以运行的机器银颤段语言程序。所以,用汇编语言编写的程序不是第一个可以在硬件上运行的程序。洞培
第二,从计算机的系统结构看:
1. 硬件处于最底层。
2. 硬件之上的就是 *** 作系统。
3. 应用软件运行在 *** 作系统之上,通过 *** 作系统使用硬件资源。
计算机上运行的一切程序,都是机器语言程序。包括 *** 作系统和所有的应用软件。
这些机器语言的程序,一般都不是直接用机器语言编写的,而是用各种或高级或低级的程序设计语言(包括汇编语言、C语言等)编写后通过翻译程序翻译成机器语言程序,然后再在硬件上运行的。
第三,从计算机系统启动过程的顺序看:
计算机开机,先从ROM里的引导程序开始启动,经过自检后开始进入硬盘 *** 作系统引导,直到 *** 作系统启动完成。
启动完成后, *** 作系统直接控制硬件资源,成为用户和用户程序与硬件之间的媒介。
ROM里的引导程序在进入 *** 作系统引导时就已经完成了它的使命,结束退出了。它不会停留在系统中,不是 *** 作系统与硬件之间的媒介。
ROM里的引导程序, *** 作系统,都是程序,可以用各种程序设计语言编写。
这些程序中有一部分直接访问硬件的代码需要用汇编语言编写,而大部分是用高级语言编写的。
第四,说一下PC机主板ROM中的程序
计算机主板上的ROM中,储存着三样东西。
1. 上电自检程序(POST),用于刚开机时对硬件进行检测。每次开机先运行它,检测结束就退出。
2. POST完成以后,开始运行ROM引导程序(ROM BOOT),用于查找启动设备(硬盘、光盘、U盘或软盘等),找到并验证无误后,装入相应设备上的引导程序(比如硬盘的主引导程序MBR),然后将控制交给设备上的系统引导程序,它自身也就结束退出了。
3. ROM基本输入输出系统(ROM BIOS)。它不是一个有具体任务、需要专门执行一遍的程序,而是类似于一组公用的函数库,由很多不同的功能调用组成。当任何一个程序需要使用它的某一项功能时,可以调用这些现成的代码,在编程时可以不再重复编写这些代码,省事。实际上,ROM BIOS都是16位的代码,除了在DOS下有用以锋誉外,在32位或64位的Windows系统中是用不到的,它只在启动初期的POST和ROM BOOT时用到。
软件把指令翻译成0和1两种信号来控制硬件上的二极管工作。用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。
现代的数字电路由半导体工艺制成的若干数字集成器件构造而成。逻辑门是数字逻辑电路的基本单元。存储器是用来存储二值数据的数字电路。从历肆段整体上看雹雹,数字电路可以分为组合逻辑电路和时序逻辑电路两大类。
软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的肢誉重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须全局考虑软件与硬件的结合,以及用户的要求和软件的要求。
就目前,一般来说没有改变电路,CPU中有个叫运算器的核心组件,给定 *** 作数和 *** 作码(都是二进制的一串数)就会得到对应的输出,走得都是一套电路,但这套电路和家里电灯用的电路不太一样册宏,是逻辑电路。逻辑电路就是有一些NB开关的电路,这些开关叫“逻辑门”,比如“与门”这个开关有三根线A,B,O,只有A,B上都有点O才有电。就是用许许多多这些个NB的开关组成的阵列就让CPU会做加法和乘除法了,程序员再用州亩册这些加减乘除拼出更NB一点的功能。
不过确实有能改变电路(逻辑电路)的程序,不过这写程序是为可编程芯片设计耐困的。
现在也有可以真正的在程序运行中改变电路的硬件,不过使用的还不是很广泛。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)