第六章 Processor Unit.

Slides:



Advertisements
Similar presentations
1 I/O 设备访问方式和类型. 2 Overview n The two main jobs of a computer: l I/O (Input/Output) l processing n The control of devices connneted to the computer is.
Advertisements

胸痛中心的时间流程管理 上海胸科医院 方唯一.
第一單元 建立java 程式.
程序的执行 程序执行和指令执行概述 数据通路基本结构和工作原理 流水线方式下指令的执行
我们会赞叹生命之花的绚丽和多姿,也会歌颂生命之树的烂漫和青翠,但是生命是如此脆弱……
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
最新計算機概論 第3章 計算機組織.
Hardware Chen Ching-Jung
主題五 CPU Learning Lab.
Chapter 5 迴圈.
CH.2 Introduction to Microprocessor-Based Control
新世代計算機概論.
Chapter 5 電腦元件 目標---- 研讀完本章後,你應該可以: 閱讀有關電腦的廣告以及了解它的專業用語(行話)。
第 2 章 中央處理單元.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 霹靂燈 2018年11月7日 8051 單晶片實習---E0902霹靂燈.
電腦操作 會考電腦 浸信會永隆中學.
The Processor: Datapath and Control
微处理器设计1 刘鹏 College of ISEE Zhejiang University
Quiz 3 假设各种分支占所有指令数的百分比如下表所示:
CPU資料處理 醫務管理暨醫療資訊學系 陳以德 副教授: 濟世CS 轉
第4章 处理器(CPU) 4.1 引言 4.2 逻辑设计的一般方法 4.3 建立数据通路 4.4 一个简单的实现机制 4.5 多周期实现机制.
指令集架構 計算機也跟人類一樣,需要提供一套完整的語言讓人們跟它充分溝通,以完成正確的計算工作。
邏輯設計.
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
memory array (2n words by m bits)
5 Computer Organization (計算機組織).
The Processor: Datapath and Control
Operating System Internals and Design principles
memory array (2n words by m bits)
微程序控制器 刘鹏 Dept. ISEE Zhejiang University
2-1 接腳說明 2018/11/30 第2章 系統分析.
學習目標 列出Von Neumann machine的元件以及它們的功能。
計算機結構 – 概論 陳鍾誠 於金門大學.
微处理器设计2 刘鹏 College of ISEE Zhejiang University
一个非常简单的CPU的设计 1、组合逻辑控制器 2、微程序控制器.
第七章 PIPELINING.
預官考試輔導 計算機概論提要 91年12月4日.
第14章 其它DSP设计库 14.1 总线控制库 14.2 复数信号库 14.3 Gates库 14.4 状态机函数库
computer organization principle
第二章 電腦硬體知識 2-1 電腦的組成與架構 2-2 處理器 2-3 記憶體 2-4 輸入與輸出裝置 2-5 電腦的操作與保養.
第1章 單晶片微電腦概論.
重點 資料結構之選定會影響演算法 選擇對的資料結構讓您上天堂 程式.
JTAG INTERFACE SRAM TESTER WITH C-LCM
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
第 2 章、電腦的硬體結構 作者:陳鍾誠.
精简指令集(RISC)CPU的构造原理和设计方法
第十五课:在医院看病.
第一單元 建立java 程式.
Instructions: Language of the Machine
The Processor: Datapath and Control (Multi-cycle implementation)
5-6 串列埠模式0輸出埠擴充實習.
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
中国科学技术大学计算机系 陈香兰 Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 Fall 2013.
第二章 電腦硬體知識 Chapter 2-電腦硬體知識.
计算机系统结构(2012年春) ----存储层次: Cache基本概念
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
資訊傳播工程學系 蔡奇偉 副教授 專業英文導讀 課程說明 資訊傳播工程學系 蔡奇偉 副教授
2019/4/29 计算机组成原理 辅导教师:陆明强.
第10章 存储器接口 罗文坚 中国科大 计算机学院
一、簡介 電腦硬體設計:純硬體電路(hardware)及韌體電 路(firmware)兩種方式。
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
資料表示方法 資料儲存單位.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
第3章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
Chapter 4 Multi-Threads (多執行緒).
快取映射 之直接對映 計算整理.
單晶片實作講義 微電腦控制界面 (LCD) 。.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Presentation transcript:

第六章 Processor Unit

Instruction Cycle Fetch Phase Execution phase IR  [[PC]] PC  [PC] + 4 Execution phase

