北航微机原理复习
北航微机原理第6讲 ARM指令系统(3)

3.3.3 ARM指令
• ARM指令集——程序如何跳转
在ARM中有两种方式可以实现程序的跳转:
1.直接向PC寄存器赋值实现跳转;
例:
MOV
PC,R14
2.使用分支指令直接跳转。
2013/11/20
微机原理与接口技术(基于嵌入式芯片)
31
3.3.3 ARM指令
• ARM指令集—— 分支指令
OpCode
操作数 R3
0x00000005
相与 为 条件标志 0
0x02
2013/11/20
微机原理与接口技术(基于嵌入式芯片)
21
3.3.3 ARM指令
• 比较指令
应用示例: TEQ R3,R2 ; R3与R2是否相等并影响标志位 异或 不等 条件标志 与CMP的区别在于TEQ不影响C(进、借、扩展位)和V(溢出) 位,也就是只能判断是否相等,而不能判断是否大于,或小于。
运算寄存器,操作数 运算寄存器 运算符 操作数
影响标志位
2013/11/20 微机原理与接口技术(基于嵌入式芯片) 18
3.3.3 ARM指令
• 比较指令
比较运算符: CMP:数值比较 CMN:负数比较 TST:位测试 TEQ:相等测试
OpCode
2013/11/20
微机原理与接口技术(基于嵌入式芯片)
3.3.3 ARM指令
• 算术逻辑运算指令
部分算术运算符: ADD:加法运算 ADC:带进位加法运算
OpCode
SUB:减法运算 RSB:逆向减法运算 SBC:带进位减法运算 RSC:带进位逆向减法运算
2013/11/20
微机原理与接口技术(基于嵌入式芯片)
10
北航微机原理-第四章PPT课件

定义宏:在代码段外定义 引用宏:在代码段内调用
举例:定义宏在引用宏之前 与子程序区别
调用方法不同:宏名 Vs. CALL指令 传递参数方式不同:实参/形参 Vs. R/M/堆栈 目标程序长度不同:宏展开 Vs. 同一目标程序段 执行速度不同:无需保存返回地址 Vs. 返回地址入栈出栈
100 DUP(?) 1,2,3 ‘ABCD’
汇编时,形成指令:
MOV CX, 100 MOV BL, 1 MOV AL, 1
MASM中的表达式
SEG, OFFSET
SIZE (SIZE = TYPE* LENGTH)
返回变量包含的总字节数 例如
MOV CX, SIZE M1
MOV BL, SIZE M2
目标文件 *.OBJ
LINK.EXE 链接
可执行文件 *.exe
程序错误 汇编错误—>MASM
运行错误—>调试工具Debug
汇编语言程序的执行
1、编写
使用文本编辑工具,以ASCII码的形式编写程序,程序文件后 缀名为.ASM
2、汇编
把源文件翻译成目标文件,.ASM->.OBJ,使用MASM命令, 如:C:\>MASM 文件名[.ASM];
START: PUSH DS XOR AX,AX
指令
PUSH AX
MOV AX, DATA
MOV DS, AX MOV DX, OFFSET X MOV AH, 9 INT 21H
由段组成 段定义伪指令格式
RET MAIN ENDP
由指令和伪指令组成
CODE ENDS
END MAIN
汇编语言程序分析
MOV AL, SIZE M3 汇编时,形成指令:
北航微机原理-试题

INC LOOP MOV MOV OUT MOV OUT MOV OUT MOV OUT
DX WRITE DX, DMA+0BH AL, 40H DX, AL AL, 41H DX, AL AL, 96H DX, AL AL, 43H DX, AL
微机原理与接口技术
秦红磊
北京航空航天大学电子信息工程学院
微机原理及接口技术
试题(一)
一. 填空题
1. 微型计算机由 、 、 和 等 四部分组成。 2. 中断类型码为13H,其中中断向量在中断向量 表中的地址为 。 3. 使用8K×8的RAM芯片6264扩展32K字节的存储 体,需要 片6264。 4. 输入/输出的控制方式有 、 、 。
解:典型的DMA传送数据工作流程图如下:
DMA请求 DMA响应 发送存储器地址 传送数据 修改地址并计数 N
传送结束? Y DMA结束
三. 编写一个宏汇编语言程序,计算 A=3X*Y+Z-100。 要求 1.写出程序并注释; 2.画出内存分配图; 3.假设X=20,Y=58,Z=30,给出程序每步 结果。
解:
(1)程序及注释: DATA SEGMENT ; 定义数据段 MOV BL,Y X DB 20 ;输入变量定义 MUL BL ; Y DB 58 MOV CX,AX ; Z DB 30 ADD AX,AX ; A DW ? ; 输出变量定义 ADD AX,CX ; DATA ENDS MOV DL,Z CODE SEGMENT ; 代码段 MOV DH,0 ASSUME CS:CODE,DS:DATA ADD AX,DX ; MAIN PROC FAR SUB AX,100 ; START: PUSH DS ;保护返回地址 MOV A,AX ; SUB AX,AX RET ; PUSH AX MAIN ENDP MOV AX,DATA ;数据段的初始化 CODE ENDS MOV DS,AX END START ; MOV AL,X
微机原理期末复习:微机原理期末复习.docx

