计算机指令

01.计算机体系结构概述.md

自作多情 提交于 2020-02-28 22:12:45
文章目录 1. 计算机的基本构成 1.1 cpu概览 2. 指令的执行过程 2.1 指令周期 2.2 指令分类 2.3 指令的格式 2.4 参考其他周期 3. 中断 3.1 中断的分类 3.2 中断和指令周期 3.3 中断响应的一般过程 3.4 多个中断 4. 缓存 5. 直接内存存取DMA技术 6. 计算机的并行处理手段 6.1. 对称多处理器SMP: 6.1.1 SMP的架构 6.1.2 SMP的优点 6.1.3 SMP各自拥有独立的缓存导致的数据一致性问题: 6.2. 多核计算机 6.2.1 多核和smp之间的区别 1. 计算机的基本构成 处理器:控制计算机操作,执行数据处理等功能。 内存:存储数据和程序,是易丢失的。 输入/输出模块(I/O): 在计算机和外部环境之间移动数据。外部环境有各种外部辅助设备,比如硬盘,显示器,鼠标。 系统总线:在处理器,内存,输入输出设备之间提供通信的设施。 1.1 cpu概览 cpu处理器的 一种 功能是和存储器交换数据,因此他通常使用两个内部寄存器: 1.存储器地址寄存器(Memory Address Register):用于确定下一次读写的存储器地址。 2.存储器缓冲寄存器(Memory Buffer Register): 存放从存储器读进来的数据或者是要写入到寄存器中的数据。 同样,还有一组寄存器用来和输入和输出设备 1

02.操作系统概述.md

為{幸葍}努か 提交于 2020-02-28 21:12:58
文章目录 2. 操作系统原理介绍 2.1 操作系统的目标和功能 2.1.1 作为用户/计算机接口的操作系统 2.1.2 作为资源管理器的操作系统 2.2 操作系统发展简史 2.2.1 串行处理 2.2.2 简单批处理系统 2.2.2.1 从监控程序的角度来看 2.2.2.2 从处理器的角度来看 2.2.2.3 硬件层面需要进行的支持 2.2.2.4 运行模式的概念 2.2.3 多道批处理系统 2.2.3.1 多道批处理系统的硬件支持 2.2.3.2 多道批处理系统需要注意的新问题 2.2.4 分时系统 I/O调用的过程 2. 操作系统原理介绍 这篇文章主要想从基础介绍一下操作系统是如何运行的,主要专注于操作系统是如何对应用程序进行调度的。需要有 前一篇 文章作为基础 2.1 操作系统的目标和功能 2.1.1 作为用户/计算机接口的操作系统   一个应用程序可以使用一种语言开发,如果没有操作系统的话,每一个开发者都需要十分了解计算机的硬件指令才行,这是不可想象的。操作系统做了一层抽象,就像开发应用程序的时候会写的各种工具类一样,操作系统对这些部分的操作提供了封装的模块,应用程序只需要调用就好了。   同时还有一些通用的工作,比如创建程序,管理文件,控制io设备等,操作系统对这些操作都做了封装来简化编程。 下面是操作系统面向开发者或者用户的一些功能 程序开发

单片机编程从简单程序开始,通俗易懂才能轻松入门,电工电子基础

て烟熏妆下的殇ゞ 提交于 2020-02-28 10:54:04
一:编程任务和思路 我们来做一个让灯不断闪烁的简单程序。怎样才能让灯不断地闪烁呢?要灯亮一段时间,再灭一段时间,也就是说要P1口不断地输出高和低电平。 编程思路: 在执行完SETB P1后,延时一段时间(几秒或零点几秒)再执行第二条指令,就可以分辨出灯曾灭过了。执行完第二条指令后,让计算机再去执行第一条指令,不断地在原地兜圈,我们称之为"循环",这样就可以完成任务了。 二:程序编写 主程序 LOOP: SETB P1 ;(1) LCALL DELAY ;(2) CLR P1 ;(3) LCALL DELAY ;(4) AJMP LOOP ;(5) 子程序 DELAY: MOV R7,#250 ;(6) D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ;(9) RET ;(10) END ;(11) 单片机闪灯电路图 三:程序分析说明 1:第一条是让灯灭,第二条是延时,第三条是让灯亮,第四条和第二条一模一样,也是延时,第五条应当是转去执行第一条指令。 2:再看第五条,LJMP是一条指令,意思是转移,往什么地方转移呢?后面跟的是LOOP,看一下,什么地方还有LOOP,对了,在第一条指令的前面有一个LOOP,所以很直观地,我们可以认识到,它要转到第一条指令处。这个第一条指令前面的LOOP被称之为标号,它的用途就是给这一行起一个名字

