机器语言

程序员需要了解的硬核知识之CPU

有些话、适合烂在心里 提交于 2019-12-01 18:50:02
大家都是程序员,大家都是和计算机打交道的程序员,大家都是和计算机中软件硬件打交道的程序员,大家都是和 CPU 打交道的程序员,所以,不管你是玩儿硬件的还是做软件的,你的世界都少不了计算机最核心的 - CPU CPU是什么 CPU 的全称是 Central Processing Unit ,它是你的电脑中最 硬核 的组件,这种说法一点不为过。CPU 是能够让你的计算机叫 计算机 的核心组件,但是它却不能代表你的电脑,CPU 与计算机的关系就相当于大脑和人的关系。它是一种小型的计算机芯片,它嵌入在台式机、笔记本电脑或者平板电脑的主板上。通过在单个计算机芯片上放置数十亿个微型晶体管来构建 CPU。 这些晶体管使它能够执行运行存储在系统内存中的程序所需的计算,也就是说 CPU 决定了你电脑的计算能力。 CPU 实际做什么 CPU 的核心是从程序或应用程序获取指令并执行计算。此过程可以分为三个关键阶段: 提取,解码和执行 。CPU从系统的 RAM 中提取指令,然后解码该指令的实际内容,然后再由 CPU 的相关部分执行该指令。 RAM : 随机存取存储器(英语:Random Access Memory,缩写: RAM ),也叫主存,是与 CPU 直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的 临时数据存储介质 CPU 的内部结构

程序员需要了解的硬核知识之CPU

柔情痞子 提交于 2019-12-01 18:46:47
大家都是程序员,大家都是和计算机打交道的程序员,大家都是和计算机中软件硬件打交道的程序员,大家都是和 CPU 打交道的程序员,所以,不管你是玩儿硬件的还是做软件的,你的世界都少不了计算机最核心的 - CPU CPU是什么 CPU 的全称是 Central Processing Unit ,它是你的电脑中最 硬核 的组件,这种说法一点不为过。CPU 是能够让你的计算机叫 计算机 的核心组件,但是它却不能代表你的电脑,CPU 与计算机的关系就相当于大脑和人的关系。它是一种小型的计算机芯片,它嵌入在台式机、笔记本电脑或者平板电脑的主板上。通过在单个计算机芯片上放置数十亿个微型晶体管来构建 CPU。 这些晶体管使它能够执行运行存储在系统内存中的程序所需的计算,也就是说 CPU 决定了你电脑的计算能力。 CPU 实际做什么 CPU 的核心是从程序或应用程序获取指令并执行计算。此过程可以分为三个关键阶段: 提取,解码和执行 。CPU从系统的 RAM 中提取指令,然后解码该指令的实际内容,然后再由 CPU 的相关部分执行该指令。 RAM : 随机存取存储器(英语:Random Access Memory,缩写: RAM ),也叫主存,是与 CPU 直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的 临时数据存储介质 CPU 的内部结构

程序员需要了解的硬核知识之CPU

柔情痞子 提交于 2019-12-01 18:45:39
大家都是程序员,大家都是和计算机打交道的程序员,大家都是和计算机中软件硬件打交道的程序员,大家都是和 CPU 打交道的程序员,所以,不管你是玩儿硬件的还是做软件的,你的世界都少不了计算机最核心的 - CPU CPU是什么 CPU 的全称是 Central Processing Unit ,它是你的电脑中最 硬核 的组件,这种说法一点不为过。CPU 是能够让你的计算机叫 计算机 的核心组件,但是它却不能代表你的电脑,CPU 与计算机的关系就相当于大脑和人的关系。它是一种小型的计算机芯片,它嵌入在台式机、笔记本电脑或者平板电脑的主板上。通过在单个计算机芯片上放置数十亿个微型晶体管来构建 CPU。 这些晶体管使它能够执行运行存储在系统内存中的程序所需的计算,也就是说 CPU 决定了你电脑的计算能力。 CPU 实际做什么 CPU 的核心是从程序或应用程序获取指令并执行计算。此过程可以分为三个关键阶段: 提取,解码和执行 。CPU从系统的 RAM 中提取指令,然后解码该指令的实际内容,然后再由 CPU 的相关部分执行该指令。 RAM : 随机存取存储器(英语:Random Access Memory,缩写: RAM ),也叫主存,是与 CPU 直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的 临时数据存储介质 CPU 的内部结构

计算机基础之编程语言