記憶體 控制 處理器 N個通用暫存器 圖1.2 處理器與記憶體之間的交互連接 MAR MDR 控制 PC R R 處理器 1 IR ALU R n - 1 N個通用暫存器 圖1.2 處理器與記憶體之間的交互連接 Figure 1.2. Connections between the processor and the memory.

CPU Processor (CPU): the active part of the computer, which does all the work (data manipulation and decision-making) Datapath: portion of the processor which contains hardware necessary to perform all operations required by the computer (the brawn) Control: portion of the processor (also in hardware) which tells the datapath what needs to be done (the brain) The control unit tells the datapath what to do every clock cycle during the execution of instructions

Single bus Datapath 圖 7.1 處理器內部資料路徑的單一匯流排組織 Control unit 內部處理器匯流排 控制訊號 PC 指令解碼器 與控制邏輯 位址線 MAR 記憶體 匯流排 MDR Data lines IR Y 常數 4 R0 選擇 MUX Add A B ALU Sub R ( n - 1 ) 控制線 ALU Carry-in XOR TEMP Z 圖 7.1 處理器內部資料路徑的單一匯流排組織

Transferring between registers Two control signals Riin , Riout control the switch to bus Riin = 1 means data loaded from bus to register Ri Riout = 1 menas data put from register Ri to bus When Riout = 0 bus can pass data to other registers For example, if we want copy R1 to R4 then the signal sequence in the datapath will be: R1out = 1, will activate the output of R1 and the content of R1 will be put on bus R4in = 1, will activate the input of R4 and data on bus will enter R4

圖 7.2 圖 7.1 中的暫存器之輸入與輸出閘 內部處理器匯流排 R i R i R i Y Y 常數 4 選擇 MUX A B ALU in R i R i out Y in Y 常數 4 選擇 MUX A B ALU Z in Z Z out 圖 7.2 圖 7.1 中的暫存器之輸入與輸出閘

ALU operation Add R1,R2,R3 1. R1out 、Yin (1 clock, 2 micro-operations) 2. R2out 、SelectY、Add、Zin (1 clock, 4 micro-operations) 3. Zout 、 R3in (1 clock, 2 micro-operations)

Read data from memory 圖 7.4 針對暫存器 MDR 的連接與控制訊號 記憶體匯流排 資料線 內部處理器匯流排 MDR outE out MDR MDR MDR inE in 圖 7.4 針對暫存器 MDR 的連接與控制訊號

Micro-operations for read operation Move (R1), R2 1. MAR  [R1] 2. 啟動記憶體匯流排的讀取運算 3. 等候從記憶體的控制訊號MFC的回應 4. 從啟動記憶體匯流排載入到MDR 5. R2  [MDR] Needs 5 cpu clocks

Some micro-operations can be operated concurrently 1. R1out 、MARin 、Read 2. MDRinE 、 WMFC 3. MDRout 、 R2in Needs 3 cpu clocks

新的記憶體位址放到address lines Step 1 2 3 Clock MAR in Address Read 同時 MR MDR inE Data MFC MDR out 圖 7.5 記憶體 Read 作業的時序圖

Micro-operations for write operation Move R2, (R1) 1. R1out 、 MARin 2. R2out 、MDRin 、Write 3. MDRoutE 、 WMFC

ALU operations Add (R3), R1 提取該指令 提取第一個運算元(由暫存器R3所指的記憶體內容) 執行加法運算

Facilitate Branch EA calculation 步驟 動作 1 PCout、MARin、Read、Select4、Add、Zin 2 Zout、PCin、Yin、WMFC 3 MDRout、IRin 4 R3out、MARin、Read 5 R1out、Yin、WMFC 6 MDRout、SelectY、Add、Zin 7 Zout、R1in、End B會看到,注意B沒有 latch 圖 7.6 針對指令 Add (R3),R1 的執行之控制序列

Unconditional Branch operations 步驟 動作 1 PCout、MAR、Read、Select4、Add、Zin 2 Zout、PCin、Yin、WMFC 3 MDRout、IRin 4 IRout 的偏移量欄位、Add、Zin 5 Z、PCin、End 圖 7.7 無條件式Branch指令之控制序列

多重匯流排組織 圖 7.8 資料路徑的三條匯流排組織 匯流排 A 匯流排 B 匯流排 C 遞增器 PC 暫存器檔 常數 4 MUX A ALU R B 指令解碼器 IR MDR MAR 記憶體匯流排 資料線 位址線 圖 7.8 資料路徑的三條匯流排組織

多重匯流排組織下的指令執行 Add R4,R5,R6 (R6  R4+R5) 步驟 動作 1 PCout、R=B、MARin、Read、IncPC 2 WMFC 3 MDRout B、R=B、IRin 4 R4out A、R5out B、SelectA、Add、R6in、End 圖 7.9 針對圖 7.8 中的三條匯流排組織之指令 Add R4,R5,R6 的控制序列

Control Unit 實作方式 Hardwired Control Micro-programmed Control

Hardwired Control Implementation CLK 控制步驟 計數器 時序 外部輸入 IR 解碼器/編碼器 條件碼 控制訊號 圖 7.10 控制單元組織

圖 7.11 分開解碼與編碼功能 CLK 時序 控制步驟 計數器 Reset Step decoder T T T INS INS 外部輸入 2 n INS 1 INS 外部輸入 2 IR 指令解碼器 解碼器 條件碼 INS m Run End 控制訊號 圖 7.11 分開解碼與編碼功能

步驟 動作 1 PCout、MARin、Read、Select4、Add、Zin 2 Zout、PCin、Yin、WMFC 3 MDRout、IRin 4 R3out、MARin、Read 5 R1out、Yin、WMFC 6 MDRout、SelectY、Add、Zin 7 Zout、R1in、End 步驟 動作 1 PCout、MARin、Read、Select4、Add、Zin 2 Zout、PCin、Yin、WMFC 3 MDRout、IRin 4 IRout 的偏移量欄位、Add、Zin 5 Zout、PCin、End Zin在 1st clock, 6th clock, 4th clock中出現 Zin = T1 + T6 ‧ADD + T4 ‧ BR + … Or 第一個time slot(1st clock) And

分支 加 T T 4 6 T 1 圖 7.12 圖 7.1 中處理器之 Zin 控制訊號的產生

指令單元 整數單元 浮點數單元 指令快取 資料快取 匯流排介面 處理器 系統匯流排 主記憶體 輸入/輸出 圖 7.14 完整處理器的區塊圖

Micro-programmed Control Control Word (CW) A word of bit string (eg 50 bits ~ 80 bits) Every bit represents control signal Micro-routine A serial of CWs Micro-instruction A single CW Micro-operation Every signal represented by 1 bit in CW Control store Store micro-routines

Machine Instruction vs micro-instruction One machine instruction mapping to one micro-routine One micro-routine consists of many control words One control word consists of many micro-operations One clock executes one CW, that is, those micro-operations within CW executing at the same clock

一個微常式 微運算 Yin 在clock 2, clock 5被設定為1 圖 7.15 圖 7.6 的微指令範例 7個微指令 微指令 MAR out 微指令 in out MAR Read MDR Select in Add out in out WMFC PC PC IR Y in Z in out R1 R1 R3 End Z CW(微指令) 1 1 1 1 1 1 1 2 1 1 1 1 3 1 1 4 1 1 1 5 1 1 1 6 1 1 1 7 1 1 1 Yin 在clock 2, clock 5被設定為1 圖 7.15 圖 7.6 的微指令範例 7個微指令

起始位址 產生器 IR 時脈 m P C 控制 記憶體 CW 圖 7.16 微程式控制單元的基本組織

位址 微指令 PCout、MARin、Read、Select4、Add、Zin 1 Zout、PCin、Yin、WMFC 2 MDRout、IRin 3 跳到適當微常式的起始位址 …………………………………………………………………... 25 若 N=0,則跳到微指令 0 26 IRout 的偏移量欄位、SelectY、Add、Zin 5 Zout、PCin、End 圖 7.17 針對指令 Branch < 0 的微常式

圖 7.18 讓微程式能夠執行條件式分支的控制單元組織 外部輸入 起始與分支 位址產生器 IR 條件碼 時序 m P C 控制 記憶體 CW 圖 7.18 讓微程式能夠執行條件式分支的控制單元組織

Micro-instruction design Horizontal microinstruction (horizontal organization) 每一位元對應一個微運算 可使多個微運算同時執行,提昇硬體的使用度,但實際的應用中,有些位元會被浪費掉 因為指令寬度長,因此成本高 執行速度快為期優點 Vertical microinstruction (vertical organization) 採數個位元為一組(互斥的訊號分為同一組),經過1至2的解碼後,藉以引發更多個微運算 利用較少的位元藉由適當的解碼而得到較多的微運算 指令寬度較短,因此成本降低 執行速度較慢

