14、芯片与寄存器的介绍
- 格式:pdf
- 大小:431.33 KB
- 文档页数:8
寄存器的工作原理
寄存器是计算机中的一种存储器件,用于暂时存放指令、数据和地址等信息。
它的主要工作原理如下:
1. 存储功能:寄存器可以存储二进制数值,通常以位(bit)
为单位。
不同的计算机体系结构有不同的寄存器位数,例如8位、16位、32位或64位等。
寄存器通过内部的触发器电路来
保存数值,这些触发器的状态在电路中通过稳定的电压和电流来维持,从而实现长期存储。
2. 数据传输:寄存器用于在计算机各个部件之间传输数据。
它可以接收来自内存、输入设备、输出设备和其他寄存器的数据,也可以将数据发送给这些部件。
数据传输可以通过总线实现,寄存器与总线之间的连接允许高速数据传输。
3. 寄存器与CPU的关系:寄存器是与中央处理器(CPU)紧
密关联的硬件部件。
CPU可直接访问寄存器,能够快速读取
和写入寄存器中的数据。
寄存器可用作暂存器,存储正在运算的操作数和结果,并能够快速执行各种算术和逻辑操作。
4. 寄存器的种类:计算机中存在多种类型的寄存器,如通用寄存器、程序计数器、指令寄存器、栈指针寄存器、标志寄存器等。
不同类型的寄存器用于不同的目的和任务,有助于提高计算机的性能和功能。
总之,寄存器在计算机中起着重要的作用,它们通过存储和传
输数据来支持计算机的运算和运行。
寄存器具有高速的读写能力,在计算机的各个部件之间承担着数据交流的重要角色。
计算机组成原理复习题及参考答案(AB)《计算机组成原理》课程复习资料⼀、选择题:1.定点运算器⽤来进⾏ [ ]A.⼗进制数加法运算B.定点数运算C.浮点数运算D.即进⾏定点数运算也进⾏浮点数运算2.某SRAM芯⽚,其存储容量为64K×16位,该芯⽚的地址线和数据线数⽬为 [ ]A.64,16B.16,64C.64,8D.16,163.⽬前的计算机中,代码形式是 [ ]A.指令以⼆进制形式存放,数据以⼗进制形式存放B.指令以⼗进制形式存放,数据以⼆进制形式存放C.指令和数据都以⼆进制形式存放D.指令和数据都以⼗进制形式存放4.采⽤DMA⽅式传送数据时,每传送⼀个数据就要⽤⼀个 [ ]A.指令周期B.数据周期C.存储周期D.总线周期5.冯·诺依曼机⼯作⽅式的基本特点是 [ ]A.多指令流单数据流B.按地址访问并顺序执⾏指令C.堆栈操作D.存储器按内容选择地址6.某机字长32位。
其中1位符号位,31位表⽰尾数。
若⽤定点整数表⽰,则最⼤正整数为 [ ]A.+(231-1)B.+(230-1)C.+(231+1)D.+(230+1)7.下列数中最⼤的数是 [ ]A.(100110001)2B.(227)8C.(98)16D.(152)108.哪种表⽰法主要⽤于表⽰浮点数中的阶码? [ ]A.原码B.补码C.反码D.移码9.由于CPU内部的操作速度较快,⽽CPU访问⼀次主存所花的时间较长,因此机器周期通常⽤下列哪个来规定 [ ]A.主存中读取⼀个指令字的最短时间B.主存中读取⼀个数据字的最长时间C.主存中写⼊⼀个数据字的平均时间D.主存中取⼀个数据字的平均时间10.下⾯叙述的概念中哪个是正确的 [ ]A.总线⼀定要和接⼝相连B.接⼝⼀定要和总线相连C.通道可以代替接⼝D.总线始终由CPU控制和管理11.在定点⼆进制运算器中,减法运算⼀般通过下列哪个来实现 [ ]A.原码运算的⼆进制减法器B.补码运算的⼆进制减法器C.补码运算的⼗进制加法器D.补码运算的⼆进制加法器12.下列有关运算器的描述中哪个是正确的 [ ]A.只作算术运算,不作逻辑运算B.只作加法C.能暂时存放运算结果D.以上答案都不对13.某DRAM芯⽚,其存储容量为512K×8位,该芯⽚的地址线和数据线数⽬为 [ ]A.8,512B.512,8C.18,8D.19,814.完整的计算机系统应包括 [ ]A.运算器存储器控制器B.外部设备和主机C.主机和应⽤程序D.配套的硬件设备和软件系统15.没有外存储器的计算机初始引导程序可以放在 [ ]A.RAMB.ROMC.RAM和ROMD.CPU⼆、名词解释:1.CPU周期2.存取时间3.存储设备数据传输率4.微指令格式5.同步通信6.接⼝7.计算机硬件8.正逻辑9.指令的编码格式10.指令周期11.存储周期12.微命令三、简答题:1.计算机中为什么采⽤⼆进制数码?2.主存储器的性能指标主要有哪些?含义是什么?3.计算机的主要性能指标包括哪些?4.CPU结构如图所⽰,其中⼀个累加寄存器AC,⼀个状态条件寄存器和其它四个寄存器,各部分之间的连线表⽰数据通路,箭头表⽰信息传送⽅向。
存储器与寄存器的组成与工作原理存储器与寄存器是计算机系统中重要的组成部分,它们在数据存储和处理方面发挥着关键的作用。
本文将从存储器与寄存器的组成结构、工作原理两个方面进行介绍。
一、存储器的组成与工作原理存储器,简单来说,是用于存储和读取数据的计算机设备。
它由一系列存储单元组成,每个存储单元能够存储一定数量的数据。
根据存取方式的不同,存储器可以分为随机存储器(RAM)和只读存储器(ROM)。
1. 随机存储器(RAM)随机存储器是一种临时存储介质,具有读写功能。
它由一系列存储单元组成,每个存储单元都有一个独立的地址。
数据可以通过地址访问和存取。
随机存储器的存储单元可以分为静态随机存储器(SRAM)和动态随机存储器(DRAM)两种。
静态随机存储器(SRAM)由触发器组成,每个存储单元由6个触发器构成,能够稳定地存储数据。
它的读写速度较快,但芯片密度较低,价格较高。
动态随机存储器(DRAM)利用电容器存储数据,需要定期刷新来保持数据的有效性。
相较于SRAM,DRAM的芯片密度较高,价格也较低,但读写速度较慢。
2. 只读存储器(ROM)只读存储器是一种只能读取数据而不能写入数据的存储设备。
它通常用于存储不会改变的程序代码和固定数据。
只读存储器的存储单元由硅片上的门电路组成,数据在制造过程中被写入,不可修改。
二、寄存器的组成与工作原理寄存器是一种用于暂存和处理数据的高速存储设备。
它位于计算机的中央处理器内部,是一组用于存储指令、地址和数据的二进制单元。
寄存器的组成与存储器相比较小,但速度更快。
它由多个存储单元组成,每个存储单元能够存储一个或多个二进制位。
寄存器的位数决定了其可以存储的数据量大小。
寄存器在计算机中发挥着重要的作用,它可以用于暂存指令和数据,提高计算机的运行效率。
它还可以用于存储地址,使得计算机能够正确地访问存储器中的数据。
寄存器具有多种类型,常见的有通用寄存器、程序计数器、指令寄存器等。
通用寄存器用于存储临时数据,程序计数器用于存储下一条要执行的指令地址,指令寄存器用于存储当前正在执行的指令。
寄存器百科名片32位CPU的寄存器结构寄存器是中央处理器内的组成部分。
寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。
在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
目录寄存器定义寄存器特点工作原理寄存器用途寄存器分类18086的寄存器指令指针IP(Instruction Pointer)1标志寄存器FR(Flag Register)1段寄存器(Segment Register)180386寄存器通用寄存器1用作内存指针的特殊寄存器1段选择器1指令指针寄存器1其他寄存器展开编辑本段寄存器定义寄存器英文名称:Register寄存器寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。
寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个“8 位元寄存器”或“32 位元寄存器”。
寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出来。
寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。
更适当的是称他们为“架构寄存器”。
例如,x86 指令集定义八个32 位元寄存器的集合,但一个实作x86 指令集的CPU 可以包含比八个更多的寄存器。
寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。
编辑本段寄存器特点寄存器又分为内部寄存器与外部寄存器,所谓内部寄存器,其实也是一些小的存储单元,也能存储数据。
但同存储器相比,寄存器又有自己独有的特点:①寄存器位于CPU内部,数量很少,仅十四个;②寄存器所能存储的数据不一定是8bit,有一些寄存器可以存储16bit数据,对于386/486处理器中的一些寄存器则能存储32bit数据;③每个内部寄存器都有一个名字,而没有类似存储器的地址编号。
以太⽹物理接⼝类型介绍与信号定义以太⽹物理接⼝介绍⼀、以太⽹接⼝类型以太⽹接⼝常⽤有双绞线接⼝(俗称电⼝)和光纤接⼝(俗称光⼝)2种。
另外还有早期的同轴电缆接⼝。
下⾯是常⽤以太⽹接⼝的代号:10BASE2: 采⽤细同轴电缆接⼝的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 10.)10BASE5: 采⽤粗同轴电缆接⼝的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 8.)10BASE-F:采⽤光纤电缆接⼝的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 15.)10BASE-T:采⽤电话双绞线的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 14.)100BASE-FX: 采⽤两个光纤的IEEE 802.3 100Mb/s 物理层规格 (参见 IEEE 802.3 Clauses 24 and 26.)100BASE-T2: 采⽤两对3类线或更好的平衡线缆的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 32.)100BASE-T4: 采⽤四对3、4、5类线⾮屏蔽双绞线的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 23.)100BASE-TX: 采⽤两对5类⾮屏蔽双绞线或屏蔽双绞线的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clauses 24 and 25.) 1000BASE-CX: 1000BASE-X 在特制的屏蔽电缆传输的接⼝规格(参见 IEEE 802.3 Clause 39.)1000BASE-LX: 1000BASE-X 采⽤单模或多模长波激光器的规格(参见 IEEE 802.3 Clause 38.)1000BASE-SX: 1000BASE-X 采⽤多模短波激光器的规格(参见 IEEE 802.3 Clause 38.)1000BASE-T: 采⽤四对五类平衡电缆的1000 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 40.)1.电⼝电⼝传输距离标准为100m,电⼝采⽤RJ-45接⼝。
《计算机组成原理》总结完整版《计算机组成原理》学科复习总结★第⼀章计算机系统概论本章内容:本章主要讲述计算机系统的组成、计算机系统的分层结构、以及计算机的⼀些主要指标等需要掌握的内容:计算机软硬件的概念,计算机系统的层次结构、体系结构和计算机组成的概念、冯.诺依曼的主要思想及其特点、计算机的主要指标本章主要考点:概念1、当前的CPU由哪⼏部分组成?控制器、运算器、寄存器、cache (⾼速缓冲存储器)2、⼀个完整的计算机系统应包括哪些部分?配套的硬件设备和软件系统3、什么是计算机硬件、计算机软件?各由哪⼏部分组成?它们之间有何联系?计算机硬件是指计算机的实体部分,它由看得见摸得着的各种电⼦元器件,各类光、电、机设备的实物组成。
主要包括运算器(ALU)、控制器(CU)、存储器、输⼊设备和输出设备五⼤组成部分。
软件是计算机程序及其相关⽂档的总称,主要包括系统软件、应⽤软件和⼀些⼯具软件。
软件是对硬件功能的完善与扩充,⼀部分软件⼜是以另⼀部分软件为基础的再扩充。
4、冯·诺依曼计算机的特点●计算机由运算器、存储器、控制器、输⼊设备和输出设备五⼤部件组成●指令和数据以同等地位存于存储器内,可按地址寻访●指令和数据⽤⼆进制表⽰●指令由操作码和地址码组成,操作码⽤来表⽰操作的性质,地址码⽤来表⽰操作数在存储器中的位置●指令在存储器内按顺序存放●机器以运算器为中⼼,输⼊输出设备和存储器间的数据传送通过运算器完成5、计算机硬件的主要技术指标●机器字长:CPU ⼀次能处理数据的位数,通常与CPU 中的寄存器位数有关●存储容量:存储容量= 存储单元个数×存储字长;MAR(存储器地址寄存器)的位数反映存储单元的个数,MDR(存储器数据寄存器)反映存储字长主频吉普森法●运算速度MIPS 每秒执⾏百万条指令CPI 执⾏⼀条指令所需的时钟周期数FLOPS 每秒浮点运算次数◎第⼆章计算机的发展及应⽤本章内容:本章主要讲述计算机系统、微型计算机系统的发展过程以及应⽤。
理解芯片控制的原理
如果要说做单片机很难吗?其实并不难,用3句话就可以讲明白:
第1句话:芯片管脚不是输入,就是输出。
我们所有的程序,用单片机控制的产品,以及外设,无非就是控制芯片的各个管脚输入或者输出两个状态;例如,芯片发送数据就是输出;芯片驱动一个产品,也是输出;芯片接收数据就是输入;单片机对一个存储芯片写输入,可以理解为单片机与存储芯片连接的管脚输出状态,输出数据到存储芯片的管脚上,而存储芯片此时它的芯片对应管脚被配置成输入,将数据写入到芯片内部。
所以说,芯片管脚不是输入,就是输出,当然,如果你不使用这个管脚,也可以将它配置成某一种中间状态,免得干扰了外界,影响了PCB板上的其他元器件状态。
第2句话:芯片管脚不是高电平,就是低电平。
无论管脚是输入还是输出,它的目的是传输数据,传输信息,所以要么是高电平,要么低电平,通过010101这样的数据来传输它想传输的内容;这个就是所谓的二进制。
第3句话:传输协议。
什么是传输协议,比如与串口芯片通信,那么就要是串口协议的;如果是I2C 协议的EERPOM,那么就是I2C协议;还有其他一些比如485协议,CAN协议,USB协议,SD卡的SDIO协议…….等等数不胜数。
而这些协议,无非就是按照预先规定的表达方式进行通信,比如举个例子,我约定先连续发4个1,,然后再发4个0,就表示芯片A要开始发数据给芯片B 了,即芯片A通过它的芯片管脚发‘11110000’给到芯片B的时候,那么芯片B 就知道芯片A要给它真正的数据,它就要做好准备工作,准备好之后,芯片B 就会给芯片A一个回应,当芯片A收到芯片B的回应,就正式开始发数据。
这样通信双方之间的协商规定,就构成了协议,经过这么多年,就形成了我们所常见到的串口协议,CAN协议,USB协议(像USB协议又分为USB1.0协议,USB2.0协议,USB3.0协议,版本越高,速度就越快,协议进行优化后,通信效率也变高了)。
不知道大家理解了没有呢?所以总结下来,一个芯片最简单的外设莫过于
I/O口的高低电平控制,我们这里将详细讲解一下如何用一个I/O口去控制一个LED灯的亮灭。
芯片管脚控制LED灯原理图解释
芯片管脚如何控制一个LED灯,大家看一下下面的原理图,我们想用STM32的管脚PD2去驱动LED1这个LED灯亮,只要使得PD2输出低电平,LED灯就会变亮;如果PD2输出高电平,LED灯就会熄灭。
为什么这么接呢?我重复上面已经说过的内容,首先我们要知道LED 的发光工作条件,不同的LED 其额定电压和额定电流不同,一般而言,红或绿颜色的LED 的工作电压为1.7V~2.4V,蓝或白颜色的LED 工作电压为2.7~4.2V,直径为3mm LED 的工作电流2mA~10mA。
在这里采用绿色的LED。
其次,STM32 单片机(如本实验板中所使用的STM32F107VCT芯片)的I/O 口作为输出口时,向外输出电流的能力是25mA左右,勉强是可以点亮一个发光二极管,但是如果我们用STM32去点亮很多个LED灯的时候,就有可能造成芯片本身输出电流不足(因为芯片能输出的总电流大小是恒定的)。
而灌电流(要VCC往内输入电流)的方式确非常轻松,利用灌电流的方式驱动发光二极管是比较常见的一种用法,无论接多少LED,芯片管脚的负荷都非常轻。
当然,现今的一些增强型单片机,是采用拉电流输出的,只要单片机的输出电流能力足够强即可。
另外,图中的电阻为1K 阻值,是为了限制电流,让发光二极管的工作电流限定在2mA~10mA。
芯片管脚控制原理(如何阅读芯片手册)
实际上,点亮这个LED灯,只需要使得我们的STM32芯片的PD2管脚输出低电平就可以了,那么如何控制一个PD2管脚的状态呢?
我们来举个例子,实际上STM32的PD2管脚的状态是由STM32芯片内部的一些寄存器来控制的,通过这些寄存器,可以控制将管脚配置成输出或者输入,
拉高还是拉低。
芯片通过获取寄存器不同的值,对应我们的STM32芯片手册寄存器说明书,就可以知道芯片就相当于获得了不同的命令,获取命令后就开始执行命令,大家可以看下图,打开这个文档RM0008手册
,这是一个754页的翻译成
中文版的PDF手册:
翻到第6页,可以看到,我们的STM32神舟IV号适用该手册
器的章节,具体内容大家自己打开文档阅读一下:
我们进入文档,看其中一个寄存器到底写了些什么:
可以看到,从0~31总共有32个位的寄存器,可以去设置;其中0、1和4、5和8、9和12、13位以此类推到28、29每两个位为一个组,每组有4个状态,每个状态都对应不同的模式,比如这2个位都是1则表示‘输出模式,最大速度50MHz’,2个为都是0则表示‘输入模式(复位后的状态)’;
上面CNFy配置端口8种模式也是同样的道理,至于为什么有这八种模式,大家可以去查阅一下手册。
是不是看得有点头晕了,但是没有办法,我们就是通过改变这些寄存器的值来设置芯片管脚的,使得芯片管脚按寄存器手册里的规定来进行相应的工作,可以是输出或输入,可以是高电平或是低电平(这个是另外一个寄存器来控制,大家可以对应看手册里的寄存器说明),从而达到我们控制一个LED灯亮和灭。
那么我们怎么来改变这些寄存器呢?那寄存器的值保存在什么位置呢?答案就是在SRAM里,在内存映射里。
从芯片一上电,正常工作开始,所有寄存器
的值都会在实时保存在内存中的一个固定地址,这个固定地址也是芯片厂商一开始就定好了的,不能改变,大家看下图:
比如我们要访问GPIO管脚PD2,那么首先就要找到端口D的位置,即Port D;我们可以从上图找到,Port D的位置在内存中的0x4001 1400这个地址,那么再看一下手册的寄存器描述
看到一个偏移地址没?对,GPIOD_CRL这个寄存器的地址在哪呢?就在Port B 的位置+偏移地址就可以算出它的地址,即:
GPIOB_CRL寄存器地址:0x4001 1400 + 0x00 = 0x4001 1400
我们再看一个地址:
GPIOB_CRL寄存器地址:0x4001 1400 + 0x04 = 0x4001 1404
也就是说,当我们访问0x4001 1404这个地址所指向的内容时,实际上就是在访问GPIOB_CRH这个寄存器了,就这么简单。