数据寄存器

计算机组成原理——cpu

喜你入骨 提交于 2019-12-03 07:54:24
CPU的基本功能 。指令控制 。 操作控制 。时间控制 。数据加工 CPU的基本组成 。控制器 。 运算器 CPU的主要寄存器 。指令寄存器 。程序寄存器 。数据地址寄存器 。 数据缓存寄存器 。通用寄存器 。状态寄存器 —————————————————————————————————————————— 指令周期:取出一条指令并执行这条指令的时间。 指令周期常用若干个CPU周期来表示。 CPU周期称为机器周期 来源: https://www.cnblogs.com/jia03/p/11783929.html

多周期CPU设计与实现

匿名 (未验证) 提交于 2019-12-03 00:39:02
设计一个多周期CPU,该CPU至少能实现以下指令功能操作。指令与格式如下: ==> 算术运算指令 1. add rd , rs, rt (说明:以助记符表示,是汇编指令;以代码表示,是机器指令) 000000 rs(5λ) rt(5λ) rd(5λ) reserved 功能:rd←rs + rt。reserved为预留部分,即未用,一般填“0”。 2. addi rt , rs ,immediate 000010 rs(5λ) rt(5λ) immediate(16λ) 功能:rt←rs + (sign-extend)immediate;immediate符号扩展再参加“加”运算。 3. sub rd , rs , rt 000001 rs(5λ) rt(5λ) rd(5λ) reserved 功能:rd←rs - rt ==> 逻辑运算指令 4. ori rt , rs ,immediate 010010 rs(5λ) rt(5λ) immediate(16λ) 功能:rt←rs | (zero-extend)immediate;immediate做“0”扩展再参加“或”运算。 5. and rd , rs , rt 010001 rs(5λ) rt(5λ) rd(5λ) reserved 功能:rd←rs & rt;逻辑与运算。 6. or rd , rs , rt

opencv 图片特效-灰度2

匿名 (未验证) 提交于 2019-12-03 00:34:01
opencv 图片特效 更多干货 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boot 实战(干货) React 入门实战(干货) 构建中小型互联网企业架构(干货) python 学习持续更新 ElasticSearch 笔记 kafka storm 实战 (干货) scala 学习持续更新 RPC 深度学习 灰度处理 方法1 imread #imread #方法1 imread import cv2 img0 = cv2.imread('image0.jpg',0) img1 = cv2.imread('image0.jpg',1) print(img0.shape) print(img1.shape) cv2.imshow('src',img0) cv2.waitKey(0) 方法2 cvtColor #方法2 cvtColor import cv2 img = cv2.imread('image0.jpg',1) dst = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 颜色空间转换 1 data 2 BGR gray cv2.imshow('dst',dst) cv2.waitKey(0) 方法3 RGB R=G=B = gray (R+G+B)/3 import cv2 import

Modbus常用功能码协议详解

匿名 (未验证) 提交于 2019-12-03 00:14:01
Modbus常用功能码协议详解 1)描述:读从机线圈寄存器,位操作,可读单个或者多个; 2)发送指令: 假设从机地址位0x01,寄存器开始地址0x0023,寄存器结束抵制0x0038,总共读取21个线圈。协议图如下: 3)响应: 返回数据的每一位对应线圈状态,1-ON,0-OFF,如下图; 上表中data1表示0x0023-0x002a的线圈状态,data1的最低位代表最低地址的线圈状态,可以理解为小端模式; data2表示地址0x002b-0x0033的线圈状态,如下表: data3表示地址0x0034-0x0038的线圈状态,不够8位,字节高位填充为0,如下表: 1):读离散输入寄存器,位操作,可读单个或多个,协议类似功能码0X01协议,此处省; 1)描述:读保持寄存器,字节指令操作,可读单个或者多个; 2)发送指令: 从机地址0x01,保持寄存器起始地址0x0032,读2个保持寄存器 3)响应: 数据存储顺序 1)描述:读输入寄存器,字节指令操作,可读单个或者多个; 2)发送指令:同03H; 3)响应:同03H; 1)描述:写单个线圈,位操作,只能写一个,写0xff00表示设置线圈状态为ON,写0x0000表示设置线圈状态为OFF 2)发送指令: 设置0x0032线圈为ON; 3)响应: 同发送指令; 1)描述:写单个保持寄存器,字节指令操作,只能写一个; 2)发送指令:

