Microsoft PowerPoint - 第9讲-08.ppt [兼容模式]

Similar documents
<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

第七章 中断

lecture21

<4D F736F F D20B5DAC1F9D5C2CFB0CCE2B4F0B0B8A3A8CDF8D5BEA3A92E646F63>

Ps22Pdf


<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378>

主要内容 指令系统的一般概念 指令操作方式操作码的含义指令对操作数的要求指令执行的结果 寻址方式 指令说明 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 2

<4D F736F F F696E74202D DB5DABEC5BDB22DCEA2B4A6C0EDC6F7B5C4D3B2BCFEBDE1B9B9A3A8D2BBA3A92E >

378高雄市都市計畫說明書

Microsoft PowerPoint - 05-第五讲-寻址方式.pptx

CH559指令周期.doc

Training

Microsoft PowerPoint - chx09_org14_pipelining_1.ppt

<4D F736F F F696E74202D20B5DA35D5C2CEA2B4A6C0EDC6F7B9A4D7F7D4ADC0ED2E707074>

计算机组成与系统结构


Microsoft Word - Ö¸Á.doc

URISC 处理器设计一 URISC 处理器功能描述 URISC 处理器是只有一条指令的超级精简指令集计算机, 它是由 Mavaddat 和 Parham 提出的一种 RISC 结构 尽管 URISC 只有一条指令, 却也是一种通用计算机, 所有的复杂操作都可以由这条指令来完成 URISC 指令要完

Microsoft Word ZW-11111

PowerPoint Presentation

第5章:汇编语言程序设计

计算机组成原理 教案.doc

形成下一条指令地址 IR:Instruction Register, 指令寄存器, 其功能是存放当前正在执行的指令 CU:Control Unit, 控制单元 ( 部件 ), 为控制器的核心部件, 其功能是产生微操作命令序列 ALU:Arithmetic Logic Unit, 算术逻辑运算单元,

第0章 硬件部分试题分析和解题方法

Microsoft Word 箕æ−¥ï¼‹å®ı稿;

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

starter_pdfmerge

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th

第七章 中断

AT89C2051中文资料.doc


M8Rxxx 指令集说明 Version 年 11 月 上海磐芯电子有限公司 SHANGHAI MASSES ELECTRONIC Co., Ltd. 本公司保留对产品在可靠性, 功能和设计方面的改进作进一步说明的权利 说明文档的更改, 恕不另行通知

L15 MIPS Assembly

第1章 概论

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

IC芯片自主创新设计实验

Ch2.1

L1 computer system overview

<4D F736F F D20BCC6CBE3BBFAD7E9B3C9D4ADC0EDD6D8B5E3A1A2C4D1B5E32E646F63>

没有幻灯片标题

数据库系统概论

Microsoft Word - LMB402CBC-AppNote-V0.1.doc

¸ß¼¶¼ÆËã»úÌåϵ½á¹¹

学年本科教学和思政工作情况汇报

1 CPU

101

幻灯片 1

2016 年 地 质 工 程 系 教 学 工 作 安 排 2016 学 年 我 系 将 在 总 结 过 去 工 作 的 基 础 上, 结 合 今 年 学 院 以 抓 质 量 强 内 涵 促 改 革 调 结 构 建 品 牌 细 管 理 重 过 程 为 宗 旨, 以 规 范 管 理 深 化 内 涵 为


