计算机指令

FIFO原理

ε祈祈猫儿з 提交于 2019-12-31 22:55:44
First Input First Output的缩写,先入先出队列,这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。FIFO(First Input First Output),即先进先出队列。在超市购物之后会提着我们满满的购物车来到收银台排在结账队伍的最后,眼睁睁地看着前面的客户一个个离开。这就是一种先进先出机制,先排队的客户先行结账离开。 fifo算法原理 在计算机中,先入先出队列是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令(指令就是计算机在响应用户操作的程序代码,对用户而言是透明的)。如图1所示,当CPU在某一时段来不及响应所有的指令时,指令就会被安排在FIFO队列中,比如0号指令先进入队列,接着是1号指令、2号指令……当CPU完成当前指令以后就会从队列中取出0号指令先行执行,此时1号指令就会接替0号指令的位置,同样,2号指令、3号指令……都会向前挪一个位置,这样解释大家清楚了吧?        图1 先进先出队列 FIFO是队列机制中最简单的,每个接口上都存在FIFO队列,表面上看FIFO队列并没有提供什么QoS(Quality of Service,服务质量)保证,甚至很多人认为FIFO严格意义上不算做一种队列技术,实则不然,FIFO是其它队列的基础,FIFO也会影响到衡量QoS的关键指标:报文的丢弃、延时、抖动

redhat 下 rpm 指令

流过昼夜 提交于 2019-12-30 14:45:30
1.如何安装rpm软件包 rmp软件包的安装可以使用程序rpm来完成。执行下面的命令 rpm -i your-package.rpm 其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。 安装过程中可能出现下面的警告或者提示: ... conflict with ... 可能是要安装的包里有一些文件可能会覆盖现有 的文件,缺省时这样的情况下是无法正确安装的可以用 rpm --force -i 强制安装即可 ... is needed by ... ... is not installed ... 此包需要的一些软件你没有安装可以用 rpm --nodeps -i 来忽略此信息 也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包 都能安装上,但这种强制安装的软件包不能保证完全发挥功能 2.如何安装.src.rpm软件包 有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时 需要进行编译。这类软件包有两种安装方法, 方法一: 1.执行rpm -i your-package.src.rpm 2. cd /usr/src/redhat/SPECS 3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件 4. cd /usr/src

HITICS-2019大作业报告

女生的网名这么多〃 提交于 2019-12-30 01:24:03
计算机系统 大作业 题 目 程序人生-Hello’s P2P 专 业 计算机类 *指 导 教 师 吴锐   * 计算机科学与技术学院 2019年12月 摘 要 当hello world这个句子显示在电脑上时,标志着世界上第一个程序的诞生。然而很多人都认为让hello world显示在屏幕上是一件很简单的事。殊不知,这个程序的所有执行周期却经历了很多阶段,当然,计算机科学家们在这个程序执行之前也做了大量的铺垫。所以,当我们研究hello world程序的整个生命周期时,我们发现这个程序是不平凡的,我们也理解了计算机科学家们的执着与智慧。从开始对这个程序的编码,再到预处理,编译的高级语言阶段。再到汇编成机器语言,转换成机器码。再进行链接生成可执行文件,再执行。在此过程中,CPU,操作系统,内存,磁盘等计算机的重要组成部分都有条不紊的相互协调工作,其中又产生了进程的创建与回收、异常处理、内存管理等后台。这些后台过程都默默地支持着程序的执行。本篇论文来告诉你hello world被打印在电脑屏幕里所要经历的所有过程。 **关键词:**程序 编码 执行 进程管理 储存管理 目 录 第1章 概述 - 4 - 1.1 Hello简介 - 4 - 1.2 环境与工具 - 4 - 1.3 中间结果 - 4 - 1.4 本章小结 - 4 - 第2章 预处理 - 5 - 2.1 预处理的概念与作用 -

接口与总线 考点整理

删除回忆录丶 提交于 2019-12-29 23:11:06
说明 以下内容为个人整理,答案也是个人回答,不一定对,所以你对答案有任何问题,都欢迎与我讨论。 Q01:51单片机P0、P1、P2、P3口功能作用? 答: P0可做地址口的低8位也可以做数据口和I/O口 P1可做普通的I/O口 P2除了做I/O口,也是作为地址口的高8位(总共16位) P3 既可以是普通IO口,也可以是外部中断、定时、外部输入的端口 Q02:当串口发送一个数据或接收数据时,哪两个位会置位? 答: 接收数据时,RI 会置位 发送数据时,TI 会置位 Q03:81单片机的累加器是什么? 答: ACC Q04:当晶振频率为12MHz,定时器的频率为多少? 答: 频率为1Mhz 说明: 机器频率 = 晶振频率/12 Q05:LED的显示分为几种? 答: 两种,动态扫描和静态扫描 说明: 动态扫描中LED的调度是放在定时器中 Q06:51单片机内存划分 答: 低128个字节 从00H~1FH(32字节):寄存器区,四组寄存器区,一组有8个寄存器 从20H~2FH(16字节 128位):位寻址区 剩下:普通内存 高128个字节 特殊功能寄存器 Q07:ex0、ex1、et0的含义 答: ex0 = 1; //允许外部中断0 ex1 = 1; //允许外部中断1 et0 = 1; //允许定时器0中断 1 2 3 说明: 在这里插入图片描述 上图为IE(中断允许寄存器) EA

计算机组成原理期末复习往年卷子

怎甘沉沦 提交于 2019-12-29 21:35:29
1. I/O设备的编址方式通常有___ 统一编址 __和_ 独立编址 __两种方式。 P145 2.Cache是一种高速缓冲存储器,是为了解决____CPU____和___主存____之间速度不匹配而采用的一项重要技术 。 P124 3.在计算机系统中, I/O 设备与主机传递消息的控制方 式除了 程序查询方式、程序中断方式 ( 硬件方式 ) 外,还有_ _DMA__ 方式、 __ 通道 _ 方式、 __I/O 处理机 _ _方式( 软件方式 )。 P148 1. I/O设备的编址方式通常有___ 统一编址 __和_ 独立编址 __两种方式。 P145 4.动态随机存储器常见的刷新方式有___集中式__刷新、__分散式__刷新、_异步式___刷新三种。 P109 5.直接寻址方式中,指令的地址码部分直接给出操作数在内存中的 真实地址 EA (有效地址) ,在执行阶段只需要__ __1 ____次访存即可得到操作数。 P178 6.RISC称为 ___精简指令系统计算机 ,与其对应的是___ CISC ,即复杂指令系统计算机 。 P189 7.用二进制代码0、1表示的计算机语言称为___ _ 机器语言 ______,用助记符编写并增加了指示性指令的计算机语言称为____ 汇编语言 ____。 8.CPU从主存取出一条指令并执行该指令所需的全部时间叫做__ _ 指令周期 _。 P203

管道及I/O重定向

依然范特西╮ 提交于 2019-12-29 12:11:31
管道及IO 重定向 > < >> << 计算机组成: 运算器,控制器:CPU 存储器:RAM 输入/输出设备 I/O 程序: 指令和数据 控制器:指令 运算器: 存储器: 地址总线: 内存寻址 数据总线: 传输数据 控制总线: 控制指令 寄存器: CPU暂时存储器 系统设定: 默认输出设备: 标准输出 STDOUT 1 标准输入设备: 标准输入 STDIN 0 标准错误输出: STDERR 2 标准输入: 键盘 标准输出和错误输出: 显示器 I/O 重定向 :改变输入输出的默认来源 Linux:输出重定向 : > : 输出重定向,覆盖输出 >> : 输出重定向,追加输出 set -C : 禁止对已经存在的文件使用覆盖重定向输出,若想强制覆盖,则用 >| set +C : 关闭上诉功能 2> : 重定向错误输出 ,覆盖 2>> : 重定向错误输出,追加 标准输出和错误输出属于两个不同的数据流。 &> redirect 重定向所有正确和错误输出 Linux 输入重定向: < : 输入重定向 tr : 大写字符转换 tr 'a-z' 'A-Z' < /etc/test 表示将/etc/test 下的字符作为输入,重定向给tr。 即将/etc/test 下的所有小写转换为大写 << : Here Document 在此处生成文档 cat << END the first line the

java内存模型-锁

▼魔方 西西 提交于 2019-12-29 03:13:52
锁的释放-获取建立的 happens before 关系 锁是 java 并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。下面是锁释放-获取的示例代码: class MonitorExample { int a = 0; public synchronized void writer() { //1 a++; //2 } //3 public synchronized void reader() { //4 int i = a; //5 …… } //6 } 假设线程 A 执行 writer() 方法,随后线程 B 执行 reader() 方法。根据 happens before 规则,这个过程包含的 happens before 关系可以分为两类: 根据程序次序规则,1 happens before 2, 2 happens before 3; 4 happens before 5, 5 happens before 6。 根据监视器锁规则,3 happens before 4。 根据 happens before 的传递性,2 happens before 5。 上述 happens before 关系的图形化表现形式如下: 在上图中,每一个箭头链接的两个节点,代表了一个 happens before 关系

JAVA内存模型5-锁

只谈情不闲聊 提交于 2019-12-29 03:12:52
锁的释放-获取建立的happens before关系 锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。下面是锁释放-获取的示例代码: class MonitorExample { int a = 0; public synchronized void writer() { //1 a++; //2 } //3 public synchronized void reader() { //4 int i = a; //5 …… } //6 } View Code   假设线程A执行writer()方法,随后线程B执行reader()方法。根据happens -before规则,这个过程包含的happens -before关系可以分为两类: 根据监视器锁规则,3happens before4。 根据程序次序规则,1happens -before2, 2 happens- before 3; 4 happens- before 5, 5 happens -before 6。 根据happens before 的传递性,2 happens before 5。    上述happens -before关系的图形化表现形式如下:   在上图中,每一个箭头链接的两个节点,代表了一个happens before关系

I/O设备管理

↘锁芯ラ 提交于 2019-12-28 19:56:53
核心技术: 1.I/O设备抽象为文件视图 2.设备控制器 3.硬件驱动程序,中断处理程序 4.其他I/O管理方式: DMA控制方式,通道技术,I/O缓冲区技术 提高设备的利用率,提高CPU与I/O设备之间的并行操作程度 核心工作过程: 1.CPU发送指令(write,read,open,close)给硬件控制器的寄存器 2.驱动程序将指令翻译为电信号 3.控制器执行电信号指令,完成硬件操作 4.控制器返回一个中断给CPU, CPU运行中断处理程序处理中断,完成与内存的信息交换。 典例: 鼠标移动 鼠标从 (2,2 )移动到(3,5) 1.鼠标控制器得到坐标改变的电信号 2.通过鼠标驱动程序,将电信号翻译为代码 3.传给CPU,触发中断处理程序,CPU处理中断代码(发送指令给显卡) 4.CPU将代码(2,2—3,5)传给显示器控制器(显卡) 5.显卡将指令代码执行到屏幕上(光标从2,2—3,5) 6.显卡向CPU发送中断(2,2—3,5),表示执行完毕 7.CPU处理中断,将光标新位置3,5 存入内存。 1. I/O设备控制器 :由寄存器和控制器组成,用于控制硬件。 本质是芯片 扬声器— 声卡, 显示屏——显卡, 磁盘—磁盘控制器, 鼠标——鼠标控制器 CPU发出一条指令给显卡中的寄存器,控制器就会根据寄存器里的指令通过计算电路实际的来操控硬件。 对于程序员来说

编程语言的作用及与操作系统和硬件的关系

ぐ巨炮叔叔 提交于 2019-12-26 19:18:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、编程语言的作用及与操作系统和硬件的关系 作用:编程语言是计算机语言,是一种程序员与计算机之间沟通的介质,通过编程语言可以使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。 关系:编程语言会通过编译软件写成程序,程序是不能直接和硬件来进行交互的,而操作系统是用来管理计算机硬件设备的,所以我们可以就可以在操作系统上来运行程序,让操作系统去管理与配置内存、决定系统资源供需的优先次序、控制输入与输出、操作网络与管理文件系统等基本任务。 二、应用程序、操作系统、硬件之间的关系 硬件上运行操作系统,操作系统上运行应用程序,应用程序通过Windows API调用操作系统函数从而和计算机硬件交互。 三、 cpu 、内存、磁盘之间的关系 1.CPU即中央处理器,CPU从内存或缓存中取出指令,放入指令寄存器,并对指令进行解码,然后发出各种控制命令,从而完成一条指令的执行。 2.CPU并不能直接调用存储在硬盘上的系统、程序和数据,必须将硬盘的有关内容通过总线存储在内存中,才能被CPU读取运行。因而,内存可以理解为硬盘和CPU的“中转站”。 3.当运行数据大小超出物理内存的时候,这时系统就会将硬盘上的部分空间模拟成内存——虚拟内存,并将暂时不运行的程序或不使用的数据存放到这部分空间之中,等待需要的时候方便及时调用。 4