计算机硬件基础知识

◇◆丶佛笑我妖孽 提交于 2019-12-03 00:02:02
2.1 计算机硬件基础知识   2.1.1 计算机系统的组成、体系结构分类及特性       CPU和存储器的组成、性能和基本工作原理     CISC/RISC,流水线操作,多处理机,并行处理     常用 I/O 设备、通信设备的性能以及基本工作原理     I/O 接口的功能、类型和特性     I/O控制方式(中断系统、DMA、I/O处理机方式)   2.1.2 存储系统     虚拟存储器基本工作原理,多级存储体系     RAID 类型和特性   2.1.3 可靠性与系统性能评测基础知识     诊断与容错     系统可靠性分析评价     计算机系统性能评测方法      计算机体系结构分类 :     从 宏观 上按 处理机数量 进行分类,分为单处理系统、并行处理与多处理系统和分布式处理系统。     从 微观 上按 并行程度 分类:最为常见分类方式有:Flynn分类法与冯氏分类法。考试中主要考察的是Flynn分类法。        Flynn分类法 是根据指令流、数据流和多倍性三方面来进行分类的:                计算机硬件组成 :     计算机硬件系统是依照冯·诺依曼所设计体系结构,即包括 运算器 、 控制器 、 存储器 、 输入设备 和 输出设备 五大部件组成。     运算器和控制器组成中央处理器(CPU)      运算器 负责完成算术

80x86的硬件基础知识摘要

匿名 (未验证) 提交于 2019-12-02 23:49:02
16位结构的微处理器: 数据总线为16位 主存容量1 MB: 地址总线为20位 (为什么20位对应1MB:1MB = 1024*1024 bytes = 220bytes) 【三种工作模式】 实模式: 8086/8088的工作方式,即存储器分段方式 保护模式: 80286起 ,虚拟存储管理和多任务管理 V86模式: 80386起, 同时模拟多个8086工作 【(程序可见的)寄存器】 通用寄存器:     数据寄存器:       ax:累加器,速度最快       bx:基址寄存器,指示存储器地址       cx :计数器,循环计数       dx:数据寄存器,存放乘除法结果,在I/o中存放端口地址(IO接口寄存器)     地址寄存器:       sp:堆栈指针寄存器,指向栈顶       bp:基址指针寄存器,指向栈中任意数据       si:源变址寄存器       di:目的变址寄存器 专用寄存器:     ip:指令指针寄存器     flags:标志寄存器     zf:零标志,0则置1     sf:符号标志,负号置1     cf:进位标志,有则置1,无符号数溢出判断     of:溢出标志,有则置1,有符号数溢出判断     af:辅助进位标志,低4位有进位则置1     pf:奇偶标志,1的个数为偶数则置1     tf:跟踪标志,单步执行则置1    

vim与系统剪切板之间的复制粘贴

匿名 (未验证) 提交于 2019-12-02 23:47:01
vim各种快捷建溜得飞起,然而与系统剪切板之间的复制粘贴一直都是我的痛。 每次需要从vim中拷贝些文字去浏览器搜索,都需要用鼠标选中vim的文字后, Ctrl+c 、 Ctrl+v ,硬生生掐断了纯键盘的流畅感 而且,vim中的 块选择 多爽,如果只想要拷贝某一个块的数据,鼠标操作就完全没辙了 忍无可忍,无需再忍,今天就彻底解决这个问题 本章参考自 NearXDU的博客 确认vim编辑器是否支持 clipboard 特性 [GMPY@16:33 ~]$ vim --version| grep "clipboard" 支持这特性的检索结果应该包含 +clipboard ,而不支持则会是 -clipboard 如果不支持怎么办?安装新的vim吧。可以参考这边文章 从源码安装vim 本章参考自 rainysia的博客 vim会有一些存储空间来暂存内容,vim中将这些存储空间叫 寄存器 。此寄存器非我们硬件所说的寄存器,可以理解为是一种cache。 例如我们在vim中 y 操作复制的内容,实际就是暂存到寄存器中。 怎么查看寄存器内容呢?在vim中执行 :reg 在vim中,这些寄存器也有好几个 表示符号 名称 作用 "" 无名(unnamed)寄存器 缓存最后一次操作内容 "0 ~ "9 数字(numbered)寄存器 缓存最近操作内容,复制与删除有别, "0 寄存器缓存最近一次复制的内容

