计算机指令

学习:CPU,内存,硬盘,指令以及他们之间的关系

放肆的年华 提交于 2020-04-08 04:02:39
  CPU:即中央处理器,内部由大量晶体管组成。主要由四部分构成:寄存器、控制器、运算器、时钟。     寄存器:用来暂存指令、数据等处理对象。(可以看作是内存的一种)     控制器:负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制计算机。     运算器:负责运算从内存读到寄存器的数据。     时钟:负责发出CPU开始计时的时钟信号。   程序启动后,根据时钟信号,控制器会从内存中读取指令和数据。通过对这些指令加以解释和运行,运算器就会对数据进行运算,控制器根据运算的结果来控制计算机。   内存:计算机主储存器。通过控制芯片等与CPU相连,主要负责储存指令和数据。内存的逻辑模型是楼房,一层可以储存一个字节的数据,楼层号表示地址。那么通过地址的指定,就可以对数据进行读写的操作。     硬盘中储存的程序,必须要加载到内存中才能被运行。因为CPU需要通过内部程序计数器来制定内存地址,才能读出程序。   硬盘:也是储存部件,优势是储存容量大,价格低廉。缺点是读取速度慢。     硬盘上的程序 --- 内存上的程序 --- CPU执行      指令:指示计算机执行某种操作的命令。它由一串二进制数码组成。一般包括操作码和地址码。     CPU发出指令地址 --- 从地址储存器中读取指令 --- 把指令存入指令寄存器 --- 将操作码译码后进行操作 ---

CPU,内存,硬盘,指令以及他们之间的关系

余生颓废 提交于 2020-04-07 19:24:32
1. CPU CPU,Central Processing Unit的缩写,中文名是中央处理器,负责机器语言程序的解释和执行,以及计算机设备的控制。重点掌握程序的运行流程:程序员编写高级语言程序→编译成计算机能识别的机器语言程序,生成.exe文件→程序运行时,内存生成.exe文件副本→CPU解释并执行程序内容。 CPU和内存是由许多晶体管组成的电子元件,成为IC(Integrated Circuit)集成电路。包括四个部分:寄存器,控制器,运算器,时钟(Clock Puzzle)。 ·寄存器暂存指令和数据,一个CPU常有20~100个寄存器; ·控制器负责将内存中的指令和数据读入寄存器中,并通过CPU的执行结果控制整个计算机,所谓的控制其实可以简单理解为是除与运算以外的CPU与外界的输入输出。 ·运算器运算从内存读入寄存器中的数据和指令; ·时钟负责发出CPU开始计时的时钟信号。 2. 内存 内存是计算机的主存储器(main memory),通过控制芯片与CPU相连,负责存储数据和指令。由可读写的器件构成,常使用DRAM(Dynamic Random Access Memory 动态随机存取存储器)芯片,可对任意地址读写数据,按字节存放和编址,CPU通过地址访问内存。关键是计算机关机时内存中的东西会被清除。 内存的物理机制很简单,内存实际上是一种名为内存IC 的电子元件。内存IC

汇编

青春壹個敷衍的年華 提交于 2020-04-06 22:00:40
一、介绍 汇编语言是一种面向机器的低级程序设计语言 汇编语言以助记符形式表示每一条计算机指令 助记符是便于人们记忆、并能描述指令功能和指令操作数的符号 助记符一般就是表明指令功能的英语单词或其缩写 MOV AX , 30H ADD AX , 50H MOV [2100H] , BX HLT 汇编语言的主要特点: 汇编语言程序与处理器指令系统密切相关 程序员可直接、有效的控制硬件系统 形成的可执行文件运行速度快、占用主存容量少 汇编语言程序中可以出现不同进制的数,但一定要有标识字母加以区别 数据的组织形式:位(bit)、字节(Byte)、字(Word)、双字(Dword) 无论是数据还是指令在计算机中都是以二进制形式存放的 无符号整数——所有有效位都当作数值处理,当然这样的数全部都是正数,故不保留符号位,常用于表示地址,或运算中表示计数值等 ASCII编码——在内存中使用一个字节(8位二进制数)存放一个字符(它的ASCII码),最高位没用(写0).在通信过程中最高位有时用于奇偶校验 数码0~9:30H~39H 大写字母A~Z:41H~5AH 小写字母a~z:61H~7AH 空格:20H 带符号数的表示方法——采用补码表示法(补码存储、补码运算) 与、或、异或、非运算 二、计算机硬件相关知识 1、硬件 中央处理单元CPU 控制器、运算器、寄存器 存储器 主存储器:RAM和ROM

