ti 大学计划 —— 青年教师培训
DESCRIPTION
TI 大学计划 —— 青年教师培训. 章节分析 —— CPU. 上海交通大学 电子工程系 胡剑凌. 教学内容. 总线结构 存储器配置 CPU 结构 数据运算单元 指令处理单元 指令流水线 数据寻址. 课时安排. 鉴于面向的对象和课程性质的不同,课时设置可考虑下列三种情况: 54学时 研究生学位课(或专业选修课) 36学时 研究生非专业选修课(或本科选修课) 12-20学时 专题系列讲座. 课时安排. 以54学时为例,总共安排12学时 数据运算单元6学时 指令处理单元1学时 指令流水线2学时 数据寻址3学时. 课时安排. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/1.jpg)
TI 大学计划 —— 青年教师培训
章节分析—— CPU
上海交通大学 电子工程系 胡剑凌
![Page 2: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/2.jpg)
教学内容
总线结构 存储器配置 CPU 结构
– 数据运算单元– 指令处理单元– 指令流水线– 数据寻址
![Page 3: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/3.jpg)
课时安排
鉴于面向的对象和课程性质的不同,课时设置可考虑下列三种情况:
54 学时 研究生学位课(或专业选修课) 36 学时 研究生非专业选修课(或本科选修课) 12 - 20 学时 专题系列讲座
![Page 4: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/4.jpg)
课时安排
以 54 学时为例,总共安排 12 学时 数据运算单元 6 学时 指令处理单元 1 学时 指令流水线 2 学时 数据寻址 3 学时
![Page 5: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/5.jpg)
课时安排
以 36 学时为例,总共安排 9 学时 数据运算单元 5 学时 指令处理单元 1 学时 指令流水线 1 学时 数据寻址 2 学时
![Page 6: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/6.jpg)
课时安排
以 12 - 24 学时为例,安排 3 学时—— 6 学时 数据运算单元 1 学时—— 3 学时 指令处理单元 0.5 学时—— 0.5 学时 指令流水线 0.5 学时—— 0.5 学时 数据寻址 1 学时—— 2 学时
![Page 7: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/7.jpg)
总线结构
总线结构(数据总线和程序总线) 冯诺依曼结构 哈佛结构 改进的哈佛结构
![Page 8: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/8.jpg)
总线结构
冯 . 诺依曼结构
C P U
存储器
AB DB
![Page 9: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/9.jpg)
总线结构
哈佛结构
程序存储器
CPU
数据存储器
PAB DAB
PB DB
![Page 10: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/10.jpg)
总线结构
改进的哈佛结构
C P U
程序存储器 数据存储器
DBPBPAB DAB
![Page 11: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/11.jpg)
DSP —— 结构 TMS320C5400 系列图
![Page 12: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/12.jpg)
总线结构
程序总线 PB ,负责读取指令和数据表格 数据总线 CB、DB和 EB, CB和DB 读取数据, EB 存储数据 地址总线 PAB、 CAB、DAB和 EAB
外设总线
![Page 13: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/13.jpg)
总线结构
地址总线访问类型 数据总线PAB CAB DAB EAB PB CB DB EB
读长数据 (32bit)
读程序
写程序
读单数据
读双数据
写单数据
并行读 / 写数据
Dual Read/Coeff Read
读外设
写外设
![Page 14: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/14.jpg)
存储器配置
程序空间 : 程序代码、常系数表格
数据空间:程序处理时的数据和结果
I/O 空间 :映射为外部设备、扩展外 部数据存储器等
程序空间 : 程序代码、常系数表格
数据空间:程序处理时的数据和结果
I/O 空间 :映射为外部设备、扩展外 部数据存储器等
![Page 15: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/15.jpg)
存储器配置
存储器配置 片内:访问速度快,容量小 片外:访问速度慢,容量大
片内存储器 SRAM (固定地址映射):内容和地址一一对应 Cache :内容和地址不是一一对应
![Page 16: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/16.jpg)
存储器配置
片内存储器 SARAM :每个时钟周期只能访问一次,适合存
放程序 DARAM :每个时钟周期可以访问两次,适合存
放数据,利于并行地访问数据
![Page 17: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/17.jpg)
存储器配置 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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/18.jpg)
存储器配置
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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/19.jpg)
存储器配置
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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/20.jpg)
CPU 运算单元
数据运算单元 加减的实现 乘法的实现 移位的实现 逻辑操作的实现 求指数的实现 特殊运算
![Page 21: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/21.jpg)
DSP —— 结构 TMS320C5400 系列图
![Page 22: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/22.jpg)
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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/23.jpg)
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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/24.jpg)
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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/25.jpg)
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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/26.jpg)
程序寻址程序控制( 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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/27.jpg)
程序寻址
硬件支持的重复
RPTB和 RPTBD 语句 BRAF、 BRC、 RSA和 REA
BRC在块重复的最后一条指令的译码阶段减1 多重循环可用 RPTB(D)和BANZ(D) 实现 RPT 语句
![Page 28: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/28.jpg)
程序寻址
INTx
INTy
11
00
11
(IFR)
"Latch"
(IMR)
"Switch"
(INTM)
"Big Switch"
C54x
core
22
33
中断
![Page 29: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/29.jpg)
程序寻址
中断处理 接受中断请求 响应中断 执行中断服务程序( ISR )
![Page 30: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/30.jpg)
程序寻址 接受中断申请
中断可屏蔽?
IMR的屏蔽位=1?
INTM=0?
响应中断,产生 IACK信号
是
否
是
是
否
否
硬件中断或 INTR?
在堆栈中保存 PC
执行中断服务子程序
恢复 PC值
置 INTM为 1
返回主程序
是
否
中断操作流程图
![Page 31: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/31.jpg)
指令流水线
指令周期
第 1条指令
1
第 2条指令
第 3条指令
第 4条指令
取指 译码 取数 执行
取指 译码 取数 执行
取指 译码 取数 执行
取指 译码 取数 执行
2 3 4 5 6 7
![Page 32: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/32.jpg)
指令流水线
取 指预 取 指
预 取 指
预 取 指
预 取 指
译 码预 取 指
预 取 指
预 取 指
预 取 指
访 问预 取 指
预 取 指
预 取 指
预 取 指
读 取预 取 指
预 取 指
预 取 指
预 取 指
执 行 /写预 取 指
预 取 指
预 取 指
预 取 指
将 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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/33.jpg)
指令流水线
![Page 34: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/34.jpg)
指令流水线
![Page 35: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/35.jpg)
指令流水线
![Page 36: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/36.jpg)
数据寻址
立即寻址 绝对寻址 累加器寻址 直接寻址 间接寻址 存储器映射寄存器寻址
![Page 37: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/37.jpg)
数据寻址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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/38.jpg)
数据寻址
间接寻址 利用辅助寄存器中数值作为绝对地址 主要用于按某种固定方式对数据空间的连续访问 修改方式可以为后加、后减、特定步长 寻址方式最为灵活
![Page 39: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/39.jpg)
数据寻址
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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/40.jpg)
数据寻址*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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/41.jpg)
数据寻址访问后,从 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 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/42.jpg)
数据寻址 循环寻址
元素 0
元素 1
……
元素 R-1
……
BK=R
正向 反向
![Page 43: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/43.jpg)
实验设计
数据运算单元 常规算术运算 特殊的算术运算(饱和、移位乘等) 多种语法的尝试(移位加等)
![Page 44: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/44.jpg)
实验设计
指令处理单元和指令流水线 C55 借助 CCS 工具观察指令流水线 指令流水线(影响运算结果,结合汇编指令) 中断仿真(观察堆栈)
![Page 45: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/45.jpg)
实验设计
数据寻址 各种不同寻址方式的尝试 字长和运行时间的比较 地址修改和指令流水线
![Page 46: TI 大学计划 —— 青年教师培训](https://reader035.vdocuments.mx/reader035/viewer/2022081415/568145b1550346895db2b1e3/html5/thumbnails/46.jpg)
Q & A