教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

DSP汇编指令学习笔记(4)

来源:网络收集 时间:2026-01-31
导读: 几乎所有的MCU都不允许MOV指令修改PC值,这是一个常识。 2.中断服务表指针寄存器ISTP(interrupt servicetable pointer)用于确定中断服务程序在中断服务表中的地址。ISTP中的字段ISTB确定IST的地址的基值,另一字

几乎所有的MCU都不允许MOV指令修改PC值,这是一个常识。

2.中断服务表指针寄存器ISTP(interrupt servicetable pointer)用于确定中断服务程序在中断服务表中的地址。ISTP中的字段ISTB确定IST的地址的基值,另一字段HPEINT确定特定的中断,并给出这一特定中断取指包在IST中的位置。

3.IFR(中断标志寄存器):显示出有终端请求但尚未得到服务的中断。

4.IER(中断使能寄存器):使能后禁止中断处理。

5.IRP(可屏蔽中断返回指针寄存器):包含从可屏蔽中断返回的地址,该中断返回通过指令BIRP完成。

6.NRP(不可屏蔽中断返回指针寄存器):包含从不可屏蔽中断返回的地址,该中断返回通过指令BNRP完成。

7.CSR(控制状态寄存器):控制全局使能或禁止中断。

8.AMR(寻址模式寄存器):制定是否使用线性或循环寻址,若循环寻址还指定循环地址大小。

9.EN(端结方式):1=小端终结;0=大端终结。

10.Event Encoder (事件编码器):事件寄存器ER(包括ERL和ERH)用于捕获对应于64个EDMA通道的事件。在事件编码器中只是负责提交请求,事件的优先局依赖于EDMA通道参数的设定,并且在Transfer Crossbar中才正式排定。

11.协处理器控制位

CR0中的位1~4分别标记位MP(算术存在位)、EM(模拟位)、TS(任务切换位)和ET(扩展类型位),它们控制浮点协处理器的操作。

EM位控制浮点指令的执行是用软件模拟,还是由硬件执行。EM=0时,硬件控制浮点指令传送到协处理器;EM=1时,浮点指令由软件模拟。

12.中断描述符表寄存器IDTR

IDTR长48位,高32位存段基址,低16位存段界线。由于80386只支持256个中断/异常,所以IDT表的最大长度是2K,以字节位单位的段界线为7FFH。IDTR表示IDT表的方式与GDTR表示GDT表的方式相同。

11

Pipeline

Pipeline Stages

All instructions require the same number of pipeline phases for fetch and decode, but require a varying number of execute phases.

Fetch -- Decode – Execute

Knowledge points

Network materials

5stage的

F/D - Fetch (from cache) and decode four instructions G - Group up to four instructions

R - Read register file and forward operands E - Execute operations, read memory

W - Updates select control registers, complete writes

Fetch packet

就是一次获取的指令。即||获取的指令包。 一个指令包最少1条指令,最多8条。

Execute packet

是执行单元内部的概念。

即一条被执行的指令。

一个Fetch packet可以包含1-8个 Execute packet

12

Fetch package steps

1. 2. 3. 4.

PG: generate a program address PS: send a request to read program PW: wait for response

PR: Receive a program instruction

Decode package steps(P512)

1. 2.

DP: Instruction dispatch

a) 从fetch packet中提取execute packets并送到对应的执行单元中。 DC: Instruction decode

a) 在执行单元中的第一个动作,解析DP送进来的execute packet。

Execute stage

Execute stage has 5 phase, E1-E5. Each phase need which

Each phase has its own special functions. Different instructions require different E phases to complete their executions.

执行阶段最多需要5个步骤。不同的指令需要的步骤也是不一样的。

从执行的步骤的角度看,DSP相关的指令,大致可以分为6类(包括NOP有7类),下图是每类指令需要的执行步骤,以及执行完这些步骤所需要的Slot (CPU Cycle)。

Delay slot:是E1步骤执行完后,此类指令后续执(或者等待)行还需要的CPU Cycle数。只有在Delay Slot之后,指令的结果才是可用的。

6类指令的具体情况是:

1. Single Cycle类:单Cycle指令类,只有数据的计算存储。这类指令只需要E1步骤,需

要一个CPU Cycle。这个指令是计算立即数,并把计算的结果保存的AB寄存器中。 2. 16bit * 16bit (.M Unit执行)指令:这个指令需要2个Cycle。

3. store:是指存放到memory中。它需要3个步骤E1、E2、E3,但是只需要1个Cycle。

这是因为,在数据Access memory后,如果后面是Load动作,则直接可以从E4开始了,所以相当于Store只用了1个Cycle。

13

Summary

1. 取值是根据PC指令,从内存中取出指令;取数是值根据寄存器记录的内存地址,从此地址中获取数据。

2. 此DSP指令读取与数据读取是走同一Pipeline中的,但是在不同的阶段完成的。指令获取是在PG/PS/PW/PR/DP中完成的,它把指令送到执行单元。执行单元经过DC,后开始执行指令。在执行指令时,如果需要Load数据,则会在E1/.../E5中完成对数据的操作。 3. 取指令的5个阶段与取数据的5个阶段的过程是类似的。如下图:

4. 当数据或者指令都L1cache中(L1D、L1P中),则取值与取数都不会有额外的CPU stall

产生。

a) 但是如果指令不在L1P中,则取值会在PW阶段产生大等于1个Cycle的stall。 b) 但是如果指令不在L1D中,则取值会在E3阶段产生大等于1个Cycle的stall。 c) 当CPU产生Stall,则会前向传递进行Stall积压指令。

5. Stall就是CPU需要额外的N周期去获取资源时,则会停止取指N周期。

14

6 types of instructions Single cycle instructions

Most DSP instructions are single-cycle instructions, which means they have only one execution phase (E1).

Store Instructions

Three steps E1/E2/E3:

E1: get target address from register file, and calculate the access address of memory. E2: send this address to Memory controller. Get data from register file and send it to memory controller

15

…… 此处隐藏:1464字,全部文档内容请下载后查看。喜欢就下载吧 ……
DSP汇编指令学习笔记(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/521320.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)