建構 Beta電腦 6.004 – Fall 2002 10/29/0.

Slides:



Advertisements
Similar presentations
我国国有银行 资本构成及资本充足率变化 小组成员:金融 尹佳裕 王淼 刘钰 金融 吴昱.
Advertisements

平面构成 第六章 平面构成形式与法则 — 破规与变异. 第七章 平面构成形式与法则 — 破规与变异 破规与变异构成的形式、有下列四类: 一、特异构成 特异构成。其表现特征是,在普遍相同性质的事物 当中,有个别异质性的事物,便会立即显现出来。
我的未来不是梦 攀枝花市经贸旅游学校. 1. 文中案例王萍苦恼的原因是 什么? 2. 你有哪些办法可以帮助王萍? 导入 思考  谁来帮帮她?
计算机组成原理.
嵌入式系统与单片机 北京科技大学电子信息系.
程序的执行 程序执行和指令执行概述 数据通路基本结构和工作原理 流水线方式下指令的执行
第五章 中央处理器 5.1 CPU的组成和功能 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 微程序设计技术
NEUSOFT Institute of information Technology .ChengDu
為什麼要讀書?.
农业银行网上签约流程 宁夏金溢投资 内部资料 1.
计算机系统结构作业题解 第1章 作1.2 如有一个经解释实现的计算机,可以按功能划分成4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第一级的一条指令需K(ns)时间,那么执行第2、3、4级的一条指令各需要用多少时间(ns)? 解:∵第二级的一条指令需第1级的N条指令解释 ∴第二级的一条指令执行时间为NKns;
廉政會報專題報告 農地重劃工程 施工常見缺失 報告:吳東霖 製作:張昌鈴 日期:103年12月23日.
專案製作經驗談.
《桥梁设计师》软件.
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
第3章 流水线技术.
集成电路设计基础 王志功 东南大学 无线电系 2004年.
计算机组成原理 东南大学计算机学院 任国林
Principles of Microcomputers
第五章 中央处理单元.
第8章 机床操作 主讲:臧红彬 博士.
第二章 指令系统.
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
王晓峰 合肥学院计算机科学与技术系 合肥 计算机科学与技术 导 论 王晓峰 合肥学院计算机科学与技术系 合肥
第七章 控制器 7.1 控制器的组成及指令的执行 7.2 控制方式和时序的产生 7.3 微程序控制器 7.4 微程序控制器及其微程序设计举例
寫 作 教 學 6 電腦與我 時代改變,科技進步,電腦成為日常生活不可或缺的設備。我是二十一世紀的E世代少年,一隻滑鼠在手,樂趣無窮。
8051 指令.
Chapter 5 電腦元件 目標---- 研讀完本章後,你應該可以: 閱讀有關電腦的廣告以及了解它的專業用語(行話)。
微处理器设计1 刘鹏 College of ISEE Zhejiang University
計算機概論 第4章 從主機板看電腦的世界.
Lecture on High Performance Processor Architecture (CS05162)
第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 類比與數位訊號介面
5 Computer Organization (計算機組織).
The Processor: Datapath and Control
微程序控制器 刘鹏 Dept. ISEE Zhejiang University
第2章 计算机指令集结构 曲冠南
第三章 流水线技术.
計算機結構 – 概論 陳鍾誠 於金門大學.
嵌入式微处理器系统 第二章 处理器技术(1) 北京大学软件与微电子学院.
一个非常简单的CPU的设计 1、组合逻辑控制器 2、微程序控制器.
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
TMS320C6000系列DSPs简介 使用DSPs的必要性 实时DSP系统的构成 DSPs针对DSP算法的结构特点
计算机原理及系统结构 第十八讲 主讲教师:赵宏伟                 学时:64.
移动系统中的Java虚拟机 徐伟刚.
知识点:1、PLC系统起动前检查项目、 定期检查项目、日常维护 内容与步骤 2、掌握PLC诊断流程及故障 排除
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
精简指令集(RISC)CPU的构造原理和设计方法
南瑞学堂 学员简明操作指南 上海时代光华教育发展有限公司 2013年.
数字系统设计 Digital System Design
(第2版).
认识计算机系统.
第九章 目标代码生成.
8051單晶片 蘇恆生 老師.
The Processor: Datapath and Control (Multi-cycle implementation)
微机原理与接口技术 西安邮电大学计算机学院 王忠民.
2019/4/29 计算机组成原理 辅导教师:陆明强.
機器語言, 組合語言, 與編譯器 參考: β 文件; 實驗 #5B; C 語言講議 當我在我的程式碼中發現一堆 麻煩時, 朋友和同事跟我說了
開放電腦計劃 報告人:陳鍾誠 2011 年 8 月 20 日 台灣開源人年會 COSCUP 2011 – 中研院
美麗的西子湖.
第五章 输入/输出系统 本章讨论: 接口的基本概念 总线的基本概念 中断方式及其接口组成 中断方式及其接口组成 DMA方式及其接口组成
第4章 指令级并行 授课教师:车喜龙
本节内容 计算机不会做加法 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2005年5月
第3章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
其解亦可表为向量形式.
第5章 中 央 处 理 器 5.1 CPU的功能和组成 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器
Presentation transcript:

建構 Beta電腦 6.004 – Fall 2002 10/29/0

中央處理單元的設計取捨 最大效能: 以每秒可執行的指令數來衡量 最小成本: 以電路的大小來衡量 最佳效能/價錢: 以MIPS(每秒百萬指令)與大小的來比例來衡量. 在重視能量消耗的應用中, MIPS/瓦特也很重要. 6.004 – Fall 2002 10/29/0

效能之量測 每秒百萬指令 時脈頻率(百萬赫) 每指令所需時脈數 推進效能 ... 今天: 1 時脈/指令. 下次: 以管路技術來達成更多百萬赫 下下次: 修正不同的管路技術問題 6.004 – Fall 2002 10/29/0

Beta指令集 操作類別: Reg[Rc] ← Reg[Ra] op Reg[Rb] 以操作碼區分的指令類別: OP OPC MEM Transfer of Control 操作類別: Reg[Rc] ← Reg[Ra] op SXT(C) 兩種格式共用的操作碼(OPCODE): ADD SUB MUL* DIV* *optional CMPEQ CMPLE CMPLT AND OR XOR SHL SHR SRA 6.004 – Fall 2002 10/29/0

達成方法: 累進功能法 我們的組件百寶袋: 暫存器 解多工器 “黑盒子” 運算邏輯單元 記憶體 每個指令是由一個簡單的功能組件成來達成的. 我們將試著實現各個指令類別的資料路徑, 然後再將它們合併(使用解多工器等). 我們的組件百寶袋: 步驟: 1. 操作類指令 2. 存取類指令 3. 跳躍與分流類指令 4. 例外 5. 合併資料路徑 暫存器 解多工器 “黑盒子” 運算邏輯單元 記憶體 6.004 – Fall 2002 10/29/0

多埠暫存器檔案 (獨立讀取位址) 2 combinational READ ports*, 1 clocked WRITE port *internal logic ensures Reg[31] reads as 0 6.004 – Fall 2002 10/29/0

暫存器檔案之時序 兩組組合邏輯式讀取埠, 一組時脈控制式寫入埠 如果 (舉例來說) WA=RA1, 將會如何??? RD1 會讀取 “舊的” Reg[RA1] 之值, 一直到下一個時脈邊緣為止! 6.004 – Fall 2002 10/29/0

起始點: ALU 操作 32-位元 (4-位元組) ADD 指令: 對BETA而言, 表示Reg[R4] ← Reg[R2] + Reg[R3] 首先, 硬體必需能夠: • 讀取下一個 32-位元 指令 • 指令解碼(DECODE): ADD, SUB, XOR, 等等 • 從暫存器檔案進行讀取 (READ) (Ra, Rb) 之操作; • 執行(PERFORM)指定的操作; • 將結果寫回(WRITE)暫存器檔案(Rc). 6.004 – Fall 2002 10/29/0

指令取得/解碼 • 使用計數器來取得(FETCH)下一個指令: 程式計數器 (PC) • 使用 PC 來當作記憶體位址 • 從記憶體取得指令 o 直接使用某些指令欄位 (暫存器編號, 16-位元之常數) o 使用 <31:26>位元來產生控制訊號 INSTRUCTION WORD FIELDS CONTROL SIGNALS 6.004 – Fall 2002 10/29/0

ALU 操作之資料路徑 OP: Reg[Rc] ← Reg[Ra] op Reg[Rb] 6.004 – Fall 2002 10/29/0