数据处理的两个基本问题

女生的网名这么多〃 提交于 2020-02-28 06:42:19
总结chapter5-8 这几章分散引入或总结了不少零碎的知识点,包括寻址方式、新增指令用法、伪指令,等等。知识本身难度不大,但是,由于比较零散,也容易给初学者造成困扰。因此,建议对内容进行分门别类梳理、归纳、总结,借助思维导图、表格等形式,让知识结构化、体系化、清晰化。不仅有助于自己学习理解,也有助于后期复习。 第五章[bx]和loop指令在上一篇博客有总结 第六章包含多个段的程序 assume cs:code code segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h mov bx,0 mov ax,0 mov cx,8 s: add ax,cs:[bx] add bx,2 loop s mov ax,4c00h int 21h code ends end "dw"的含义是定义字型数据。 通过ds=0760,可知道程序从0770开始存放,由于数据存放在代码段中,程序运行的时候cs中存放代码段的段地址,所以可以从cs中得到它们的段地址。 用debug加载后,可以将ip设置为10h,从而使cs:ip指向程序中的第一条指令。再用t命令,p命令,或者是g命令执行。 assume cs:code code segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

C Primer Plus(第五版)1

筅森魡賤 提交于 2020-02-28 03:44:48
这是C Primer Plus(第五版)的第一章,上传上来主要是方便我进行做笔记,写注释,还有我会删掉一些“废话”等。 1.1 C语言的起源 贝尔实验室的 Dennis Ritchie 在1972年开发了C,当时他正在与Ken Thompson 一起设计 UNIX操作系统 。 1.4 计算机工作的基本原理 现代计算机可分为几个部件。中央处理单元(或称CPU)担负着绝大部分的计算工作,随机访问存储器(或称RAM)作为一个工作区来保存程序和文件;永久存储器,一般是硬盘,即使在计算机关机时也能记下程序和文件;还有各种外围设备(如键盘,鼠标和监视器)用来提供人与计算机之间的通信。CPU负责处理程序,所以我们集中来讨论它的功能。 CPU 的工作非常简单,至少在我们所做的这一简短的描述中是这样的。它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行,。一个千兆 CPU 可以在一秒种内进行大约一亿次这样的操作,所以 CPU 能以惊人的速度来从事其枯燥的工作。CPU 有自己的小工作区,该工作区由若干个寄存器(registers)组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU 使用该信息获取下一条指令。获取一条指令后,CPU 在另一个寄存器中保存该指令并将第一个寄存器的值更新为下一条指令的地址。CPU 只能理解有限的指令(指令集)。还有

机器语言 如汇编语言

淺唱寂寞╮ 提交于 2020-02-27 22:04:23
在 第一 台 计算 机 诞生 之 后, 虽 然它 的 计算速 度 并 不比 当时 的 一些 计 算工 具 有太大的 优 势 ,但人们注意到这种新 的 ”计算工具”和传统的计算工具有了一个本质的区 别 ,就是 它 能存储指 令 ,并可以不断地重新执行这些指令.以往的传统计算工 具 ,比如中国 的 ”算 盘 ” , 当人们按着一定的口 诀 即指 令 计算出 结 果后,如果想再计算一 次 ,就必须重新在 算盘 上” 拨弄口 诀” ,因为算盘不能存 储” 口 诀”. 电子计算 机则不同,它是 由电子元件组成 的 , 这 种 电 子 元 件有 两 种 稳 定的 状 态 , 可以用 0,1 来表 示这两 种状态 ,这样 电 子 计 算 机就可 以使用二进制数来存储和处理信息了 . 计算机处理信息的早期语言是所谓的 机 器语言,这种语言中的指令都是 由 0, 1 组 成 的序 列 , 称 这样的序 列 为一条 机 器指令. 比如 ,某种 型号的 的 计 算机用 8 位二 进制 信 息 10001010 表示一次加 法 , 以 0001 0 0 11 表示一次减法等 等 .这些指令的执行由计算机 的 线 路 来 保 证, 计 算 机在 设 计 之 初, 事 先 就 要确 定 好 每一条指 令 对 应的 线 路 逻辑 操作 .用 机 器语言进行程序设计是一项累人的工作, 同 样的任 务

2020-02-27