微机原理期末复习第2章计算机的基本结构与工作过程1.计算机的基本组成及各个组成部件的基本功能运算器运算器是进行算术运算(如加、减、乘、除等)和逻辑运算(如非、与、或等)的装置。
通常由算术逻辑部件ALU、专用寄存器X、Y和Z、累加器、通用寄存器RO、R1、…、Rn-1以及标志寄存器F组成。
核心部件ALU用于完成算术运算和逻辑运算。
X、Y是ALU的输入寄存器,Z是ALU的输出寄存器。
X、Y、Z是与ALU不可分的一部分,通常称为ALU的数据暂存器。
X、Y中的数据可来自通用寄存器,也可来自存储器。
Z中的数据可送往通用寄存器,也可送往存储器。
F用于存放运算结果的状态,例如,结果是否为零,是正还是负,有无进位,是否溢出,等等。
控制器为了实现对计算机各部件的有效控制,快速准确地取指令、分析指令和执行指令, 控制器通常由下而几部分组成:指令寄存器IR一一用于存放正在执行或即将执行的指令。
程序计数器PC——用于存放下一条指令的存储单元地址,它具有自动增量计数的功能。
存储器地址寄存器MAR——用于在访存时缓存存储单元的地址。
存储器数据寄存器MDR——用于在访存时缓存对存储单元读/写的数据。
指令译码器ID——用于对IR屮的指令进行译码,以确定IR屮存放的是哪一条指令。
控制电路一一产牛时序脉冲信号,并在时序脉冲的同步下对有关的部件发出微操作控制命令(微命令),以控制各个部件的动作。
输入设备用来输入数据和程序的装置,其功能是将外界的信息转换成机内的表示形式并传送到计算机内部。
常见的输入设备有键盘、鼠标、图形数字化仪、图像扫描仪等等。
输出设备用来输出数据和程序的装置,其功能是将计算机内的数据和程序转换成人们所需要的形式并传送到计算机外部。
常见的输出设备有显示器、打印机.绘图机等等。
存储器计算机中的指令和数据都表现为二进制数码。
为了准确地对存储器进行读或写,通常以字节(或以字)为单位将存储器划分为一个个存储单元,并依次对每一个存储单元赋予一个序号,该序号称为存储单元的地址。
北航计算机组成原理总复习

北航计算机组成原理总复习计算机组成原理是计算机科学与技术专业的一门重要课程,它主要研究计算机的基本原理、结构和工作原理。
下面将对北航计算机组成原理进行总复习,包括计算机的基本组成、存储器层次结构、指令系统和流水线技术等方面内容。
一、计算机的基本组成1.计算机硬件的五大基本组成部分:运算器、控制器、存储器、输入设备、输出设备。
2.计算机内部采用二进制表示,包括数据和指令都以二进制形式存储和处理。
3.计算机的性能指标:主频、存储容量、主存储器带宽、硬盘容量等。
二、存储器层次结构1.存储器层次结构的由低到高依次为:寄存器、高速缓存、主存储器、辅助存储器。
2.高速缓存的工作原理:利用时间和空间局部性原理,存放主存频繁访问的数据和指令,提高存储器访问速度。
3.主存储器的特点和访问方式:存储速度较快,采用随机访问方式。
三、指令系统1.指令系统的主要组成部分:操作码和地址码。
2.指令系统的类型:-RISC(精简指令集):指令长度固定,时间分布均匀,指令执行周期较短。
-CISC(复杂指令集):指令长度可变,时间分布不均匀,指令执行周期较长。
-MISC(微指令集):指令长度短,指令执行周期较短。
3.指令寻址方式:立即寻址、直接寻址、间接寻址、寄存器寻址等。
四、流水线技术1.流水线的概念:将指令的处理过程分成多个步骤,使多条指令可同时执行。
2.流水线的五个阶段:取指令、指令译码、执行指令、访存取数、写回结果。
3.流水线的优点:提高了指令的执行效率,缩短了执行时间。
4.流水线的冒险和解决方法:-结构冒险:通过优化硬件结构来解决,如增加多个运算器、加大寄存器容量等。
-数据冒险:通过转发、插入空指令、延迟加载等方法解决。
-控制冒险:通过分支预测和延迟分支等方法解决。
五、中断与异常1.中断:来自外部设备的信号,打断正常的程序执行。
-可屏蔽中断:可以根据需要屏蔽一些中断。
-不可屏蔽中断:无法屏蔽的中断,如计算机硬件故障等。
2.异常:指程序在执行过程中出现的错误或意外情况。
北航计算机组成原理总复习