单片机常用名词解释与常用逻辑电路

↘锁芯ラ 提交于 2020-04-06 16:52:45
MCS-51系列单片机 MCS-51系列单片机分为两大系列,即51子系列与52子系列。 51子系列:基本型,根据片内ROM的配置,对应的芯片为8031、8051、8751、8951 52子系列:增强型,根据片内ROM的配置,对应的芯片为8032、8052、8752、8952 这两大系列单片机的主要硬件特性如下表: 从上表中可以看到,8031、8031、8032、80C32片内是没有ROM的,对应着上表看,我们可以发现,51系列的单片机的RAM大小为128B,52系列的RAM大小为256B,51系列的计数器为两个16位的,52系列的计数器为三个16位计数器。51系列的中断源为5个,52系列的中断源为6个。 8051与80C51的区别: 80C51单片机是在8051的基础上发展起来的,也就是说在单片机的发展过程中是先有8051,然后才有80C51的。 8051单片机与80C51单片机从外形看是完全一样的,其指令系统、引脚信号、总线等完全一致(完全兼容),也就是说在8051下开发的软件完全可以在80C51上应用,反过来,在89C51下开发的软件也可以在8051上应用。这两种单片机是完全可移植的。 既然这两种单片机外形及内部结构都一样,那它们之间的主要差别在哪里呢? 8051与80C51单片机的主要差别就在于芯片的制造工艺上。80C51的制造工艺是在8051基础上进行了改进。

Java并发编程:volatile关键字解析

*爱你&永不变心* 提交于 2020-04-06 05:23:52
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。   volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键字的场景。   以下是本文的目录大纲:   一.内存模型的相关概念   二.并发编程中的三个概念   三.Java内存模型   四..深入剖析volatile关键字   五.使用volatile关键字的场景   若有不正之处请多多谅解,并欢迎批评指正。   请尊重作者劳动成果,转载请标明原文链接:   http://www.cnblogs.com/dolphin0520/p/3920373.html 一.内存模型的相关概念   大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快

计算机基础

亡梦爱人 提交于 2020-04-06 00:32:10
一、为何要学习计算机基础?       Python是一门编程语言,即通俗一点说就是语言。     程序用编程语言来写程序,最终开发的结果就是一个软件。 操作系统 是出现在硬件之上的,是用来 控制硬件的。 所以,我们开发时只需要 调用操作系统为我们提供的简单的接口 就可以了。    如上图所示,我把计算机的系统分为了上面三大块。 硬件,操作系统,应用程序 。 二、计算机硬件介绍 1. 硬件 的目的:为了运行软件给它的一些指令。我们可以优先从硬件中提取出这三个主要的东西,分别是: CPU,内存,硬盘 在计算机中,用来计算的是什么呢?当然是 CPU 了。多数CPU都有两种模式,即内核态与用户态。这里的即内核态与用户态将会在下面的内容中讲到。     CPU是人的大脑,负责运算        内存是人的记忆,负责临时存储        硬盘是人的笔记本,负责永久存储        输入设备是人的耳朵或眼睛,负责接受外部的信息传给CPU        以上所有的设备都通过总线连接,总线相当于人的神经 总线示意图 三、处理器(寄存器及内核态与用户态切换)     1.计算机的大脑是CPU,它从内存中取指令-▶解码-▶执行,然后在取指令,解码,执行,周而复始,直至整个程序被执行完成。    2. 寄存器是一个存储设备, 最快的一种存储设备 就是寄存器。 3.寄存器的分类      

《操作系统概论》第一章引论读书笔记