只愿长相守 提交于 2019-12-01 17:37:54
编程语言分类 一、机器语言 只要谈到计算机基础,有一个东西是我们无法避免的,那就是编程到底是什么? 现在想象这样一个场景,如果奴隶来自不同的国家,作为尊贵而又穷逼买不起管家的奴隶主的我们则需要和奴隶有一定的沟通才能控制奴隶。 如果把奴隶换成计算机,由于计算机以二进制的形式存储数据的,如果我们想要奴役计算机,则需要使用二进制编写程序。也就是说,如果我们需要和计算机沟通,那我们必须得会二进制代码编程。而这个二进制编码则是使用机器语言编程,直接操作硬件。它的优缺点如下: 优点:执行效率高(还能再快吗?不能了。) 缺点:开发的效率低 1.1机器语言编程 由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成了计算机的机器语言,用机器语言编程的程序陈伟目标程序。只有目标程序才能被计算机直接识别和执行。但是机器语言编程的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性大,机器语言属于低级语言。 用机器语言编写程序,编程人员要首先熟记所使用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一条数据的存储分配和输入输出,还得记住编程过程中每步所用的工作单元处在何种状态。这是一件十分繁琐的工作。编写程序花费的时间往往是十几运行时间的几十倍或几百倍。而且,编程的程序全部是0和1的指令代码,直观性差,还容易出错

2 编程语言

£可爱£侵袭症+ 提交于 2019-12-01 04:55:28
编程语言 ​ 编程语言(英语:programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 编程语言的分类 机器语言 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。不同种类的计算机其机器语言是不相通的,按某种计算机的机器指令编制的程序不能在另一种计算机上执行 机器语言是微处理器理解和使用的用于控制它的操作的二进制代码。 8086到Pentium的机器语言指令长度可以从1字节到13字节。 尽管机器语言看似非常复杂,但它是有规律的。 现今存在着超过100000种机器语言的指令 汇编语言 汇编语言是一种用于电子计算机,微处理器,微控制器,或其他可编程器件的低级语言。在不同的设备中,汇编语言对应着的不同机器语言指令集。汇编一种语言专用于某种计算机系统-结构,而许多不像高级语言,可以在不同系统平台之间移植。 高级语言 高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等

编程语言分类

╄→гoц情女王★ 提交于 2019-11-30 19:16:45
编程语言分类 一、机器语言 只要是谈到计算机基础,有一个东西是我们无法避免的,那就是编程到底是什么?我只放图,其他的你们自己YY。 [ 现在来想象这样一个场景,如果奴隶来自不同的国家,作为尊贵而又穷逼买不起管家的奴隶主的我们,如果需要控制奴隶,则需要和奴隶有一定的沟通才能控制努力。 如果把奴隶换成计算机,由于计算机以二进制的形式存储数据,如果我们要奴役计算机,则需要使用二进制编写程序。也就是说,如果我们需要和计算机沟通,那我们必须得会二进制代码编程。而这个二进制代码编程则是使用机器语言编程,直接操作硬件。它的优缺点如下: 优点:执行效率高(还能在快吗?有的话,马都累死了…) 缺点:开发的效率低(有本事你把下图的代码翻译翻译) [ 1.1机器语言编程 由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。但是机器语言编写的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大,机器语言属于低级语言。 用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作

编程语言分类

a 夏天 提交于 2019-11-30 06:26:08
编程语言分类 一、机器语言 只要是谈到计算机基础,有一个东西是我们无法避免的,那就是编程到底是什么?我只放图,其他的你们自己YY。 现在来想象这样一个场景,如果奴隶来自不同的国家,作为尊贵而又穷逼买不起管家的奴隶主的我们,如果需要控制奴隶,则需要和奴隶有一定的沟通才能控制努力。 如果把奴隶换成计算机,由于计算机以二进制的形式存储数据,如果我们要奴役计算机,则需要使用二进制编写程序。也就是说,如果我们需要和计算机沟通,那我们必须得会二进制代码编程。而这个二进制代码编程则是使用机器语言编程,直接操作硬件。它的优缺点如下: 优点:执行效率高(还能在快吗?有的话,马都累死了…) 缺点:开发的效率低(有本事你把下图的代码翻译翻译) 1.1 机器语言编程 由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。但是机器语言编写的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大,机器语言属于低级语言。 用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作

基础知识

こ雲淡風輕ζ 提交于 2019-11-30 02:44:10
机器语言 :计算机工作基于二进制,从根本上说, 计算机只能识别和接受由0和1组成的指令 ,而这种指令称为 机器指令 ;基于二进制表示的语言就是机器语言。 用法 :在机器语言的规则中规定各种机器指令的表示形式以及它的作用。( 人为规定具体机器指令的具体作用 ) 缺点 :机器语言与我们习惯的语言相差太大,难以从容使用,必须记和翻阅指令表才可以。 优点   :机器语言占内存较高级语言少、运行效率也比高级语言高,且能直接操作计算机的各种硬件设备资源。 发展 :为了克服机器语言的缺点,我们创造出了 符号语言 (symbolic language) 符号语言 : 用一些英文字母和数字表示一个指令,例如用ADD代表'加',MOV代表'移动',LD代表'传送'.....(其实就是我们日常说的汇编语言) 用法 :比如 ADD A,B 表示的是A加上B... 缺点 :前面我们说过计算机只能识别和接受0和1,而符号语言必须翻译成机器语言才可被计算机识别。翻译符号语言需要用到一种称为 汇编程序 的软件,把符号语言的指令转换为机器指令。一般,一条符号语言的指令对应转换为一条机器指令。转换的过程或者说是翻译的过程称为'汇编',因此,符号语言又称为 符号汇编语言 或 汇编语言 (assembler language) 。 虽然汇编语言比机器语言简单好记一些,但仍然比较复杂,也需要记忆基本指令集和翻阅指令集

简述编译程序与翻译程序、汇编程序的联系与区别。

眉间皱痕 提交于 2019-11-29 06:00:27
1.简述编译程序与翻译程序、汇编程序的联系与区别。 翻译程序是指把高级语言源程序翻译成机器语言源程序(目标代码)的软件。 翻译程序有两种:一种是编译程序,它将高级语言源程序一次性全部翻译成目标程序,每次执行程序时,只要执行目标程序。另一种是解释程序,它的执行过程是翻译一句执行一句,并且不会生成目标程序。 编译程序是先完整编译后运行的程序,如C、C++等;解释程序是一句一句翻译且边翻译边执行的程序,如JavaScript、Python等。附C语言编译链接过程: 汇编程序也是一种语言翻译程序,它把汇编语言源程序翻译成机器语言程序。 编译程序与汇编程序的区别:如果源语言是诸如C、C++、Java等“高级语言”,而目标语言是诸如汇编语言或机器语言之类的“低级语言”,这样的一个翻译程序称为编译程序。如果源语言是汇编语言,而目标语言是机器语言,这样的一个翻译程序称为汇编程序。 编译过程包括哪几个主要阶段及每个阶段的主要功能。 编译过程包括哪几个主要阶段及每个阶段的主要功能。 词法分析阶段:读入源程序,对构成源程序的字符流进行扫描和分解,识别出单词, 语法分析阶段:机器通过词法分析,将单词序列分解成不同的语法短语,确定整个输入串能够构成语法上正确的程序。 语义分析阶段:检查源程序上有没有语义错误,在代码生成阶段收集类型信息 中间代码生成阶段:在进行了上述的语法分析和语义分析阶段的工作之后

汇编教程2:汇编基础知识

我是研究僧i 提交于 2019-11-27 23:45:20
那么让我们开始今天的话题….. 今天主要扯点计算机的工作方式,因为汇编是面向机器的语言,所以非常有必要了解下计算机的结构,CPU的工作方式.这里我假设你只有一点点最基本的电脑基础啊,最好自己去弄懂那个什么进制转换的,我觉得特麻烦,不过却也比较简单..我这里就不和大家扯了自己了解下~~那么既然假设你没有什么电脑知识就会显得有些啰唆,高手别见笑啊! 说到汇编语言啊,就扯远拉,远到哪里呢, 嗯很远, 汇编语言和机器语言是很亲密的,所以要聊下汇编语言那就不得不又扯下机器语言了,^_^.真远啊!! 机器语言 什么叫机器语言呢,机器语言就是一些机器指令的集合拉,也就是一些二进制的数字什么010010的,这就是机器指令,计算机呢可以把这些010010什么的转变为高低电平,使计算机的电子器件收到驱动,进行运算..嗯,搞的好像很复杂似的,其实简单理解就是计算机也有一门语言(机器语言)就像我们的汉语一样,我们汉语的构成呢是由字来构成的,机器语言(也就是电脑自己的语言,就是一些01001什么的来构成的.当初我理解的时候就想啊,机器语言不是人发明的么,为什么不教他学汉语啊要教他学什么01001的那么麻烦^_^.呵呵其实现在很多人都在做着这样的努力呢, 诶~~又扯远了. 给大家扯了机器语言的那就再给大家扯一下计算机吧,你有跟朋友去过电脑城装过电脑吗?或者见过别人把电脑机箱打开后里面的情况吗?