CPU
Word
Block
Cache
Main Memory
9
高速缓冲存储器(Cache)的原理
Cache的基本结构
¾存储机构:保存数据,存取数据,一般采用SRAM构成。以Block
(若干字)为单位; ¾地址机构:地址比较机制,地址转换机制,地址标记(Tag),一
个Block具有一个Tag; ¾替换机制:记录Block的使用情况,替换策略,有效位(v)记录对
括寻址模式编码。有时操作数是隐含的。 ¾寻址方式数量:有时寻址方式可以是隐含的(由操作
码决定) 。 ¾寄存器数量 :确定寄存器编码的位数。 ¾地址范围:存储器直接寻址很少见,但变址(或基
址)寻址时,较大的寻址范围必须以较多的 displacement位数为前提。 ¾编址粒度(Address Granularity):字节编址或字编址。 字节编址方便,但要以更多的地址位数为代价。
¾先进先出法(FIFO,First-In-First-Out):最先装入数据的块被替换 ¾最小使用频率法 (LFU,Least-Frequently Used):记录每一个数据块
的使用频率,使用次数最少的被替换 ¾随机法(RAND,Random):随机选择一个数据块进行替换
15
16
Cache的容量
Cache的容量 ¾不作特殊申明时,Cache的容量指Cache所有数据块的容量 ¾Cache实际总的存储容量实际上还包含tag和valid bit的位数
3
存储单元电路
SRAM存储单元电路
DRAM存储单元电路
SRAM的特点 ¾触发器原理 ¾集成度低 ¾功耗大
DRAM的特点 ¾电容充放电原理 ¾集成度高 ¾功耗小 ¾需要刷新(读、放大、再写入)
北航微机原理课件第七讲 逻辑运算指令

以“与”指令为例,讨论注意事项:
•
•
“与”指令中操作数不能同时为存储器;
影响条件码: CF=0F=0, AF未定义 , SF ↕ ↕ ZF ↕ PF
“与”指令的用途:
(1) 清CF , 自己“与”自己. 操作数不变 ,CF=0 例:AND AL,AL ; (2) 结果:操作数不变 ,CF=0。
使操作数中若干位保持不变,若干位与“1”相与; 而若干位置为“0 “的场合,若干位与“0” 相与。
思路: • • 第一个数取出 ( AX), 取出第二个数(第二个字单元内容)与(AX)比较 : (AX)>第二个数,不做交换, 否则,(第二个字单元内容) (AX)。
•
•
再取第三个数,
… 经过99次比较,在(AX)中得到最大数。 …
编程:
MOV BX,OFFSET BLOCK MOV AX,[BX] INC BX INC BX MOV CX,99 AGAIN:CMP AX,[BX] JG NEXT MOV AX,[BX] INC BX INC BX DEC CX JNZ AGAIN MOV MAX,AX ;(AX) 大,转NEXT
15.DIV
16.LEA
DX,DI
;错 LEA源操作数应为一个存储器操作数, 不能是寄存器
;错 MUL为单操作数指令, 且源操作数不能为立即数,AX隐含
17.MUL
AX,200H
18.MOV
AX,[BX+BP];错 无[BP+BX]寻址,理由同第12题
19.CMP [BX],[SI] 21.OUT 22.AND 23.JNZ DX,BX 0FH,AL AAA
(2) 当(CX)≠0,
(CX) (CX) -1 , (3) 执行REP后的串指令, (4) 重复(1)~(3)。
北航微机原理第7讲 ARM指令系统(4)