冷暖自知 提交于 2020-04-05 22:20:51
计算机系统分为硬件和软件。 硬件主要由:CPU、存储器、输入输出控制系统、各种输入输出设备组成。 软件主要分为:系统软件、支撑软件、以及应用软件。 操作系统定义:一般认为,操作系统是管理计算机系统资源、控制程序执行、改善人机界面和为应用软件提供支持的一种系统软件。 操作系统的作用: 管理计算机系统的资源。 为用户提供方便的使用接口。 具有扩充硬件的功能。 操作系统的功能: 从资源管理的观点看, 操作系统的功能可以分为:处理器管理、存储管理、文件管理和设备管理。 处理器管理的主要工作是进行处理器的分配调度。 存储管理是对主存储器进行管理。 文件管理面向用户实现按名存取,支持对文件的存储、检索以及解决文件的共享、保护和保密等问题。 设备管理负责管理各类外围设备,包括分配、启动和故障处理等。 三种基本类型的操作系统:批处理操作系统、分时操作系统、实时操作系统。 操作系统的发展: 微机操作系统、网络操作系统、分布式操作系统、嵌入式操作系统、当前流行的操作系统(windows\unix\linux)。 早期的微型计算机上运行的操作系统每次只允许一个用户使用计算机,被称为单用户微机操作系统,如CP/M,MS-DOS等。 把为计算机网络配置的操作系统称为网络操作系统。 为分布式计算机系统配置的操作系统称为分布式操作系统。主要特点:统一性、透明性。 计算机硬件不再以物理上独立的装置形式出现

计算机硬件基础(一)

谁说胖子不能爱 提交于 2020-04-05 20:54:02
1、编程语言的作用及与操作系统和硬件的作用?     任何一种编程语言最终的作用是通过Windows/Linux等操作系统来控制硬件工作。    应用程序发送指令给操作系统后,操作系统首先将收到的指令进行解码然后传送给过内存,内存将硬盘对应路径的数据逐步提取供CPU使用。 2、cpu与寄存器,内核态与用户态及如何切换?   计算机的大脑就是CPU,它从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。   寄存器特性读写速度快,内存小。非常重要的寄存器就是程序状态字寄存器(Program Status Word,PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。在系统调用和I/O中,PSW非常非常非常非常非常非常重要。   内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)   用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下

单片机的组成、工作原理、分类、特点以及发展趋势

白昼怎懂夜的黑 提交于 2020-04-05 16:18:13
芯片在没有开发前,单片机只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微型计算机控制系统,它与个人电脑(PC机)有着本质的区别,单片机的应用属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使该芯片具备特定的功能。 不同的单片机有着不同的硬件特征和软件特征,即它们的技术特征均不尽相同,硬件特征取决于单片机芯片的内部结构,用户要使用某种单片机,必须了解该型产品是否满足需要的功能和应用系统所要求的特性指标。这里的技术特征包括功能特性、控制特性和电气特性等等,这些信息需要从生产厂商的技术手册中得到。软件特征是指指令系统特性和开发支持环境,指令特性即我们熟悉的单片机的寻址方式,数据处理和逻辑处理方式,输入输出特性及对电源的要求等等。开发支持的环境包括指令的兼容及可移植性,支持软件(包含可支持开发应用程序的软件资源)及硬件资源。要利用某型号单片机开发自己的应用系统,掌握其结构特征和技术特征是必须的。 单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。诚然

计算机组成与设计(十)—— 流水线的冒险

混江龙づ霸主 提交于 2020-04-03 04:35:15
冒险 流水线技术之所以能提高性能 究其本质是利用了时间上的并行性, 那它让原本应该先后执行的指令 在时间上一定程度的并行起来,然而这也会带来一些冲突和矛盾, 进而可能引发错误。 冒险( Hazard ) :在流水线中我们希望当前每个时钟周期都有一条指令进入流水线可以执行。但 在某些情况下,下一条指令无法按照预期开始执行,这种情况就被称为冒险 。 冒险分为三种: 结构冒险:如果一条指令需要的硬件部件还在为之前的指令工作,而无法为这条指令提供服务,那就导致了结构冒险。(这里结构是指硬件当中的某个部件) 数据冒险:如果一条指令需要某数据而该数据正在被之前的指令操作,那这条指令就无法执行,就导致了数据冒险 控制冒险:如果现在要执行哪条指令,是由之前指令的运行结果决定,而现在那条之前指令的结果还没产生,就导致了控制冒险。 结构冒险 示例一:如果指令和数据放在同一个存储器中,则不能同时读存储器 解决方案一:我们有一个方便又简便的方法,即流水线停顿( stall ),产生空泡( bubble )。 虽然流水线停顿能用来解决各种冒险,但它的效率低下,应尽量避免。 解决方案二:在存储器中设置单独的指令高速缓存和数据高速缓存。(要强调的在计算机中主存储器也就是内存是统一存放指令和数据的, 这也是冯诺依曼结构的要求,只是在CPU当中 的一级高速缓存会采用指令和数据分别存放的方式) 示例二