ti 大学计划 —— 青年教师培训

46
TI 大大大大 —— 大大大大大大 大大大大—— CPU 大大大大大大 大大大大大 大大大

Upload: ace

Post on 12-Jan-2016

157 views

Category:

Documents


0 download

DESCRIPTION

TI 大学计划 —— 青年教师培训. 章节分析 —— CPU. 上海交通大学 电子工程系 胡剑凌. 教学内容. 总线结构 存储器配置 CPU 结构 数据运算单元 指令处理单元 指令流水线 数据寻址. 课时安排. 鉴于面向的对象和课程性质的不同,课时设置可考虑下列三种情况: 54学时 研究生学位课(或专业选修课) 36学时 研究生非专业选修课(或本科选修课) 12-20学时 专题系列讲座. 课时安排. 以54学时为例,总共安排12学时 数据运算单元6学时 指令处理单元1学时 指令流水线2学时 数据寻址3学时. 课时安排. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TI 大学计划  ——  青年教师培训

TI 大学计划 —— 青年教师培训

章节分析—— CPU

上海交通大学 电子工程系 胡剑凌

Page 2: TI 大学计划  ——  青年教师培训

教学内容

总线结构 存储器配置 CPU 结构

– 数据运算单元– 指令处理单元– 指令流水线– 数据寻址

Page 3: TI 大学计划  ——  青年教师培训

课时安排

鉴于面向的对象和课程性质的不同,课时设置可考虑下列三种情况:

54 学时 研究生学位课(或专业选修课) 36 学时 研究生非专业选修课(或本科选修课) 12 - 20 学时 专题系列讲座

Page 4: TI 大学计划  ——  青年教师培训

课时安排

以 54 学时为例,总共安排 12 学时 数据运算单元 6 学时 指令处理单元 1 学时 指令流水线 2 学时 数据寻址 3 学时

Page 5: TI 大学计划  ——  青年教师培训

课时安排

以 36 学时为例,总共安排 9 学时 数据运算单元 5 学时 指令处理单元 1 学时 指令流水线 1 学时 数据寻址 2 学时

Page 6: TI 大学计划  ——  青年教师培训

课时安排

以 12 - 24 学时为例,安排 3 学时—— 6 学时 数据运算单元 1 学时—— 3 学时 指令处理单元 0.5 学时—— 0.5 学时 指令流水线 0.5 学时—— 0.5 学时 数据寻址 1 学时—— 2 学时

Page 7: TI 大学计划  ——  青年教师培训

总线结构

总线结构(数据总线和程序总线) 冯诺依曼结构 哈佛结构 改进的哈佛结构

Page 8: TI 大学计划  ——  青年教师培训

总线结构

冯 . 诺依曼结构

C P U

存储器

AB DB

Page 9: TI 大学计划  ——  青年教师培训

总线结构

哈佛结构

程序存储器

CPU

数据存储器

PAB DAB

PB DB

Page 10: TI 大学计划  ——  青年教师培训

总线结构

改进的哈佛结构

C P U

程序存储器 数据存储器

DBPBPAB DAB

Page 11: TI 大学计划  ——  青年教师培训

DSP —— 结构 TMS320C5400 系列图

Page 12: TI 大学计划  ——  青年教师培训

总线结构

程序总线 PB ,负责读取指令和数据表格 数据总线 CB、DB和 EB, CB和DB 读取数据, EB 存储数据 地址总线 PAB、 CAB、DAB和 EAB

外设总线

Page 13: TI 大学计划  ——  青年教师培训

总线结构

地址总线访问类型 数据总线PAB CAB DAB EAB PB CB DB EB

 

读长数据 (32bit)

读程序            

写程序            

读单数据            

读双数据        

       

写单数据          

并行读 / 写数据      

Dual Read/Coeff Read    

读外设            

写外设            

 

Page 14: TI 大学计划  ——  青年教师培训

存储器配置

程序空间 : 程序代码、常系数表格

数据空间:程序处理时的数据和结果

I/O 空间 :映射为外部设备、扩展外 部数据存储器等

程序空间 : 程序代码、常系数表格

数据空间:程序处理时的数据和结果

I/O 空间 :映射为外部设备、扩展外 部数据存储器等

Page 15: TI 大学计划  ——  青年教师培训

存储器配置

存储器配置 片内:访问速度快,容量小 片外:访问速度慢,容量大

片内存储器 SRAM (固定地址映射):内容和地址一一对应 Cache :内容和地址不是一一对应

Page 16: TI 大学计划  ——  青年教师培训

存储器配置

片内存储器 SARAM :每个时钟周期只能访问一次,适合存

放程序 DARAM :每个时钟周期可以访问两次,适合存

放数据,利于并行地访问数据

Page 17: TI 大学计划  ——  青年教师培训

存储器配置 Reserved(OVLY=1)

orExternal

(OVLY=0)

On-ChipDARAM

(OVLY=1)External

(OVLY=0)

External

Interrupts(External)

Page 0 ProgramHex0000

007F0080

3FFF4000

FF7FFF80

FFFF

MP/MC=1(Microprocessor

Mode)

MemoryMappedRegister

On-ChipRAM16K

External

Page 1 DataHex0000

005F0060

3FFF4000

FFFF

Reserved(OVLY=1)

orExternal

(OVLY=0)

On-ChipDARAM

(OVLY=1)External

(OVLY=0)

External

Interrupts(On-Chip)

Page 0 ProgramHex0000

007F0080

3FFF4000

FF7FFF80

FFFF

MP/MC=0(Microcomputer

Mode)

On-ChipROM4K

Reserved

EFFFF000

FEFFFF00

Scratch-PadRAM007F

0080

ROM(DROM=1)or External(DROM=0)

EFFFF000

Reserved(DROM=1)or External(DROM=0)

FEFFFF00

5402

存储器空间

配置

Page 18: TI 大学计划  ——  青年教师培训

存储器配置

C5402 扩展程序空间 (OVLY=0)

Page 0

64K

Page 1

64K

Page 15

64K

0 0000 1 0000 F 0000

0 FFFF 1 FFFF F FFFF

XPC=0 XPC=1 XPC=15

......

Page 19: TI 大学计划  ——  青年教师培训

存储器配置

C5402 扩展程序空间 (OVLY=1)

Page 0

64K

Page 1Lower

16K

Page 1Upper

48KExternal

0 0000

0 FFFF

1 0000

1 FFFF

1 3FFF1 4000

Page 1Lower

16K

Page 15Upper

48KExternal

F 0000

F FFFF

F 3FFFF 4000

......

Page 20: TI 大学计划  ——  青年教师培训

CPU 运算单元

数据运算单元 加减的实现 乘法的实现 移位的实现 逻辑操作的实现 求指数的实现 特殊运算

Page 21: TI 大学计划  ——  青年教师培训

DSP —— 结构 TMS320C5400 系列图

Page 22: TI 大学计划  ——  青年教师培训

CPU 运算单元MUXMUX

Sign ctr Sign ctr

Y X

ALU

A B

MUX

CB15-CB0

DB15-DB0

T

A B CT SD

SXMSXM

OVMC16COVA/OVBZA/ZBTC

40

40

4040

40

ACC

A M U B

MAC

output

Shifter output(40)

ABC

T

U

DMST

累加器A累加器 BCB数据总线

算术逻辑单元 ALU

DB数据总线MAC单元桶形移位器T寄存器

Page 23: TI 大学计划  ——  青年教师培训

CPU 运算单元

序号 指 令 字数 A B DB CB 移位器

1 add *AR1, A 1      

2 add *AR3, TS, A 1      

3 add *AR2, 16, B, A 1      

4 add *AR1, 8, B, A 2      

5 add *AR2, 8, A 1      

6 add *AR2, *AR3, A 1      

7 add #1234h, 6, A, B 2      

8 add A, 12, B 2      

9 add B, ASM, A 1      

10 add *AR2, A, B 1      

11 add *AR1, A 1      

Page 24: TI 大学计划  ——  青年教师培训

CPU 运算单元X MUX Y MUX

MUX

CB15-CB0

DB15-DB0

PB15-PB0

T

Sign ctr Sign ctr

XM YM 乘法器

FRCT\int

XA YA 加法器

ZeroDetect

Round SAT

D CD AAT

A累加器

B累加器

0

OVMOVA OVB

ZA ZB

A B累加器

Page 25: TI 大学计划  ——  青年教师培训

CPU 运算单元 

X 乘法器输入

T DB A

 

   

       

Y 乘法器输入

PB CB DB A

   

    

  

 序号

 指 令 类 型

123456789

mpy #1234h, Ampy[r] *AR2, Ampya Bmacp *AR2, pmad, Ampy *AR2, *AR3, Bsqur *AR2, Bmpya *AR2firs *AR2, *AR3, pmadsqur A, B

Page 26: TI 大学计划  ——  青年教师培训

程序寻址程序控制( PC 的修改)

操作 载入 PC 的地址复位顺序执行跳转从累加器跳转块重复循环 调用子程序  从累加器调用子程序  中断

载入 0xFF80载入 PC+1载入紧接在指令后面的 16 位立即数。载入累加器 A或 B 的低 16 位数。如果 BRAF= 1 ,当 PC+ 1=( REA)+ 1 时载入

块重复起始地址寄存器 RSA 的值。调用时,将 PC+ 2 压入堆栈,载入紧接在指令 call

后面的 16 位立即数。返回时,从栈顶弹出 PC ,返回到call 指令后的代码开始执行。

调用时,将 PC+ 1 压入堆栈,载入累加器 A或 B 的低 16 位数。返回时,从栈顶弹出 PC ,返回到 call 指令后的代码开始执行。

响应中断时,将 PC 压入堆栈, PC 载入中断向量所处的地址。返回时,从栈顶弹出 PC ,返回到被中断的代码开始执行。

Page 27: TI 大学计划  ——  青年教师培训

程序寻址

硬件支持的重复

RPTB和 RPTBD 语句 BRAF、 BRC、 RSA和 REA

BRC在块重复的最后一条指令的译码阶段减1 多重循环可用 RPTB(D)和BANZ(D) 实现 RPT 语句

Page 28: TI 大学计划  ——  青年教师培训

程序寻址

INTx

INTy

11

00

11

(IFR)

"Latch"

(IMR)

"Switch"

(INTM)

"Big Switch"

C54x

core

22

33

中断

Page 29: TI 大学计划  ——  青年教师培训

程序寻址

中断处理 接受中断请求 响应中断 执行中断服务程序( ISR )

Page 30: TI 大学计划  ——  青年教师培训

程序寻址 接受中断申请

中断可屏蔽?

IMR的屏蔽位=1?

INTM=0?

响应中断,产生 IACK信号

硬件中断或 INTR?

在堆栈中保存 PC

执行中断服务子程序

恢复 PC值

置 INTM为 1

返回主程序

中断操作流程图

Page 31: TI 大学计划  ——  青年教师培训

指令流水线

指令周期

第 1条指令

1

第 2条指令

第 3条指令

第 4条指令

取指 译码 取数 执行

取指 译码 取数 执行

取指 译码 取数 执行

取指 译码 取数 执行

2 3 4 5 6 7

Page 32: TI 大学计划  ——  青年教师培训

指令流水线

取 指预 取 指

预 取 指

预 取 指

预 取 指

译 码预 取 指

预 取 指

预 取 指

预 取 指

访 问预 取 指

预 取 指

预 取 指

预 取 指

读 取预 取 指

预 取 指

预 取 指

预 取 指

执 行 /写预 取 指

预 取 指

预 取 指

预 取 指

将 P C 的 内 容 送至 P A B 总 线

将 读 取 的 内 容 送入 I R,并 进 行 解码

从 D B 读 取 数 据 1;

从 C B 读 取 数 据 2;

将 数 据 3 的 地 址 送 至E A B;

从 P B 总 线 读 取指 令 字

将 数 据 1 的 地 址 送 至D A B;

将 数 据 2 的 地 址 送 至C A B;

更 新 辅 助 寄 存 器 和 堆栈 指 针

执 行 指 令 , 将 数据 送 至 E B 总 线

预 取 指

六级指令流水线

Page 33: TI 大学计划  ——  青年教师培训

指令流水线

Page 34: TI 大学计划  ——  青年教师培训

指令流水线

Page 35: TI 大学计划  ——  青年教师培训

指令流水线

Page 36: TI 大学计划  ——  青年教师培训

数据寻址

立即寻址 绝对寻址 累加器寻址 直接寻址 间接寻址 存储器映射寄存器寻址

Page 37: TI 大学计划  ——  青年教师培训

数据寻址DP(9)

来自指令寄存器IR(dma)低 7位

SP(16)

数据总线 DB(16)

数据总线 EB(16)

0 EA=DP偏移量(IR)1 EA=SP+偏移量(IR)

DAB(16)(读)

EAB(16)(写)

或 CAB(32位读)

CPL CPL

EA: 有效地址IR: 指令寄存器

数据地址发生器

Page 38: TI 大学计划  ——  青年教师培训

数据寻址

间接寻址 利用辅助寄存器中数值作为绝对地址 主要用于按某种固定方式对数据空间的连续访问 修改方式可以为后加、后减、特定步长 寻址方式最为灵活

Page 39: TI 大学计划  ——  青年教师培训

数据寻址

AR0(16)索引

AR1(16)

AR2(16)

AR5(16)

AR4(16)

AR3(16)

AR6(16)

AR7(16)

BK(16)

ARP(3)

数据总线 DB(16)

数据总线 EB(16)

ARAU0

O

ARAU1

AR0 BK lk 1

+/- % 0 B

EBA(16)

(写)或

CBA(16)

(32位读)

AR0 BK 1

+/- % 0

DBA(16)

(读)

Page 40: TI 大学计划  ——  青年教师培训

数据寻址*ARx*ARx- *ARx+ *+ARx *ARx-0B *ARx-0 *ARx+0 *ARx+0B  

操作数句法 功能 说明

addr=ARxaddr=ARxARx=ARx-1addr=ARxARx=ARx+1addr=ARx+1ARx=ARx+1addr=ARxARx=B(ARx-AR0)addr=ARxARx=ARx-AR0addr=ARxARx=ARx+AR0addr=ARxARx=B(ARx+AR0)

ARx 的内容为数据存储器地址。访问后, ARx 中的地址减 1 个单位。 访问后, ARx 中的地址加 1 个单位。 访问前, ARx 中的地址加 1 个单位。 访问后,从 ARx 中按比特翻转寻址的方式减去 AR0。

访问后,从 ARx 中减去 AR0。 访问后,在 ARx 中加上 AR0。 访问后,在 ARx 中按比特翻转寻址的方式加上 AR0。

Page 41: TI 大学计划  ——  青年教师培训

数据寻址访问后,从 ARx 中按循环寻址方式减去 1 个单位。

访问后,从 ARx 中按循环寻址方式减去 AR0。

访问后,在 ARx 中按循环寻址方式加上 1 个单位。

访问后,在 ARx 中按循环寻址方式加上 AR0。

ARx 加上 16 位长偏移量作为地址,但 ARx 不变。

ARx 加上 16 位长偏移量作为地址,并将该结果作为 ARx 的数值。ARx 按循环寻址方式加上 16 位长偏移量作为地址并用该结果更新 ARx。

addr=ARxARx=circ(ARx-1)addr=ARxARx=circ(ARx-AR0)addr=ARxARx=circ(ARx+1)addr=ARxARx=circ(ARx+AR0)addr=ARx+lkARx=ARxaddr=ARx+lkARx=ARx+lkaddr=circ(ARx+lk)ARx=circ(ARx+lk) 

*ARx-% *ARx-0% *ARx+% *ARx+0% *ARx(lk) *+ARx(lk) *+ARx(lk)%  

操作数句法 功能 说明

Page 42: TI 大学计划  ——  青年教师培训

数据寻址 循环寻址

元素 0

元素 1

……

元素 R-1

……

BK=R

正向 反向

Page 43: TI 大学计划  ——  青年教师培训

实验设计

数据运算单元 常规算术运算 特殊的算术运算(饱和、移位乘等) 多种语法的尝试(移位加等)

Page 44: TI 大学计划  ——  青年教师培训

实验设计

指令处理单元和指令流水线 C55 借助 CCS 工具观察指令流水线 指令流水线(影响运算结果,结合汇编指令) 中断仿真(观察堆栈)

Page 45: TI 大学计划  ——  青年教师培训

实验设计

数据寻址 各种不同寻址方式的尝试 字长和运行时间的比较 地址修改和指令流水线

Page 46: TI 大学计划  ——  青年教师培训

Q & A