3 基 金 杠 杆 从 分 级 基 金 的 概 念, 我 们 知 道 了 分 级 基 金 的 A 份 额 是 每 年 获 得 固 定 收 益 的 稳 健 份 额,B 份 额 是 具 有 杠 杆 效 应 的 激 进 份 额 分 级 基 金 中 的 杠 杆 一 般 有 三 类 : 份 额 杠 杆 =(A

<4D F736F F D203136BCADBBD8D2E4D3EBD1D0BEBF2E646F63>

萧山中学课程建设方案.doc


Microsoft Word - 9pinggb_A4.doc

Microsoft Word - 9pinggb_A4-f4.doc

理 论 探 索 事 业 单 位 改 革 的 五 点 思 考 余 路 [ 摘 要 ] 事 业 单 位 改 革 是 中 国 改 革 的 重 要 环 节, 其 影 响 力 和 难 度 不 亚 于 国 有 企 业 改 革 本 文 着 重 围 绕 推 进 事 业 单 位 改 革 应 考 虑 的 五 个 方 面

日 本 位 于 亚 洲 东 部, 太 平 洋 西 北 角, 是 我 国 东 方 的 一 个 岛 国 在 洪 积 世 ( 注 1) 的 大 部 分 时 期 内, 日 本 与 大 陆 相 连 大 约 在 洪 积 世 晚 期 至 冲 积 世 ( 注 2) 初 期, 日 本 各 地 发 生 海 进, 出 现

2深化教育教学改革、创新人才培养模式

Microsoft Word - 9pinggb_let.doc

实 习 上 下 点 表 格 解 释 和 相 关 纪 律 要 求 : 1 表 格 中 所 有 名 词 都 为 简 称, 包 括 医 院 名 称 四 年 级 五 年 级 各 专 业 名 称 等 所 有 时 间 都 为 学 生 装 好 行 李 出 发 时 间, 请 提 前 0 分 钟 将 行 李 运 到

简报158期.doc

Microsoft Word - 9pingb5_let.doc

退休權益.ppt [相容模式]

Microsoft Word - 1.《國文》試題評析.doc

Ps22Pdf

$%%& ()*+, %&, %-&&%%,. $ %,, $,, & /$- 0(1 $%%& %& 234 %-%, 5&%6&633 & 3%%, 3-%, %643 -%%% :::; 7<9; %-%, 3$%$ :::;

# $# #!# # # # # # # %# # # &# # # # #! "

zt

指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2

PowerPoint 演示文稿

数据库系统概论

TD

Microsoft PowerPoint - 微原-第3章2.ppt [兼容模式]

Microsoft PowerPoint - Ch3-8086CPU指令系统(2)-寻址.pptx


Computer Architecture & Organization

LETD型LED灯炮规格的更改

MSP430ϵÁе¥Æ¬»úµÄÖ¸Áîϵͳ.pps [¼æÈÝģʽ]

一 汇编语言计算机基础 从事计算机科学方面的工作, 汇编语言是我们必不可少缺的基础 我们的工作平台 研究对象都是机器, 而汇编语言是人和计算机沟通的最直接方式, 它描述了机器最终所要执行的指令序列 学习汇编语言可以让你充分获得底层编程的体验, 深刻理解机器运行程序的机理 二 基础知识 1. 汇编语言

微型计算机原理与应用

Microsoft PowerPoint - Ch3-8086CPUæ„⁄令系ç»�(3)-æŁ°æ“®ä¼€é•†æ„⁄令

7 Q&A 11 2


PIC8位单片机汇编语言常用指令的识读(上)

TD-CMX计算机体系结构与计算机系统设计平台

PowerPoint 演示文稿

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

Microsoft PowerPoint - IC-HG-Review.ppt

untitled

untitled

2 微机原理与接口技术 ( 第二版 ) 图 1 1 第一台电子计算机 ENIAC 1944~1945 年间, 著名的美籍匈牙利数学家冯 诺依曼 (John Von Neumann)( 如图 1 2 (a) 所示 ) 应邀参加 ENIAC 计算机研制任务 在研制中, 他深刻认识到 ENIAC 不能存储

33023A.book(31005A_cn.fm)

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式]

<4D F736F F F696E74202D20B5DAC1F9D5C220D7F7D2B5B2CEBFBCB4F0B0B8>

Microsoft PowerPoint - chx09_org04_isa.ppt

PowerPoint 演示文稿

图 内部结构图 8251 的外部引脚如图 所示, 共 28 个引脚, 每个引脚信号的输入输出方式如图中的箭 头方向所示

Transcription:

计算机设计与实践 第九讲 移动计算研究中心张展 1

本讲内容 微处理器设计实例 2

实验目的 根据计算机组成原理课程所学的知识和本课程所讲的设计思想, 设计一个给定指令系统的处理器, 包括 VHDL 语言的实现 FPGA 芯片的编程实现 对处理器的结构和计算机系统的整体工作过程有深刻的了解 为以后应用和设计处理器系统打下基础 3

实验要求 给出处理器的设计方案 用 VHDL 语言实现处理器的设计 将设计下载到 FPGA 实验板的 FPGA0 芯片中进行实际测试, 要求观察显示输出 4

FPGA 实验板 采用南京伟福实业有限公司研制的 COP2000 计算机组成原理实验仪, 通过 FPGA 扩展板在 COP2000 实验仪上完成实验 处理器 晶体振荡器 5

处理器的设计方案 给出处理器的设计方案, 要求包括 : 指令格式设计 微操作的定义 节拍的划分 处理器结构设计框图及功能描述 各功能模块结构设计框图及功能描述 各模块输入输出接口信号定义 ( 以表格形式给出 ) 进度安排 6

VHDL 语言实现处理器设计 在设计方案通过后, 方可进入实际设计环节, 要求采用结构化设计方法, 用 VHDL 语言实现处理器的设计 设计包括 : 各模块的详细设计 ( 包括各模块功能详述, 设计方法,VHDL 语言实现等 ) 各模块的功能测试 ( 每个模块作为一个部分, 包括测试方案 测试过程和测试波形等 ) 系统的详细设计 ( 包括系统功能详述, 设计方法, VHDL 语言实现等 ) 系统的功能测试 ( 包括系统整体功能的测试方案 测试过程和测试波形等 ) 7

处理器功能及指令系统定义 该处理器在给定的指令集下构建, 支持十条指令 假定主存可以在一个时钟周期内完成一次存取操作, 而且可以和 CPU 同步工作 系统使用一个主存单元 : 指令读取和数据访问都使用同一组存储器 8

处理器功能及指令系统定义 处理器的指令字长为 16 位, 包含 8 个 8 位通用寄存器 R0~R7 1 个 16 位的指令寄存器 IR 1 个 16 位的程序计数器 PC 取指令时, 可以直接从主存中提取 16 位的指令信息, 而进行数据访问时, 与主存进行 8 位的数据交换 处理器的地址总线宽度是 16 位, 数据总线宽度也是 16 位, 无论是取指还是数据访问, 都使用同一组数据总线, 只是数据信息的宽度不同 9

处理器功能及指令系统定义 加法指令 ADD Ri, Rj 减法指令 SUB Ri, Rj 寄存器传送指令 MOV Ri, Rj 立即数传送指令 MVI Ri, X 存数指令 STA Ri, X 取数指令 LDA Ri, X 条件转移 ( 零则转 ) 指令 JZ Ri, X 无条件转移指令 JMP X 输入指令 IN Ri, PORT 输出指令 OUT Ri, PORT 10

处理器接口信号定义 11

第一步 : 指令格式设计 12

给定的指令系统 ADD Ri,Rj SUB Ri, Rj MOV Ri, Rj MVI Ri, X LDA STA JMP JZ Ri, X Ri, X X Ri, X IN Ri, PORT OUT Ri, PORT Ri Ri+ Rj Ri Ri - Rj Ri Rj Ri X Ri [R7//X] [R7//X] Ri PC [R7//X] If(Ri=0) Then PC [R7//X] [PORT] Ri Ri [PORT] 13

指令格式设计 指令是由操作码和地址码两部分组成的, 由于固定操作码格式便于硬件设计, 指令译码时间短, 所以进行 RISC 处理器设计时采用这种格式 指令系统中指定所有的指令都是二地址指令 通用寄存器的数量为 8, 需 3 位地址与之对应 访存的形式地址为 8 位 定义指令的高 5 位表示操作码 14

操作码 操作码占据了 5 位, 最多可支持 32 种指令的设计 目前的指令系统仅包含了 10 种操作, 下表定义这 10 种操作的操作码 指令名称 助记符 二进制操作码 无条件跳转 JMP 00000 条件跳转 JZ 00010 减法操作 SUB 00100 加法操作 ADD 00110 立即数传送 MVI 01000 寄存器传送 MOV 01010 存数操作 STA 01100 取数操作 LDA 01110 输出操作 OUT 10000 输入操作 IN 10010 15

每条指令的格式描述 16

指令格式举例 4701 0100011100000001:MVI R7,01H 4111 0100000100010001:MVI R1,11H 6100 6 00 0110000100000000:STA R1,00 17

第二步 : 微操作及节拍设计 18

CPU 内四个重要寄存器 MAR 与地址总线相连, 存放欲访问的存储单元地址 MDR 与数据总线相连, 存放欲写入存储器的信息或最近从存储器中读出的信息 PC 存放现行指令的地址, 具有自动加 1 的功能 IR 存放现行指令 19

取指阶段微操作 PC MAR;1 R; M(MAR) MDR; MDR IR; PC+1 PC; 20

执行阶段微操作 不同指令执行阶段的微操作是不同的, 分别讨论非访存指令 访存指令和转移类指令的微操作 指令中的地址码定义为 : Ad1(IR):IR 的 8-10 位, 表示指令的第一个地址码, 表示寄存器地址 ; Ad2(IR):IR 的 0-2 位, 表示指令的第二个地址码, 表示寄存器地址 ; Ad(IR):IR 的 0-7 位, 表示指令的第二个地址码, 表示形式地址 ; 21

非访存指令 加法指令 ADD Ri, Rj Reg(Ad1(IR)) + Reg(Ad2(IR)) Reg(Ad1(IR)) 减法指令 SUB Ri, Rj Reg(Ad1(IR)) - Reg(Ad2(IR)) Reg(Ad1(IR)) 寄存器传送指令 MOV Ri, Rj Reg(Ad2(IR)) Reg(Ad1(IR)) 立即数传送指令 MVI Ri, X X Reg(Ad1(IR)) 22

访存指令 只考虑扩充寻址的情况, 不考虑其他寻址方式 存数指令 STA Ri, X Reg(R7)//Ad(IR) MAR;1 W; Reg(Ad1(IR)) MDR; MDR M(MAR) 取数指令 LDA Ri, X Reg(R7)//Ad(IR) MAR;1 R; M(MAR) MDR; MDR Reg(Ad1(IR)) 23

表示零值判别操作 转移类指令 不访问存储器 条件转移 ( 零则转 ) 指令 JZ Ri, X Zero(Reg(Ad1(IR))) Reg(R7)//Ad(IR) +Nzero(Reg(Ad1(IR))) PC PC 无条件转移指令 JMP X Reg(R7)//Ad(IR) PC 24

对微操作进行分类 取指微操作 运算微操作 访存微操作 其他微操作, 包括 : 回写 PC 回写寄存器 25

机器周期与节拍定义 每个指令周期包含 4 个机器周期 取指周期 (MEM) 运算周期 (ALU) 访存周期 (MEM) 回写周期 (REG) 每个机器周期包含 1 个节拍 26

取指周期 取指阶段完成指令的提取, 同时改变 PC, 为下一次取指做准备 T:M(PC) IR,1 R,PC+1 PC 27

运算周期 运算阶段完成操作数的准备和实际运算, 运算包括数据加减及访存实际地址的计算 操作数的准备 : T:Reg(Ad1(IR)) A,Reg(Ad2(IR)) B, Reg(R7)//Ad(IR) Addr; 运算包括 : 当操作码为 ADD 时, 运算内容为 A+B ALUOUT; 当操作码为 SUB 时, 运算内容为 A-B ALUOUT; ALUOUT A, B, Addr: 临时寄存器 当操作码为 MVI 时, 运算内容为 Ad(IR) ALUOUT; 当操作码为 MOV 时, 运算内容为 B ALUOUT; 当操作码为 JZ 时, 运算内容为 A ALUOUT; 当操作码为 STA 时, 运算内容为 A ALUOUT; ALUOUT: 临时寄存器 28

访存周期 访存阶段完成数据向主存的写入操作, 或从主存中读取数据的操作 对于取数操作 : T:M(Addr) Rtemp,1 R 对于存数操作 : T:ALUOUT M(Addr),1 W 29

回写周期 回写阶段把访存的结果或运算的结果写入到寄存器中保存, 同时根据转移指令的要求更新 PC 寄存器的内容 当操作码为 LDA 时,Rtemp Reg(A); 当操作码为 ADD,SUB,MVI,MOV 时, ALUOUT Reg(A); 当操作码为 JMP 时,Addr PC; 当操作码为 JZ 时,if A=0 then Addr PC 30

第三步 : 处理器结构设计 31

CPU 设计方法 CPU 设计的基本思想有组合逻辑设计和微程序设计两种 组合逻辑设计根据微操作的节拍安排, 列出微操作命令的操作时间表, 然后写出每一个微操作命令的逻辑表达式, 最后根据逻辑表达式画出相应的组合逻辑电路图 ; 微程序设计思想是将一条机器指令编写成一个微程序, 每一个微程序包含若干条微指令, 每一条微指令对应一个或几个微操作命令, 然后把这些微程序存到一个控制存储器中, 用寻找用户程序机器指令的办法来寻找每个微程序中的微指令 微程序设计方法虽然简便, 但需要占用较大的空间存放微程序 32

CPU 设计方法 在 RISC 计算机中一般都采用组合逻辑设计方法, 这有利于进行流水线的设计, 也能大大节省 CPU 的门数, 对于降低 CPU 的功耗也有好处 这里的设计方法是组合逻辑设计的一种, 但设计中不直接使用逻辑表达式, 而是根据信息流的思想进行了模块的划分, 给出 CPU 的基本结构框图 33

基本的系统组成 根据机器周期的定义, 系统划分为四个主要模块 取指管理模块掌管取指周期 运算管理模块掌管运算周期 存储管理模块掌管访存周期 回写管理模块掌管回写周期写周期 在一个指令周期中, 取指 运算 访存 回写四个机器周期依次执行, 由时钟管理模块统一进行调度 34

基本的系统组成 35

基本的系统组成 取指管理模块包含寄存器 PC 和 IR, 同时 IR 的内容将由该模块向其他模块提供 运算管理模块包含运算器算, 也就包含了通用寄存器, 同时也包含了暂存器 A B Addr ALUOUT 存储管理模块包含暂存器 Rtemp 回写模块包含暂存器 Rdata Raddr PCnew, 前两个用于寄存器回写, 第三个用于 PC 的更新 36

举例 通过 LDA 指令的执行过程展示一下各模块的功能 在第一个机器周期中, 取指管理模块根据 PC 的内容对主存进行访问, 向主存发送 16 位的地址 PC, 读回数据总线上的 16 位数据信息存放到 IR 寄存器中, 同时使 PC 前进, 为下一次取指做准备 在第二个机器周期中, 运算管理模块根据操作码的意义进行访存地址的准备, 从 R7 寄存器和 IR 的第二地址码两个部分组合形成实际地址 Addr 在第三个机器周期中, 存储管理模块根据操作码的意义进行访存, 向主存发送 16 位的地址 Addr, 读回数据总线上的 8 位数据信息存放到 Rtemp 暂存器中 在第四个机器周期中, 回写管理模块根据操作码的意义回写寄存器, 将暂存器 Rtemp 的内容写入指定的 Ri 寄存器中 37

细化的处理器结构 在取指周期, 存储器的访问是只读的, 存储器的地址来自 PC, 数据去往 IR 在访存周期, 存储器的访问可能是读也可能是写 存储器只有一组, 而取指周期和访存周期都可能对其进行访问, 而且数据 地址的来源和去向均不同 为避免访问冲突 保证空闲时总线不被占用, 应该对存储器的访问加以管理 38

存储器访问设计 39

细化的处理器结构 在主存储器与各管理模块之间增加一个访存控制模块 它接收来自取指管理模块的 PC 地址, 访存后将 IR 内容返回给取指管理模块 它接收来自运算管理模块的 ALUOUT, 为访存周期的控制作准备 它在数据访问读周期向存储管理模块传送数据总线的 16 位信息 增加了回写管理模块与取指 运算两模块之间的通路, 用以支持 PC 和通用寄存器的更新 40

寄存器访问设计 41

寄存器的回写 PC 寄存器的更新由 PCupdate 信号控制, 内容来自回写管理模块中的暂存器 PCnew 在回写周期里,PCupdate 信号将根据指令操作码 OP 产生, 当该信号发出时, 取指管理模块将把暂存器 PCnew 的内容写入 PC 寄存器中, 当下一条指令的取指周期到来时,PC 就把更新后的内容传递到地址总线上, 读取全新的指令 通用寄存器的更新由 Rupdate 信号控制, 寄存器的地址来自回写管理模块中的暂存器 Raddr, 将写入寄存器的内容来自回写管理模块中的暂存器 Rdata 在回写周期里, Rupdate 信号将根据指令操作码 OP 产生, 当该信号发出时, 运算管理模块将把暂存器 Rdata 的内容写入 Raddr 所对应的寄存器中 42

细化的处理器结构 43

第四步 : 各功能模块结构设计框图及功能描述 自行设计 在设计报告中体现 44

第五步 : 各模块输入输出接口信号定义 ( 以表格形式给出 ) 自行设计 在设计报告中体现 45

第六步 : 用 VHDL 语言实现处理器的设计 温馨提示 46

时钟模块 参见实验 2.3, 四拍循环 每一拍的输出控制哪些模块? 47

取指管理模块 IR 送到哪儿? PC 自加何时完成? 48

运算管理模块 通用寄存器组如何实现? 二维数组 根据操作码译码后, 哪些指令需要通过运算器运算? 操作数的准备 地址的准备 49

访存管理模块 是否需要译码? 访存地址怎么给? 存数操作中, 数据从哪来? 取数操作中, 取来的数据放到哪? 50

回写模块 仍然需要译码 包括回写寄存器和回写 PC 回写要注意同时给出回写的地址和数据 回写在什么时间完成 51

访存控制模块 地址线控制 通过取指还是取数区分地址的来源 数据线控制 三态门控制, 只在写存储器时将 ALUOUT 的数据给数据总线, 其余时刻均设高阻 CPU 的所有访存端口都通过访存控 CPU 的所有访存端口都通过访存控制模块输出 52

设计中需要思考的问题 一个输出能否直接连接到多个输入上? 多个输入能否直接连接到一个输出上? 暂存器和触发器的区别 8 位寄存器和 16 位数据线的问题 按字寻址还是按字节寻址要和主存控制结合 每一个模块的波形仿真, 要按照节拍给出正确输入 53

以上设计仅供参考! 祝大家设计成功! 54

The End 55