ARM 汇编访问 CPSR / SPSR 寄存器 【 msr ,mrs 】

匿名 (未验证) 提交于 2019-12-02 23:43:01
状态寄存器访问过程:读 - 改 - 写 读 CPSR / SPSR 指令【 mrs 】 格式:<opcode><cond> Rn, cpsr/spsr         写 CPSR / SPSR 指令【 msr 】 格式:<opcode><cond> cpsr/spsr , Rn   mrs r0 , cpsr @ 读取 cpsr 中状态放在 r0 中 mov r1 , #0x1F mvn r1 , r1 @ 按位取反在放到 r1 中 and r0 , r0 , r1 @ r1 和 r0 按位与 结果放到 r0 中 清零 r0 中的低 5 λ mov r1 , #1 lsl r1 , r1 , #4 orr r0 , r0 , r1 @ 置 1 第 5 λ 主要改变用户状态 msr cpsr , r0 @ 把 r0 中修改后的数据写入 CPSR 中 , 把 SVC 模式改为 user ģʽ 转载请标明出处: ARM 汇编访问 CPSR / SPSR 寄存器 【 msr ,mrs 】 文章来源: ARM 汇编访问 CPSR / SPSR 寄存器 【 msr ,mrs 】

汇编学习1--寄存器学习

匿名 (未验证) 提交于 2019-12-02 23:42:01
最近发现底层原理知识匮乏,故而重故一下汇编, 以便对系统攻防技术有更好的理解 下图是80X86寄存器整体图示: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 作用:寄存器是 中央处理器 内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存 指令 、 数据 和 地址 。在 中央处理器 的控制部件中,包含的寄存器有 指令寄存器 (IR)和 程序计数器 (PC)。在 中央处理器 的算术及逻辑部件中,寄存器有 累加器 (ACC) (来自百科) 下面对各类寄存器进行介绍: 1. 数据寄存器 作用:数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间 寄存器中数据存储: 在内存中时,由于内存单元是字节单元,刚一个字要用2个地址连续的内存单元来存放,字的低位字节存在低地址单元. 0地址单元中存放的字节型数据为20H,0地址单元中存放的字型数据为4E20H,2地址单元中存放的字节型数据为12H,2地址单元中存放的字型数据为0012H 汇编命令: 2.段寄存器 作用 : 段寄存器 是因为对内存的分段管理而设置的。计算机需要对内存分段,以分配给不同的程序使用

【Java NIO】系统基础

匿名 (未验证) 提交于 2019-12-02 21:53:52
系统硬件 CPU - 中央处理单元 ALU - 算术逻辑单元 PC - 程序计数器 USB - 通用串行总线 总线 总线,贯穿整个系统的一组电子管道,在各个部件间传递字节流信息。 传送定长的字节块,称为字;字中的字节数,称为字长。 处理器 CPU,中央处理单元,是解释/执行存储在主存中指令的引擎。 PC,程序计数器,在任何时间点上,都指向主存中某条机器语言指令(内含其地址)。 寄存器文件,存储设备,CPU的核心。它是一个小的存储设备,由一些字长大小的寄存器组成,这些寄存器每个都有唯一的名字。 ALU计算新的数据和地址值。 从系统通电开始,直到系统断电,处理器一直重复指向相同的基本任务:从PC指向的存储器处读取指令,解析指令,执行指令指示的简单操作,然后更新PC指向下一条指令。 加载 - 从主存中拷贝一个字节或一个字到寄存器,覆盖寄存器原来的内容。 存储 - 从寄存器拷贝一个字节或一个字到主存的某个位置,覆盖这个位置上的原来的内容。 与(And)、或(Or)、非(Not) 组合电路本质上不存储任何信息。它们只是简单地响应输入信号,输出等于输入的某个函数转换。 大多数时候,寄存器都保持在稳定状态(x), 产生的输出等于它的当前状态。信号沿着寄存器前面的组合逻辑传播,产生了一个新的寄存器输入(y), 但只要时钟是低电位,寄存器的输出就保持不变。当时钟变成高电位的时候