ALU 操作 (常數存在時) OPC: Reg[Rc] ← Reg[Ra] op SXT(C) 6.004 – Fall 2002 10/29/0

“載入”指令 LD: Reg[Rc] ← Mem[Reg[Ra]+SXT(C)] 6.004 – Fall 2002 10/29/0

“儲存”指令 ST: Mem[Reg[Ra]+SXT(C)] ← Reg[Rc] 6.004 – Fall 2002 10/29/0

”跳躍”(JMP)指令 JMP: Reg[Rc] ← PC+4; PC ← Reg[Ra] 6.004 – Fall 2002 10/29/0

BEQ/BNE(當相等/不等時, 則跳躍) 指令 BEQ: Reg[Rc] ← PC+4; if Reg[Ra]=0 then PC ← PC+4+4*SXT(C) BNE: Reg[Rc] ← PC+4; if Reg[Ra]≠0 then PC ← PC+4+4*SXT(C) 6.004 – Fall 2002 10/29/0

“載入相對位址”指令 等等, “載入相對位址”指令有什麼好處呢??? 我認為 LDR: Reg[Rc] ← Mem[PC + 4+ 4*SXT(C)] 等等, “載入相對位址”指令有什麼好處呢??? 我認為 • 程式碼是單純的, 舉例來說, 它們是唯讀的, 並且存在一個”程式”記憶體區; • 但資料是可讀/寫的, 而使用以下方法之一來儲存 • 存在堆疊(STACK)中 (內部); 或 • 在某些外部變數中; 或 • 存在一個外部的儲存堆疊(HEAP). 所以, 為什麼一個指令要設計成可以載入”靠近”這個 指令的資料呢??? 當資料是 ”位址”及”其他較大的常數”時 6.004 – Fall 2002 10/29/0

“載入相對位址”(LDR)指令 LDR: Reg[Rc] ← Mem[PC + 4 + 4*SXT(C)] 6.004 – Fall 2002 10/29/0

例外處理 計劃:: • 中斷正在執行的程式 • 呼叫例外處理 (像是一個程序呼叫) • 返回並繼續執行. 我們希望有 可修復的中斷 以達成 • 由中央處理器(CPU)或系統產生的同步化事件 錯誤 (例如, 不合法的指令, 除數為0, 不合法的記憶體位址) 捕捉 及 系統呼叫 (例如, 從週邊讀取一個字元) • 由I/O所產生的非同步化事件 (例如, 鍵盤鍵入, 收到封包, 磁碟傳輸完成) 關鍵: 對於被中斷程式的透明度. • 這對非同步化中斷是最難的 6.004 – Fall 2002 10/29/0

實施方法… 例外如何運作: • 不要執行現在的指令 • 取而代之的, 假裝有一個”強制”的程序呼叫 • 儲存現在的程式計數(PC) (事實上是現在的 PC + 4) • 用例外向量載入PC • 同步化例外是0x4, 非同步化例外是0x8 問題: 要把現在的PC + 4存到哪呢? • 我們的方法: 保留一個暫存器 (R30, 也稱 XP) • 禁止使用者程式使用XP. 為什麼? 不合法的操作: PUSH(XP) 取得指令於 Mem[Reg[XP]–4] 檢查 DIV 操作碼, 找到暫存器號碼 用軟體來執行這個操作, 填入結果暫存器 POP(XP) JMP(XP) 例子: DIV指令並未實施 LD(R31,A,R0) LD(R31,B,R1) DIV(R0,R1,R2) ST(R2,C,R31) 以硬體強制執行 6.004 – Fall 2002 10/29/0

例外 Bad Opcode: Reg[XP] ← PC+4; PC ← “IllOp” Other: Reg[XP] ← PC+4; PC ←“Xadr” 6.004 – Fall 2002 10/29/0

控制邏輯 實施方法的選擇: • 以操作碼(opcode), 外部跳躍, 以及捕捉邏輯索引的唯讀記憶體(ROM) • 可程式化邏輯陣列(PLA) • “隨機”邏輯 (例如: 標準元件邏輯閘) 6.004 – Fall 2002 10/29/0

Beta: 我們的”最終答案” 6.004 – Fall 2002 10/29/0

下回: 管路化的Beta電腦 那麼, 我們到 6.004的實驗室去, 把Intel的生意搶走吧! 嗯, 建構一台電腦並不是那麼難嘛 6.004 – Fall 2002 10/29/0