寄存器和触发器的区别介绍

电子常识

2585人已加入

描述

  寄存器概要

  寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。而接口寄存器可以同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。

  在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量。

  寄存器分类

  数据寄存器-用来储存整数数字(参考以下的浮点寄存器)。在某些简单/旧的CPU,特别的数据寄存器是累加器,作为数学计算之用。

  地址寄存器-持有存储器地址,用来访问存储器。在某些简单/旧的CPU里,特别的地址寄存器是索引寄存器(可能出现一个或多个)。

  通用目的寄存器(GPRs)-可以保存数据或地址两者,也就是说它们是结合数据/地址寄存器的功用。

  浮点寄存器(FPRs)-用来储存浮点数字。

  常数寄存器-用来持有只读的数值(例如0、1、圆周率等等)。

  向量寄存器-用来储存由向量处理器运行SIMD(SingleInstruction,MultipleData)指令所得到的数据。

  特殊目的寄存器-储存CPU内部的数据,像是程序计数器(或称为指令指针),堆栈寄存器,以及状态寄存器(或称微处理器状态字组)。

  指令寄存器(instructionregister)-储存现在正在被运行的指令。

  索引寄存器(indexregister)-是在程序运行时用来更改运算对象地址之用。

  在某些架构下,模式指示寄存器(也称为“机器指示寄存器”)储存和设置跟处理器自己有关的数据。由于他们的意图目的是附加到特定处理器的设计,因此他们并不被预期会成为微处理器世代之间保留的标准。

  有关从随机存取存储器提取信息的寄存器与CPU(位于不同芯片的储存寄存器集合)

  存储器缓冲寄存器(Memorybufferregister)

  存储器数据寄存器(Memorydataregister)

  存储器地址寄存器(Memoryaddressregister)

  存储器型态范围寄存器(MemoryTypeRangeRegisters)

  向量寄存器

触发器
 

  寄存器特点与用途

  特点:

  ①寄存器位于CPU内部,数量很少,仅十四个

  ②寄存器所能存储的数据不一定是8bit,有一些寄存器可以存储16bit数据,对于386/486处理器中的一些寄存器则能存储32bit数据

  ③每个内部寄存器都有一个名字,而没有类似存储器的地址编号。

  用途:

  1.可将寄存器内的数据执行算术及逻辑运算

  2.存于寄存器内的地址可用来指向内存的某个位置,即寻址

  3.可以用来读写数据到电脑的周边设备。

触发器

  触发器概要

  触发器(trigger)是SQLserver提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。触发器可以从DBA_TRIGGERS,USER_TRIGGERS数据字典中查到。SQL3的触发器是一个能由系统自动执行对数据库修改的语句。

  触发器可以查询其他表,而且可以包含复杂的SQL语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根据客户当前的帐户状态,控制是否允许插入新订单。

  触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。

  触发器与存储过程的唯一区别是触发器不能执行EXECUTE语句调用,而是在用户执行Transact-SQL语句时自动触发执行。

  触发器分类

  1、DML触发器

  当数据库中表中的数据发生变化时,包括insert,update,delete任意操作,如果我们对该表写了对应的DML触发器,那么该触发器自动执行。DML触发器的主要作用在于强制执行业务规则,以及扩展SqlServer约束,默认值等。因为我们知道约束只能约束同一个表中的数据,而触发器中则可以执行任意Sql命令。

  2、DDL触发器

  它是SqlServer2005新增的触发器,主要用于审核与规范对数据库中表,触发器,视图等结构上的操作。比如在修改表,修改列,新增表,新增列等。它在数据库结构发生变化时执行,我们主要用它来记录数据库的修改过程,以及限制程序员对数据库的修改,比如不允许删除某些指定表等。

  3、登录触发器

  登录触发器将为响应LOGIN事件而激发存储过程。与SQLServer实例建立用户会话时将引发此事件。登录触发器将在登录的身份验证阶段完成之后且用户会话实际建立之前激发。因此,来自触发器内部且通常将到达用户的所有消息(例如错误消息和来自PRINT语句的消息)会传送到SQLServer错误日志。如果身份验证失败,将不激发登录触发器。

  触发器作用

  1、可在写入数据表前,强制检验或转换数据。

  2、触发器发生错误时,异动的结果会被撤销。

  3、部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。

  4、可依照特定的情况,替换异动的指令(INSTEADOF)。

  寄存器和触发器的区别

  寄存器是由触发器和门电路构成的。寄存器中的一个位用简单的同步D触发器就可以了,8位的寄存器很明显就是用了8个同步D触发器。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分