橙三吉。 提交于 2020-02-27 19:00:15
关于CPU体系结构的123 现代的CPU基可分为冯洛伊曼结构(普林斯顿结构)和哈佛结构。 一.冯洛伊曼结构(X86架构) 冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。 1、特点: (1)单处理机结构,机器以运算器为中心; (2)采用程序存储思想; (3)指令和数据一样可以参与运算; (4)数据以二进制表示; (5)将软件和硬件完全分离; (6)指令由操作码和操作数组成; (7)指令顺序执行。 2、冯·诺依曼计算机体系结构缺陷: (1)系统对存储器的过分依赖,系统的发展也将受限于储存器件的发展。 (2)指令的执行是串行,影响系统执行的速度。 (3)高级语言表示的存储器是一组有名字的变量,按名字调用变量,不按地址访问。机器语言同高级语言在语义上存在很大的间隔, 称之为冯·诺依曼语 义间隔。消除语义间隔成了计算机发展面临的一大难题。 (4)非数值处理应用领域发展缓慢,需要在体系结构方面有重大的突破。 (5)指令和数据有错误时,机器不会主动修改指令并完善程序。 3.应用场景 广泛用于台式、笔记本、服务器、工作站等桌面端。 二.哈佛结构(ARM架构) 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构。 1.特点

Computer Abstractions

こ雲淡風輕ζ 提交于 2020-02-27 12:25:58
计算机系统结构的概述   (MOOC:计算机系统设计) 简史: 组成:   硬件:CPU +MM+I/O   软件:系统软件+应用软件 层次结构:   发展简史:     冯诺依曼:存储程序、程序控制,存储程序通用电子计算机方案(电子离散自动计算机)     结构主要思想:   晶体管   兼容机    总线结构     好处:可扩充性等   四代——特点   70年代开始计算机小型化    基本组成与基本功能:   计算机实现所有任务都是通过执行一条一条指令完成的。   解剖一台计算机(分而治之)   芯片功能模块:     处理器内部布局    Cache:指令      普林斯顿高等研究院——>IOS :ias计算机   EDSAC      你认为冯诺依曼结构式怎样的?            GPRs:是什么   MDR 、IR   Cache:高速缓冲器。快于储存。   GP:   General packet:压缩包   perpose : GP       指令集合:ISA      计算机是如何工作的?     程序执行前:     执行程序:       第一步:根据PC取指令 ————>IR计算器       第二部       第三步       第四步       第五步:送回计算器或者主存里       第六步:修改下一个指令的值(根据PC取指令)

AtomicReference与volatile的区别

穿精又带淫゛_ 提交于 2020-02-27 08:53:29
首先volatile是java中关键字用于修饰变量,AtomicReference是并发包java.util.concurrent.atomic下的类。 首先volatile作用,当一个变量被定义为volatile之后,看做“程度较轻的 synchronized”,具备两个特性: 1.保证此变量对所有线程的可见性(当一条线程修改这个变量值时,新值其他线程立即得知) 2.禁止指令重新排序 注意volatile修饰变量不能保证在并发条件下是线程安全的,因为java里面的运算并非原子操作。 volatile说明 java.util.concurrent.atomic工具包,支持在单个变量上解除锁的线程安全编程。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个另一个线程进入,这只是一种逻辑上的理解。 AtomicReference说明 Java 理论与实践: 正确使用 Volatile 变量 Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized ”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少

王道 第一章 计算机系统概述

那年仲夏 提交于 2020-02-27 07:20:45
这门课学的是逻辑实现,不是具体的机型 主要内容: 基本部件的结构和组织方式 基本运算的操作原理 基本部件和单元的设计思想 运算器:进行 算数运算+逻辑运算 ;一次通常只算两个数字,多个数据计算会拆开,一次运算两个数据 位数多:计算精度越高(小数精确,整数范围大),运算快(一次算64位,在32位机器上要两次,64位机器一次),但是所需的电子器件也多,运算器长度一般是8、16、32、64. 一般来讲,运算器的字长和寄存器、数据总线大小是一样的。如果字长是32位的机器,寄存器和数据总线也都是32. 字长:字长是一个变化的概念,和字节不一样。一个字节是8位二进制。对于64位字长的机器,一个字是64,对于32位字长机器,一个字是32. 控制器 控制器:发号施令的部件,本质就是执行程序,程序由指令构成,取指令、分析指令(译码)、执行指令。保证指令按照规定序列自动连续执行,对异常情况和请求及时响应和处理。 运算器 对于复杂运算,计算机在运算前必须化成多步简单的加减乘除等基本操作来做。每个基本操作就叫做一条指令。而解算某一问题的一串指令序列,叫做该问题的计算程序,简称程序。例如求解二元一次方程,解题步骤的每一步,只完成一种基本操作(一条指令),而整个解题步骤就是一个简单的计算程序。 机器语言和汇编语言都是硬件语言,不同的计算机机器语言和汇编语言是不一样的。汇编和机器语言是一一对应的。