1.将CPSR寄存器内容读出到
3.将修改后的值写回 CPSR寄
R0;
2.修改对应于CPSR中的I控
存器的对应控制域;
4.返回上一层函数;
17
制位;
2013/11/20 微机原理与接口技术(基于嵌入式芯片)
3.3.3 ARM指令
ARM指令种类
1.存储器访问指令 2.数据处理指令 3.乘法指令 4.ARM分支指令 5.协处理器指令 6.杂项指令 7.伪指令
• ARM杂项指令——软中断指令
用户模式 1.使用操作系统后,为 了防止出错的任务影响 其它任务的执行,通常 将任务放在用户模式执 行,以限制其权限; 任务1 管理模式 功能1:打开中断
任务2
功能2:关闭中断 …… 功能n:任务调度
2.对于一些重要的操作, …… 如中断的开关,必须由 操作系统完成。使用软 其它代码 件中断指令即可完成系 统功能调用;
2013/11/20
微机原理与接口技术(基于嵌入式芯片)
11
• ARM杂项指令——状态寄存器写指令 “MSR”
在ARM处理器中,只有MSR指令可以对状态寄存器CPSR 和SPSR进行写操作。与MRS配合使用,可以实现对CPSR或 SPSR寄存器的读-修改-写操作,可以切换处理器模式等操作。
MSR
psr_field,操作数
BICNE R0, R0, #0xFF00; 取得Thumb指令的8位立即数 LDREQ R0, [LR,#-4] BICEQ R0, R0, #0xFF000000 ... LDMFD SP!, {R0-R3, R12, PC}^
2013/11/20
; 若是ARM指令,读取指令码(32位) ; 取得ARM指令的24位立即数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/7/13
12
数据寄存器
地址指针及 变址寄存器
通用寄存器组
控制寄存器组
段寄存器组
School of Automation Science and Electrical Engineering
1. 8086/8088微处理器结构
通用寄存器特点
– 一般,通用寄存器可以用于任何指令的任意操作,可以相 互替换;
– 等待状态Tw – 空闲状态Ti
2020/7/13
19
School of Automation Science and Electrical Engineering
Reset引脚复位后相关寄存器的初始状态(*)
寄存器 标志寄存器
初始状态 清0
寄存器 IP
初始状态 0000H
CS SS 指令队列缓冲器
1. 8086/8088微处理器结构
BIU/指令队列缓冲器
• 8088为4字节,8086为6字节。
• EU与BIU的协同工作:取指令和执行指令可以并行
BIU/IP—指令指针寄存器 BIU/总线控制逻辑电路 BIU/地址加法器
20位地址加法器,它将段寄存器提供的段地址自动乘以 10H,即左移4位,再与16位的偏移地址相加,并锁存在 物理地址锁存器中。
数据 寄存器
指针和变址 寄存器
通用寄存器
AB(20位 )
AH AL AX BH BL BX
地址 加法器 ∑
CH CL CX
DH DL DX SP
CS DB(16位 )
BP
DS
SI
SS
DI
ES
ALU 数 据 总 线 (16位 )
IP 内部寄存器
总线控制 电路
8086总 线 DB(16位 )
暂存寄存器
ALU
– 对外8条数据线 – 20条地址线 – 1 MB 存储器寻址空间 ,64K I/O 寻址空间
2020/7/13
6
School of Automation Science and Electrical Engineering
1. 8086/8088微处理器结构
8086/8088微处理器功能结构
组成:由总线接口单元(BIU)和执行单元构成(EU) • BIU:由指令队列、指令指针、段寄存器、地址加法器 和总线控制逻辑电路等组成,负责CPU对存储器和外设 进行访问。
3、8086/8088微处理器工作方式
时序
– 总线周期:是指CPU与存储器或I/O端口进行一次访问所 需要的时间,至少由4个时钟周期组成。(什么情况下执 行总线周期?)
– 指令周期:是指CPU执行一条指令所(取指、译码、读写 操作、完成)需要的时间。
CLK
T1 T2 T3 T4 T1 T2 T3 T4 Ti Ti
EU 控制电路
(8位 ) 指令队列缓冲器
123456
标志寄存器 执 行 单 元 (EU) 总 线 接 口 单 元 (BIU)
8080指令队列4个字节
2020/7/13
11
School of Automation Science and Electrical Engineering
8086/8088寄存器结构
2020/7/13
BHE
A0
读/写的字节
0
0
高低两个字节
0
1
奇数地址的低位字节
1
1
不传送
A19~A1
SEL
A19~A1
高位(奇地址)库 512K x 8
D15~D8
SEL
A19~A1
低位(偶地址)库 512K x 8
D7~D0
8086存储体 分高低字节 。
D7~D0
17
School of Automation Science and Electrical Engineering
寻址方式 (固定寻址、立即数寻址、寄存器寻址)
– 固定寻址(隐含寻址):操作数并不直接出现在指令中, 而是由操作码隐含地指定为某一固定内容
PUSHF / POPF
AAA
– 立即数寻址 操作数以8位或16位常数的形式直接出现在指 令中,可给寄存器或内存变量赋值
MOV AX,2000H / MOV [2100H], 3450H
– 16位的数据寄存器可分解为2个8位的寄存器使用; – 地址寄存器不能分解为8位使用;
2020/7/13
13
School of Automation Science and Electrical Engineering
1. 8086/8088微处理器结构
段寄存器
– 4个16位段寄存器CS、DS、SS、ES用来识别当前可寻址 的四个段,每个段的功能各不相同
• EU:由ALU、通用寄存器组(数据寄存器组、指针寄 存器组、变址寄存器组)、标志寄存器和指令译码逻辑 等组成,负责指令的译码、执行和数据的运算。
2020/7/13
7
School of Automation Science and Electrical Engineering
1. 8086/8088微处理器结构
– CS:代码段寄存器,指示当前执行程序所在存储器的区域。 – DS:数据段寄存器,指示当前程序所用之数据的存储器区
域。 – SS:堆栈段寄存器,指示当前程序所用之堆栈位于的存储
器区域。 – ES:附加段寄存器,指示当前程序所用之数据位于的另外
存储器区域,在字符串操作中常用到。
2020/7/13
14
FFFFH 0000H
清0
DS ES 其他寄存器
0000H 0000H 0000H
2020/7/13
20
School of Automation Science and Electrical Engineering
3、8086/8088微处理器工作方式
最大方式和最小方式 MN/MX(33引脚)
高电平时,工作于最小方式(一般接电源电压) – 构成小规模的应用系统,单处理器模式 – CPU本身提供所有的控制信号
低电平时,工作于最大方式(一般接电源地) – 构成较大规模的应用系统,多处理器模式,可以接入 数值协处理器8087 – CPU和总线控制器8288共同形成系统控制信号
2020/7/13
21
School of Automation Science and Electrical Engineering
4. 8086/8088寻址方式
BIU和EU功能框图
通 用
数据寄存器组
寄 存
指针寄存器组
器 组
变址寄存器组
ALU数据总线
暂存寄存器
ALU
EU 控制器电路
AB
∑
DB
段寄存器组
IP寄存器 内部暂存器
总线
8086总线
控制电路 16位数据总线
指令队列
标志寄存器
2020/7/13
8
School of Automation Science and Electrical Engineering
源操作数的例子
立即数 立即寻址
MOV AX,1200H
寄存器 寄存器寻址
MOV AX,BX
直接寻址
MOV AX,[1200H]
寄存器间接寻址 MOV AX,[DI]
存储器 寄存器相对寻址 基址变址寻址
MOV AX,[BX+1200H] MOV AX,[BX+DI]
相对基址变址寻址
MOV AX, [BX+DI+1200H]
School of Automation Science and Electrical Engineering
标志寄存器F
1-低4位向高4位有进、借位
15
0-低4位向高4位无进、借位
OF DF IF TF SF ZF
1-低8位有偶数个1
0-低8位有奇数个1
0
AF PF CF
注: •红色是6个状 态标志位; •兰色是3个标 志控制位
微机原理复习
2013.6.20
School of Automation Science and Electrical Engineering
第2章 微型计算机组成基础
2.1 微机数字电路基础(Digital Circuit Basis) 2.2 几种数制之间的相互转换(Numbering System
15 8 7 0
AX AH AL 累加器 BX BH BL 基址寄存器 CX CH CL 计数寄存器 DX DH DL 数据寄存器
SP 堆栈指针 BP 基址指针 SI 源变址指针 DI 目的变址指针
IP 指令指针 FLAG 标志寄存器
CS 代码段寄存器 DS 数据段寄存器 SS 堆栈段寄存器 ES 附加段寄存器
2.1 微机数字电路基础
门电路及真值表(Gate Circuit & Truth Table)
A B
&Y
A B
≥1
Y
A B
=1 Y
A
1
Y
2020/7/13
3
School of Automation Science and Electrical Engineering
译码芯片及应用
– 3-8译码器 74LS138
总线周期
时钟周期
2020/7/13
18
School of Automation Science and Electrical Engineering
总结T1 ,T2 ,T3 ,T4状态的基本特点 – T1送地址: – T2设状态:高4位状态,低16位高阻 – T3送数据:CPU和存储器或端口传数据,高4位维持状态 – T4结束: