数据寄存器

计算机处理器基础原理笔记

被刻印的时光 ゝ 提交于 2019-12-02 06:43:50
1. 计算机每执行一条指令的过程,可以分解成这样几个步骤。 (1) Fetch (取得指令) ,也就是从PC寄存器里找到对应的指令地址,根据指令地址从内存里把具体的指令,加载到指令寄存器中,然后把PC寄存器自增,在未来执行下一条指令。 (2) Decode (指令译码) ,也就是根据指令寄存器里面的指令,解析成要进行什么样的操作,是MIPS指令集的R、I、J中哪一种指令,具体要操作哪些寄存器、数据或者内存地址。 (3) Execute (执行指令) ,也就是实际运行对应的 R、I、J 这些特定的指令,进行算术逻辑操作、数据传输或者直接的地址跳转。 (4)重复进行(1)~(3)的步骤。 这其实就是一个永不停歇的“Fetch - Decode - Execute”的循环,这个循环称之为 指令周期 (Instruction Cycle)。 在取指令的阶段,指令是放在 存储器 里的,实际上, 通过 PC 寄存器和指令寄存器取出指令的过程,是由控制器(Control Unit )操作的。指令的解码过程,也由控制器进行 。到了执行指令阶段,无论是进行算术操作、逻辑操作的R型指令,还是进行数据传输、条件分支的I型指令,都是由 算术逻辑单元 (ALU)操作的,也就是由 运算器 处理的。不过,如果是一个简单的无条件地址跳转,那么我们可以直接在 控制器 里面完成,不需要用到运算器,如下所示:

多线程volatile关键字

扶醉桌前 提交于 2019-12-02 05:10:47
编译优化 我们都知道,所有的高级程序设计语言所编写的源代码,都要经过编译系统或解释系统的翻译,转换为计算机硬件系统能够识别的机器语言代码,才能最终在计算机上执行。 而现代的编译或解释软件都很强大,很智能,它们会尽可能选择能让我们的程序以最高效率的形式工作,即,它们会尽可能地“优化”我们的代码,使得最终编译或解释出的机器语言代码与我们的源代码有所差异! 这里要涉及计算机存储体系的概念。 计算机存储体系 计算机体统有包括外存、内存等不同的存储层次,相对完整地说。计算机存储体系从“外”到“内”分为5层: 海量外存——存储空间最大,速度最慢; 外存——存储空间大,速度也比较慢; 内存——存储空间不是很大,速度却很快; 高速缓存——存储空间小得多,速度更快; 寄存器——存储空间最小,速度最快; 其实,寄存器已经是CPU的范畴了,它们是CPU不可或缺的组成部分。 在上述存储方式中,最快的是寄存器(组),是CPU指令访问的常客,但是,存储容量非常的少:内存是计算机指令与数据存储的最主要的空间,CPU可以访问内存,但与寄存器比较,对内存的访问速度要慢很多很多。 我们所编写的程序中,变量、数组的本质就是内存空间(无论是系统堆栈还是系统堆),对变量、数组元素的访问,就是对内存的访问。 对于像循环中的控制量 for ( int i = 0 ; i < 10 ; i ++ ) 中的变量i

学 汇编语言 -- 王爽 笔记

删除回忆录丶 提交于 2019-12-02 03:16:49
学 汇编语言 -- 王爽 笔记 -- munds 1: 计算机是由 cpu,内存,外部储存器,主板,等等 组成 2: cpu 通过 数据总线,地址总线,控制总线 来与外部设备交流 3: cpu 通过 统一地址总线 来控制 各大部件 4: cpu 通过 数据总线 接收和发送 数据到 内存 5: 某些cpu 通过 DMA 来控制 速度比较慢的设备 比如 硬盘,软盘,光盘 等 ------------------------------- 废话分割线 ------------------------------------------------------------------------------------------------ cpu 通过各种寄存器来储存临时信息 寄存器有: ax,bx,cx,dx,cs,ds,ss,es cpu运行一条指令的详细动作是 : 1 从cs寄存器中取值 ,2 把给值作为内存地址发送到地址总线上,3 内存器给cpu发送该地址的内容 ,4 cpu处理内容(这个内容就是计算机指令) 在8086中 所有的寄存器都是16位,在 80386 中 所有的寄存器都是 32位 ax,bx,cx,dx 都是 可以分为 al,ah,等的8位寄存器 ax = ah x 2^8 + al cpu可以单独的对 al ,ah等8位寄存器直接操作 cpu

Linux内存管理-预备篇(寄存器)

烂漫一生 提交于 2019-12-01 23:33:13
前言(wxy): 说到寄存器,迷迷茫茫好多年,一方面记不住每个寄存器的名称以及作用,另一方面迷惑于寄存器的名称,常常会有一个疑惑就是说道寄存器的种类,怎么各种版本,他们到底什么关系,基本上所有的博客都是直接拷贝别人的,而且也不 说明他们到底什么关系,指示罗列概念,我百度了一下午也没查出个所以然,真TM生气......今天终于解开了这个谜团,原来CPU寄存器分为两类: 用户可见寄存器 ,用户可以对这些寄存器进行编程,还可以通过优化使CPU因使用这类寄存器而减少对主存的访问次数,也就是说我们使用汇编语言可以直接对其操作; 控制和状态寄存器 ,用户不可对其进行编程,他们被控制部件使用,以控制CPU的操作,也可以被带有特权的操作系统程序使用,从而控制程序的执行。 一:控制和状态寄存器 : 参见: https://blog.csdn.net/kwame211/article/details/77773621 CPU中至少要有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)。这些寄存器用来暂存一个计算机字,其数目可以根据需要进行扩充。 1. 数据寄存器(Data Register,DR/MDR) 又称 数据/ 指令 缓冲寄存器 数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之

2019-2020-1学期 20192426 《网络空间安全导论》第三周学习总结

早过忘川 提交于 2019-12-01 23:25:07
第六章 低级程序设计语言与伪代码 6.1计算机操作 1.计算机:能够存储、检索和处理数据的可编程电子设备。 存储、检索和处理 是计算机能够对数据执行的操作。也就是说,控制单元执行的指令能够把数据存储到机器的内存中,在机器内存中检索数据,在算术逻辑单元中以某种方式处理数据。 6.2机器语言 1.机器语言(machine language):由计算机直接使用的二进制编码指令构成的语言。 每种处理器都有自己专用的机器指令集合。 这些指令是机器唯一真正能够执行的指令。 2.Pep/8:一台虚拟机 虚拟机(virtual computer (machine)) :为了模拟真实机器的重要特征而设计的假象机器。 Pep/8有39个机器语言指令。 Pep/8反映的重要特性 Pep/8的字长是2字节,或者16比特。这样向算术/逻辑单元(ALU)流入的数据或从算术/逻辑单元流出的数据在长度上就是16比特。 Pep/8有七个寄存器,我们重点研究:程序计数器(PC)、指令寄存器(IR)、累加器. 累加器是用来保存操作的数据和结果。 可用的比特数决定了我们可以使用的内存大小。 指令格式 在Pep/8中,一条指令由两部分组成,即 8位的指令说明符和(可选的)16位的操作数说明符。 指令说明符(指令的第一个字节) :说明了要执行什么操作和如何解释操作数的位置。 操作数说明符(指令的第二和第三个字节)

2019-2020-1学期 20192426 《网络空间安全导论》第三周学习总结

空扰寡人 提交于 2019-12-01 23:06:32
第六章 低级程序设计语言与伪代码 1.计算机操作 计算机是能够 存储、检索和处理数据的可编程电子设备。 2.机器语言 计算机语言(machine language):由计算机直接使用的二进制编码指令构成的语言。 Pep/8:一台虚拟机 虚拟机(virtual computer(machine)):为了模拟真实机器的重要特征而设计的假想机器。 Pep/8有39个机器语言指令。 Pep/8反映的重要特性。 Pep/8的内存单元由65536字节的存储空间构成。这些字节从0到65536(十进制)进行编号。 寄存器: 程序计数器(PC),其中包含下一条即将被执行的指令的地址。 指令寄存器(IR),其中包含正在被执行指令的一个副本。 累加器(是一个寄存器)。 累加器是用来保存操作的数据和结果。 指令格式 一条指令由两部分组成,即8位的指令说明符和(可选的)16位的操作数说明符。说明指令符(指令的第一个字节)说明了要执行什么操作(如把一个数加到一个已经存储在寄存器中的值上)和如何解释操作数的位置。操作数说明符(指令的第二和第三字节)存放的是操作数本身或者操作数的地址。有些指令没有操作数说明符。 指令说明符的格式根据表示一个具体操作所用的比特数的不同而不同。在Pep/8中,操作代码(称为操作码)的长度从4比特到8比特不等。我们在这里所用的操作码长度是4比特或5比特

2019-2020-1学期 20192409 《网络空间安全专业导论》第三周学习总结

坚强是说给别人听的谎言 提交于 2019-12-01 23:01:18
第六章 低级程序设计语言与伪代码 1.计算机操作 计算机是能够 存储、检索和处理数据的可编程电子设备。 2.机器语言 计算机语言(machine language):由计算机直接使用的二进制编码指令构成的语言。 Pep/8:一台虚拟机 虚拟机(virtual computer(machine)):为了模拟真实机器的重要特征而设计的假想机器。 Pep/8有39个机器语言指令。 Pep/8反映的重要特性。 Pep/8的内存单元由65536字节的存储空间构成。这些字节从0到65536(十进制)进行编号。 寄存器: 程序计数器(PC),其中包含下一条即将被执行的指令的地址。 指令寄存器(IR),其中包含正在被执行指令的一个副本。 累加器(是一个寄存器)。 累加器是用来保存操作的数据和结果。 指令格式 一条指令由两部分组成,即8位的指令说明符和(可选的)16位的操作数说明符。说明指令符(指令的第一个字节)说明了要执行什么操作(如把一个数加到一个已经存储在寄存器中的值上)和如何解释操作数的位置。操作数说明符(指令的第二和第三字节)存放的是操作数本身或者操作数的地址。有些指令没有操作数说明符。 指令说明符的格式根据表示一个具体操作所用的比特数的不同而不同。在Pep/8中,操作代码(称为操作码)的长度从4比特到8比特不等。我们在这里所用的操作码长度是4比特或5比特

程序员需要了解的硬核知识之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 的内部结构