1 / 180

§5 处理器

§5 处理器. §5 处理器. 5.1 概述 5.2 数据通路的建立 5.3 一个简单的实现方案 5.4 多周期实现方法 5.5 异常 5.6 硬布线控制器 5.7 微程序 控制器 5.8 Pentium 处理器的实现结构. §5 中央处理器. 5.1 概述. 5.1 概述. 一、 处理器功能 处理器( CPU ) Central Processing Unit —— 计算机中自动完成取出指令和执 行指令任务的部件 决定计算机性能的三个关键因素:

deron
Download Presentation

§5 处理器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. §5 处理器 华东师范大学计算机科学技术系

  2. §5 处理器 5.1 概述 5.2 数据通路的建立 5.3 一个简单的实现方案 5.4 多周期实现方法 5.5 异常 5.6 硬布线控制器 5.7 微程序控制器 5.8Pentium处理器的实现结构 华东师范大学计算机科学技术系

  3. §5 中央处理器 5.1 概述 华东师范大学计算机科学技术系

  4. 5.1 概述 一、处理器功能 处理器(CPU) Central Processing Unit ——计算机中自动完成取出指令和执 行指令任务的部件 决定计算机性能的三个关键因素: · 指令数目 指令系统、编译器 · 时钟周期 处理器的实 · 每条指令所需时钟周期数 现方式 CPU是计算机的核心部分 华东师范大学计算机科学技术系

  5. 一、处理器功能 1.基本功能 • ① 指令控制:控制程序严格按规定的顺序依 • 次执行 • ② 操作控制:按指令规定的要求,产生操作 • 控制信号,控制各部件工作 • ③ 时间控制:对各种操作实施时间上的定时, • 使计算机有条不紊地工作 • ④ 数据加工:对数据进行算术运算和逻辑运 • 算处理 PC+IR+ID 操作控制器 时序产生器 运算器 华东师范大学计算机科学技术系

  6. 5.1 概述 控制器 CPU Cache ALU AC 运算器 MDR AR PSW PC • 二、CPU的基本组成 IR ID 控制器 操作控制器 时序产生器 CPU 运算器 华东师范大学计算机科学技术系

  7. c c c c c c c c c 时钟 操作控制器 时序产生器 ALU 状态 反馈 c 寄存器AC 存储器 指令译码器 状态条件寄存器PSW c c 存储器数据寄存器MDR 指令寄存器IR 输入 /输出 c 程序寄存器PC CPU c 存储器地址寄存器MAR CPU模型 华东师范大学计算机科学技术系

  8. 二、CPU的基本组成 • 1. 控制器 • 是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作 • 主要任务: • 从内存中取出一条指令,并指出下一条指令在内存中的位置 • 对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作 • 指挥并控制CPU、内存和输入/输出设备之间数据流动的方向 取指令 分析指令 执行指令 华东师范大学计算机科学技术系

  9. 二、CPU的基本组成 • 2. 运算器 • 是一个执行部件,运算器接受控制器的命令而进行动作 ,完成数据加工处理。 • 主要功能 • 执行算术运算 • 执行逻辑运算,包括逻辑测试 • 如: 零值测试或两个值的比较等 华东师范大学计算机科学技术系

  10. 5.1 概述 • 三、CPU中的主要寄存器 • 存储器数据寄存器(MDR) • 寄存器(AC) • 指令寄存器(IR) • 程序计数器(PC) • 存储器地址寄存器(MAR) • 状态条件寄存器(PSW) 华东师范大学计算机科学技术系

  11. c c c c c c c c c 时钟 操作控制器 时序产生器 ALU 状态 反馈 c 寄存器AC 存储器 指令译码器 状态条件寄存器PSW c c 存储器数据寄存器MDR 指令寄存器IR 输入 /输出 c 程序寄存器PC CPU c 存储器地址寄存器MAR CPU模型 华东师范大学计算机科学技术系

  12. 三、CPU中的主要寄存器 • 存储器数据寄存器(MDR) • ——存放当前访问内存或外设的内容 • 作用 • 补偿CPU和内存、外围设备之间在操作速 • 度上的差别 • 2. 寄存器(AC) • ——具有通用寄存器功能,简称累加器 华东师范大学计算机科学技术系

  13. 三、CPU中的主要寄存器 • 3. 指令寄存器(IR) • ——保存当前正在执行的那条指令 • · 当执行一条指令时,先把它从内存取到缓冲 • 寄存器中,然后再传送至指令寄存器 • · 指令寄存器的操作码字段送指令译码器,译 • 码产生指令类型码 华东师范大学计算机科学技术系

  14. 三、CPU中的主要寄存器 • 4. 程序计数器(PC) • ——确定下一条指令的地址 • ① 程序开始执行前,将程序的首地址送入PC • ② 程序顺序执行时,CPU自动修改PC的内 • 容,指向下一条指令的地址 • ③ 执行转移指令时,按指令给出的转移地址 • 修改PC内容 华东师范大学计算机科学技术系

  15. 三、CPU中的主要寄存器 • 5. 存储器地址寄存器(MAR) • ——保存当前CPU所访问的内存单元 • 或I/O端口的地址 • · 由于内存和CPU之间存在着操作速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止 • · CPU和其他部件(内存、外设)交换信息都需使用地址寄存器和数据缓冲寄存器 华东师范大学计算机科学技术系

  16. 三、CPU中的主要寄存器 • 6. 状态条件寄存器(PSW) • ——专用寄存器 • ① 保存运行或测试结果产生的各种状态信息 • 如:运算结果进位标志(C) • 运算结果溢出标志(V) • 运算结果为零标志(Z) • 运算结果为负标志(N) • 奇偶标志 等等 华东师范大学计算机科学技术系

  17. 6. 状态条件寄存器(PSW) • ② 保存中断和系统工作状态等信息,以便使 • CPU和系统能及时了解机器运行状态和程 • 序运行情况 • 如:中断允许标志(IF) • 单步执行标志(T) • 方向标志(D) 等等 • 标志位通常分别由1位触发器记忆,因此, • 状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器 华东师范大学计算机科学技术系

  18. 5.1概述 • 四、操作控制器与时序产生器 • 数据通路——各寄存器之间传送信息的通路 • 在各寄存器之间建立数据通路的任务,是由 • 操作控制器来完成的 华东师范大学计算机科学技术系

  19. 四、操作控制器与时序产生器 • 1. 操作控制器 • · 功能: • 根据指令操作码和时序信号,产生各种操 • 作控制信号,以便正确地建立数据通路, • 以控制计算机各部件有序工作。 • 由控制流控制数据流有向流动,完成取指 • 令和执行指令的控制 • · 设计方法: • 组合逻辑型——硬布线控制器 • 存储逻辑型——微程序控制器 • 组合逻辑与存储逻辑结合型——门阵列 华东师范大学计算机科学技术系

  20. 四、操作控制器与时序产生器 • 2. 时序产生器 • · 功能: • 对各种操作实施时间上的控制 • 根据时钟信号产生周期、节拍、脉冲信号, • 控制计算机有序工作 华东师范大学计算机科学技术系

  21. 四、操作控制器与时序产生器 • 3. 实现框图 • · 输入信号: • 指令译码器输出信号 • 时钟信号 • 机器工作状态反馈信号 • 其他部件送往CPU的请求信号 • · 输出信号: • 输出一系列操作控制信号,指挥各部 • 件有序工作 华东师范大学计算机科学技术系

  22. c c c c c c c c c 时钟 操作控制器 时序产生器 ALU 状态 反馈 c 寄存器AC 存储器 指令译码器 状态条件寄存器PSW c c 存储器数据寄存器MDR 指令寄存器IR 输入 /输出 c 程序寄存器PC CPU c 存储器地址寄存器MAR CPU模型 华东师范大学计算机科学技术系

  23. ·计算机所以能自动地工作,是因为CPU能从存放程序的内存·计算机所以能自动地工作,是因为CPU能从存放程序的内存 里取出一条指令并执行这条指令;紧接着又取下一条指令, 执行下一条指令……,如此周而复始,构成了一个封闭的 循环。除非遇到停机指令,否则这个循环将一直继续下去 ·严格在时序控制下进行 5.1概述 取一条 指令 执行 该指令 开始 • 五、处理器实现概述 • 指令执行的过程与指令类型无关 华东师范大学计算机科学技术系

  24. 五、处理器实现概述 • MIPS实现的高层视图: P186图5-1 • ·下一条指令地址: • ① PC+4→PC • ② PC+4+指令给出的偏移量→PC • ·写入寄存器堆的数据来源: • ① ALU运算结果 • ② 内存 • 数据通路由MUX选择由指令译码产生 • ALU、内存等操作类型 操作控制信号 华东师范大学计算机科学技术系

  25. 五、处理器实现概述 • 在图5-1基础上增加必须的控制电路: 图5-2 • · MUX • ① 选择下一条指令地址(顺序还是分支) • ② 选择寄存器堆写入内容 • ③ 选择操作数来源 • ·控制器 • 根据指令译码产生操作控制信号 • 指令单周期完成 • 图5-3:一个时钟周期从状态1(完成组合逻辑功能) • 到状态2 • 图5-4:状态单元在同一时钟周期内读出并写入 华东师范大学计算机科学技术系

  26. §5 处理器 5.1 概述 5.2 数据通路的建立 华东师范大学计算机科学技术系

  27. Add 指令存储器 程序计数器 4 地址 指令 指令 指令 … 5.2 数据通路的建立 一、读一条指令并计算下一条指令地址 ·所需部件: P190图5-5 ·数据通路: 图5-6 指令顺序执行:PC加4,指向下一条指令地址 PC指向程序首地址 华东师范大学计算机科学技术系

  28. 5.2 数据通路的建立 • 二、非访内指令的执行 • R型指令:add、sub、and、or和slt指令 • 特点:操作数来自两个寄存器 • 进行算术或逻辑运算 • 运算结果写回寄存器 • 例:add $t1,$t2,$t3 • 功能:($t1)+($t2) → $t3 华东师范大学计算机科学技术系

  29. 寄存器堆 图5-7a ALU+PSW(仅1位状态标记Zero) 图5-7b · ALU操作由4位控制,可选择16种操作 二、非访内指令的执行 • 处理器有32个通用寄存器——寄存器堆 • ·需要5位唯一选择某一个寄存器 • 输出控制:5位读寄存器1选择 • 5位读寄存器2选择 • 数据输出:寄存器1输出 • 寄存器2输出 • 输入控制:5位写寄存器选择 • 数据输入、写命令 • ·数据宽度为32位 华东师范大学计算机科学技术系

  30. 增加两个部件:数据存储器、符号扩展单元 图5-8 5.2 数据通路的建立 • 三、访内指令的执行 • 访内指令:lw、sw • 特点:操作数来自(或送至)存储器 • 例:lw $t1,offset_value($t2) • 功能:将基址寄存器$t2的内容与指令中 • 16位有符号偏移量相加,得存储器 • 地址,取出操作数送$t1 • sw $t1,offset_value($t2) • 功能:将基址寄存器$t2的内容与指令中 • 16位有符号偏移量相加,得存储器 • 地址,将$t1内容送该存储单元 华东师范大学计算机科学技术系

  31. 5.2 数据通路的建立 • 四、程序控制指令的执行 • 程序控制指令:分支指令(条件转移) • 特点:根据条件决定后续指令地址 • 例:beq $t1,$t2,offset • 功能:判断($t1)=($t2)? • 否:顺序执行 PC+4 • 是:分支跳转 PC+4+偏移量 华东师范大学计算机科学技术系

  32. 四、程序控制指令的执行 • 实现: P193图5-9、P187图5-2 • 判断是否相等 ALU+PSW • 分支目标地址计算 符号扩展单元+加法器 • ·符号扩展单元 16→32 • 补入同符号位 • ·左移二位 字对齐 • ·在MIPS指令集中分支指令采用延迟执行 • 法,即在下一条指令执行后才转移(考 • 虑流水线问题),此例中忽略 华东师范大学计算机科学技术系

  33. 5.2 数据通路的建立 • 五、可执行上述类型指令的综合数据通路 • (单时钟周期内执行一条指令) • 方法:增加MUX 图5-11 • MUX选择控制: • · PCSrc:是否分支控制,由指令类型 • 码和状态位Zero决定 • · ALUSrc:操作数来源选择控制 • · MemtoReg:写入寄存器堆数据来源的 • 选择控制(运算结果或数 • 据存储器) 华东师范大学计算机科学技术系

  34. §5 处理器 5.1 概述 5.2 数据通路的建立 5.3 一个简单的实现方案 华东师范大学计算机科学技术系

  35. 5.3 一个简单的实现方案 例: 简单的MIPS子集实现方案 ——包括数据通路及其控制 功能: ·支持取字lw、存字sw访内指令 ·支持算术逻辑运算指令add、sub、and、 or和slt非访内指令 ·支持等值分支beq指令、跳转指令j 程序控制指令 华东师范大学计算机科学技术系

  36. 5.3 一个简单的实现方案 • 一、ALU的控制 • 所采用的ALU有4个选择控制端,可完成16种操作。 • 此例中,ALU只需完成5种操作,相应的控制输入码为: 华东师范大学计算机科学技术系

  37. 一、ALU的控制 • 分析: • ·执行lw、sw指令: ALU完成加运算 • ·执行beq指令: ALU完成减运算 • ·执行算术逻辑运算指令: ALU完成5种运算 • 区分三类指令: 2位ALUop 00 01 10 区分第三类指令的5种操作: 指令的低6位功能字段 P46图2-13 2位ALUop和6位指令功能字段编码 → 产生4位ALU控制输入码 P196图5-12 华东师范大学计算机科学技术系

  38. 一、ALU的控制 • 设计方法:多层解码 • ·三类指令 → 2位ALUop • (由指令的OP码译码产生) • · 2位ALUop+6位指令功能字段编码 → 产生4位ALU控制输入码 • 使用多层控制可减少主控制单元的规模,提高 • 控制单元的速度 华东师范大学计算机科学技术系

  39. 一、ALU的控制 • 实现方法:利用无关项简化电路 • 分析: • ALU控制输入码的高位恒为0,仅需产生低3位 • · ALUop:00、X1、1X(因11输入不用) • ·指令的6位功能字段编码只用了64种中的很 • 小一部分,可简化设计。 • 仅当ALUop的高位为1时,由指令的6位功能 • 字段的低4位决定ALU控制输入码 列出真值表(图5-13)→ 电路实现 输入:ALUop1:0,F5-F0 输出:3位ALU控制输入码(+高位0) 华东师范大学计算机科学技术系

  40. 5.3 一个简单的实现方案 • 二、主控制单元的设计 • 模型机的指令集包含三类指令,格式见图5-14 • 分析: • ·操作码OP:[31:26],用Op[5:0]表示 • R型指令:0 beq指令: 4 • lw指令: 35 sw指令: 43 • ·源操作数:rs[25:21]、rt[20:16] • lw指令的基址寄存器:rs[25:21] • ·目的寄存器: lw指令:rt[20:16] • R型指令:rd[15:11] • ——需用MUX选择 华东师范大学计算机科学技术系

  41. 二、主控制单元的设计 • 实现框图: P198图5-15 • 组成: • · PC后继地址产生电路 • 程序计数器、加法器×2、移位器、MUX • ·存储器 • 指令存储器、数据存储器 • ·运算单元 • ALU、PSW、寄存器堆、符号扩展单元、 • MUX×3 • · ALU控制器 华东师范大学计算机科学技术系

  42. 二、主控制单元的设计 • 控制信号: P199图5-16 • ① RegDst:选择目的寄存器 • (存取指令/R型指令) • ② RegWrite: 寄存器写命令(非写即读) • ③ ALUSrc:第2个源操作数选择 • (rt/符号扩展后的偏移量) • ④ PCSrc:选择后继指令地址 • ⑤ MemRead:存储器读命令 • ⑥ MemWrite:存储器写命令 • ⑦ MemtoReg:选择写入目的寄存器的内容来源 • ⑧ ALUop:与指令功能码一起产生ALU控制输入码 华东师范大学计算机科学技术系

  43. 指令译码产生相应的操作控制信号 执行不同指令所产生的操作控制信号见P201图5-18 二、主控制单元的设计 RegDst Branch MemRead MemtoReg ALUOp1-0 MemWrite ALUSrc RegWrite 控制 单元 PCSrc Op[31:26] Zero • 控制电路——产生操作控制信号 P200图5-17 • ◆分析 • · PCSrc信号由分支指令操作码和运算结果的状 • 态产生 • · 其余8个仅由指令的操作码产生 华东师范大学计算机科学技术系

  44. 二、主控制单元的设计 PCSrc • 控制信号: P199图5-16 • ① RegDst:选择目的寄存器 • (存取指令/R型指令) • ② RegWrite: 寄存器写命令(非写即读) • ③ ALUSrc:第2个源操作数选择 • (rt/符号扩展后的偏移量) • ④ PCSrc:选择后继指令地址 • ⑤ MemRead:存储器读命令 • ⑥ MemWrite:存储器写命令 • ⑦ MemtoReg:选择写入目的寄存器的内容来源 • ⑧ ALUop:与指令功能码一起产生ALU控制输入码 华东师范大学计算机科学技术系

  45. 二、主控制单元的设计 • ◆ 指令执行的数据通路: P201图5-19 • 非访内指令(R型指令)的执行流程 • 例:add $t1, $t2, $t3 • ① 取指令,从指令存储器中读出一条指令; • PC增值,产生下一条指令地址。 • ② 指令译码:· 下一条指令地址送PC; • · 产生相应的操作控制信号; • · 读出寄存器$t2和$t3内容,送ALU。 • ③ ALU完成加运算(ALUop和指令功能字段控制 • 产生相应的ALU操作控制信号)。 • ④ 写入运算结果,运算结果送$t1。 华东师范大学计算机科学技术系

  46. 二、主控制单元的设计 ① 取指令,从指 令存储器中读 出一条指令; ② 指令译码: ·下一条指令地 址送PC; ·产生相应的操作 控制信号; ③ ALU完成加运 算(ALUop和 指令功能字段 控制产生相应 的ALU操作控制 信号) PC增值,产生下 一条指令地址。 ·读出寄存器$t2和$t3内容,送ALU。 ④ 写入运算结 果,运算结 果送$t1。 PCSrc PCSrc • 控制信号: P199图5-16 • ① RegDst:选择目的寄存器 • (存取指令/R型指令) • ② RegWrite: 寄存器写命令(非写即读) • ③ ALUSrc:第2个源操作数选择 • (rt/符号扩展后的偏移量) • ④ PCSrc:选择后继指令地址 • ⑤ MemRead:存储器读命令 • ⑥ MemWrite:存储器写命令 • ⑦ MemtoReg:选择写入目的寄存器的内容来源 • ⑧ ALUop:与指令功能码一起产生ALU控制输入码 华东师范大学计算机科学技术系

  47. 二、主控制单元的设计 • 2. 访内指令的执行流程 图5-20 • 例:lw $t1, offset($t2) • ① 取指令,从指令存储器中读出一条指令; • PC增值,产生下一条指令地址。 • ② 指令译码:· 下一条指令地址送PC; • · 产生相应的操作控制信号; • · 读出寄存器$t2的内容送ALU。 • ③ 指令的offset字段经符号扩展单元,产生32位偏 • 移量送ALU,ALU完成加运算。 • ④ 运算结果作为数据存储器地址。 • ⑤ 读出数据存储器相应单元内容送$t1。 华东师范大学计算机科学技术系

  48. 二、主控制单元的设计 ① 取指令,从指 令存储器中读 出一条指令; ② 指令译码: ·下一条指令地 址送PC; ·产生相应的操作 控制信号; ③ 指令的offset 字段经符号扩 展单元,产生 32位偏移量送 ALU,ALU完成 加运算。 PC增值,产生下 一条指令地址。 ·读出寄存器$t2 送ALU。 ⑤读出数据存储 器相应单元内 容送$t1。 ④ 运算结果作 为数据存储 器地址。 PCSrc PCSrc • 控制信号: P199图5-16 • ① RegDst:选择目的寄存器 • (存取指令/R型指令) • ② RegWrite: 寄存器写命令(非写即读) • ③ ALUSrc:第2个源操作数选择 • (rt/符号扩展后的偏移量) • ④ PCSrc:选择后继指令地址 • ⑤ MemRead:存储器读命令 • ⑥ MemWrite:存储器写命令 • ⑦ MemtoReg:选择写入目的寄存器的内容来源 • ⑧ ALUop:与指令功能码一起产生ALU控制输入码 华东师范大学计算机科学技术系

  49. 二、主控制单元的设计 • 程序控制指令的执行流程 图5-21 • 例:beq $t1, $t2, offset • ① 取指令,从指令存储器中读出一条指令; • PC增值,产生下一条指令地址。 • ② 指令译码:· 下一条指令地址送PC; • · 产生相应的操作控制信号; • · 读出寄存器$t1和$t2内容,送ALU。 • ③ ALU完成减运算,影响标志位Zero; • 指令offset字段经符号扩展单元,产生32位偏移 • 量送Add,Add完成加运算,产生分支目标地址 • ④ MUX选择分支目标地址送PC,完成转移 华东师范大学计算机科学技术系

  50. 二、主控制单元的设计 • ALU完成减运算,影响标志位Zero 指令offset字段经符号扩展单元,产生32位偏移量送Add,Add完成加运算,产生分支目标地址。 ④ MUX选择分支目标地址送PC,完成转移 ① 取指令,从指 令存储器中读 出一条指令; ② 指令译码: ·下一条指令地 址送PC; ·产生相应的操作 控制信号; PC增值,产生下 一条指令地址。 ·读出寄存器$t1和$t2内容,送ALU。 PCSrc PCSrc • 控制信号: P199图5-16 • ① RegDst:选择目的寄存器 • (存取指令/R型指令) • ② RegWrite: 寄存器写命令(非写即读) • ③ ALUSrc:第2个源操作数选择 • (rt/符号扩展后的偏移量) • ④ PCSrc:选择后继指令地址 • ⑤ MemRead:存储器读命令 • ⑥ MemWrite:存储器写命令 • ⑦ MemtoReg:选择写入目的寄存器的内容来源 • ⑧ ALUop:与指令功能码一起产生ALU控制输入码 华东师范大学计算机科学技术系

More Related