Horizontal microinstruction out 微指令 in out MAR Read Select WMFC PC PC MDR in in Add out in out IR Y Z in out R1 R1 R3 End Z 1 1 1 1 1 1 1 2 1 1 1 1 3 1 1 4 1 1 1 5 1 1 1 6 1 1 1 7 1 1 1

Vertical microinstruction 微指令 F1 F2 F3 F4 F5 F1 (4 個位元) F2 (3個位元) F3 (3個位元) F4 (4個位元) F5 (2個位元) 0000: 不傳送 000:不傳送 000:不傳送 0000: 加 00:不動作 0001: PC 001: PC 001: MAR 0001: 減 01: 讀取 out in in 0010: MDR 010: IR 010: MDR 10: 寫出 out in in 0011: Z 011: Z 011: TEMP out in in 0100: R0 100: R0 100: Y 1111: XOR out in in 0101: R1 101: R1 out in 0110: R2 110: R2 16 個 ALU 函式 out in 0111: R3 111: R3 out in 1010: TEMP out 1011: Offset out F6 F7 F8 只須19 bits來表示42 signals,若用水平組織則須42 bits F6 (1個位元) F7 (1個位元) F8 (1個位元) 0: SelectY 0:不動作 0: 繼續 1: Select4 1: WMFC 1: 結束 圖 7.19 採用欄位編碼的微指令之部分格式範例

圖 7.20 指令 Add src,Rdst 的微程式流程圖 _ _ Bit-ORing 圖 7.20 指令 Add src,Rdst 的微程式流程圖 _ _

帶有下一個位址欄位的微指令 為了使讓多個machine instrcutions能共用微指令,因此在微常式中會有許多分支微指令以跳到所需的微指令 這些分支微指令(branch micro-instructions)(見圖7-20)在datapath中執行無用的作業,其目的只是為了決定下一個微指令的位址。因此會降低計算機的作業速度,因此有包含下一個位址欄位的微指令的發明

取代μPC 圖 7.22 帶有下一個微指令位址的設計 IR 外部輸入 條件碼 解碼電路 m A R 控制記憶體 下一個位址 m I R 微指令解碼器 控制訊號 圖 7.22 帶有下一個微指令位址的設計

圖 7.23 在 7.5.3 節的範例中微指令的格式 微指令 F0 F1 F2 F3 F0 (8 個位元) F1 (3 個位元) 下一個微指令 位址 000: 不傳送 000: 不傳送 000: 不傳送 001: PC out 001: PC in 001: MAR in 010: MDR 010: IR 010: MDR out in in 011: Z 011: Z 011: TEMP out in in 100: Rsrc out 100: Rsrc in 100: Y in 101: Rdst out 101: Rdst in 110: TEMP out F4 F5 F6 F7 F4 (4 個位元) F5 (2 個位元) F6 (1 個位元) F7 (1 個位元) 0000: Add 00: 不動作 0: SelectY 0: 不動作 0001: Sub 01: Read 1: Select4 1: WMFC 10: Write 1111: XOR F8 F9 F10 F8 (1 個位元) F9 (1 個位元) F10 (1 個位元) 0: NextAdrs 0: 不動作 0: 不動作 1: InstDec 1: OR 1: OR mode indsrc 圖 7.23 在 7.5.3 節的範例中微指令的格式

圖 7.24 使用下一個微指令位址欄位來實作圖 7.21 的微常式。 (請參見圖 7.23 所示之編碼過的訊號。) 八進制 位址 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 3 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 7 1 1 1 1 1 1 1 1 1 1 7 1 1 1 1 1 1 1 1 1 7 2 1 1 1 1 1 1 1 1 1 1 1 7 3 1 1 1 1 圖 7.24 使用下一個微指令位址欄位來實作圖 7.21 的微常式。 (請參見圖 7.23 所示之編碼過的訊號。)

圖 7.25 控制訊號產生電路的一些細節 R15 R15 R0 R0 解碼器 解碼器 IR Rsrc Rdst InstDec 外部輸入 out in out 解碼器 解碼器 IR Rsrc Rdst InstDec out 外部輸入 OR 解碼電路 mode 條件碼 OR indsrc m A R 控制記憶體 下一個位址 F1 F2 F8 F9 F10 Rdst out Rdst in 微指令解碼器 Rsrc out Rsrc in 其他控制訊號 圖 7.25 控制訊號產生電路的一些細節