5 Computer Organization (計算機組織).

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

教员信息 姓 名:仲崇权 单 位:电子与信息工程学院 电 话: 办公室:创新院大厦720房间 :
Welcome to the world of Computer Organization 计算机组成原理
嵌入式系统与单片机 北京科技大学电子信息系.
第 2 章 中央處理單元.
第一章 多核概述 使用多核了吗? 摩尔定律——芯片的晶体管数量每一年半左右增长一倍。 处理器性能不断提高主要基于两个原因:
计算机基础 第一章 计算机基础知识 机电系计算机教研室
NEUSOFT Institute of information Technology .ChengDu
第二章 微型计算机系统 第一节 基本术语和基本概念 第二节 计算机系统的基本构成 第三节 微机系统的硬件组成 第四节 微机系统的软件组成.
Chap4 電腦硬體基本單元 高中資訊科技概論 松崗圖書公司.
第一章 计算机基础知识 计算机的发展简史 1 计算机软件系统 6 计算机的定义和分类 2 微型计算机的组成 7 计算机的特点和用途 3
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
第二章 微型计算机系统 2.1基本术语和基本概念 硬件与软件
第11章 计算机系统 计算机系统概述 分类方法、计算机系统性能评测方法 2. 微机系统 3. 他体系结构处理机
Foundations of Computer Science
Chapter 2: Computer-System Structures计算机系统结构
最新計算機概論 第3章 計算機組織.
第二章 计算机硬件基础 --微型计算机硬件的组成.
新世代計算機概論 第3章 電腦的系統單元.
计算机导论 第4讲 微型计算机硬件系统 1.
计算机与信息技术应用基础 徐东雨 计算机中心
单片机原理与应用.
了解高中信息技术课 柯华菁.
電腦基本架構 電腦的使用與保養 電腦系統元件 電腦的儲存裝置 輸入裝置 輸出裝置
單晶片原理與應用 魏兆煌 整理 南台科技大學 電機系 Sep
Hardware Chen Ching-Jung
CH.2 Introduction to Microprocessor-Based Control
第七章 单片机存储器的扩展.
Chapter 5 電腦元件 目標---- 研讀完本章後,你應該可以: 閱讀有關電腦的廣告以及了解它的專業用語(行話)。
主讲教师:唐大仕 第5讲 计算机硬件 主讲教师:唐大仕
第 4 章 記憶單元.
第 2 章 中央處理單元.
第5章 中央處理單元與主記憶體 5-1 中央處理單元-CPU 5-2 主記憶體.
微处理器设计1 刘鹏 College of ISEE Zhejiang University
臺北市立大學 資訊科學系(含碩士班) 賴阿福 CS TEAM
基本硬體介紹 1.主機板 2.CPU(運算中心) 3.記憶體(RAM-短暫記憶資料處) 4. 硬碟(HDD儲存資料處) 5.顯示卡(接螢幕)
CPU資料處理 醫務管理暨醫療資訊學系 陳以德 副教授: 濟世CS 轉
PIC16F1827介紹 以微控器為基礎之電路設計實務-微處理器實驗室.
第4章 处理器(CPU) 4.1 引言 4.2 逻辑设计的一般方法 4.3 建立数据通路 4.4 一个简单的实现机制 4.5 多周期实现机制.
99(1)義守大學工讀職場技能精進訓練班 資訊工程系 林義隆 老師
指令集架構 計算機也跟人類一樣,需要提供一套完整的語言讓人們跟它充分溝通,以完成正確的計算工作。
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
電腦基本概念 張森 高階 適合程度 初學.
微机原理及单片机接口技术 电话: Tel:84192 山东大学生物医学工程.
Operating System Internals and Design principles
存储设备介绍 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
Computer Organization
微程序控制器 刘鹏 Dept. ISEE Zhejiang University
微处理器设计2 刘鹏 College of ISEE Zhejiang University
第2章 電腦硬體的架構及功能.
单片机应用技术 项目一 循环彩灯装置 第2讲 51单片机的结构与引脚 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
電腦的硬體架構.
第1章 單晶片微電腦概論.
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
計算機概論 第3章 計算機組織與結構概觀.
Computer Inside/Outside
任务一:初识计算机 任务二:学习计算机中的信息表示 P /4/7.
The Processor: Datapath and Control (Multi-cycle implementation)
微机原理与接口技术 西安邮电大学计算机学院 王忠民.
第一章.
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
第5章 存储器 5.1 存储器概述 5.2 半导体存储芯片结构及使用 位系统的存储器接口.
資訊傳播工程學系 蔡奇偉 副教授 專業英文導讀 課程說明 資訊傳播工程學系 蔡奇偉 副教授
3 電腦硬體 3-1 處理單元 3-2 記憶單元 3-3 輸入單元 3-4 輸出單元 3-5 電腦元件的使用與故障排除.
第七章 半导体存储器.
第六章 記憶體.
第1章 单片机及其开发环境 教学内容 初识单片机 单片机应用系统 Keil µVision软件的使用.
《计算机基础》4月答疑 ——基础知识与基本操作.
第三章 计算机体系结构.
Presentation transcript:

5 Computer Organization (計算機組織)

Objectives(學習目標) 認識電腦的三個子系統 認識電腦的中央處理單元 認識中央處理單元的處理週期 認識主記憶體與位址空間 認識電腦的輸入輸出子系統 了解電腦的子系統如何互連 了解提升電腦處理效率的不同架構 了解一部簡單電腦的運作

5-1 電腦的三個子系統 Central Processing Unit (CPU) Main memory 5-1 電腦的三個子系統 Central Processing Unit (CPU) Main memory Input/Output subsystem.

5-2 電腦的中央處理單元 (CENTRAL PROCESSING UNIT) 中央處理單元由個部份組成: arithmetic logic unit (ALU) control unit registers

電腦的中央處理單元的示意圖

Registers(暫存器) 暫存器是位於CPU內部的記憶體 用來暫存運算中的資料 Data registers Instruction register Program counter

Control unit(控制單元) 「控制單元」( CU)是負責指揮、協調、控制電腦各部門間的相互運作與資料傳送,可以說是電腦的指揮中樞。 例如指揮算術邏輯單元與記憶單元間的動作、指令的讀取與解碼、作業程序的協調等工作。

真實世界的CPU 8051是一種8位元的單晶片微電腦,屬於MCS-51單晶片的一種,由英特爾公司於1981年製造。到現在,有更多的IC設計商,如ATMEL、飛利浦、華邦等公司,相繼開發了功能更多、更強大的兼容產品。

真實世界的CPU

8051的內部結構 8 位元 CPU 4KB 內部程式記憶體,最大可擴充至 64KB。 128Bytes 內部資料記憶體,最大可擴充至 64KB。 具有邏輯代數運算功能(位元邏輯)。 4 組可位元定址的 I/O 埠〈P0、P1、P2、P3〉。 2 組16位元計時/計數器〈T0、T1〉。 5 個中斷源〈INT0、INT1、T0、T1、RXD、TXD〉。 1 組全雙工串列埠〈UART〉。

5-3 主記憶體(MAIN MEMORY) 主記憶體以word為存取的最小單位 一個word可能是: 8 bits, 16 bits, 32 bits or 64 bits 或者更多bits 一個word如果是8 bits則稱為一個byte

主記憶體每一個word都有一個位址

所有主記憶體的位址形成位址空間 (address space) 如果記憶體有64 kilobytes, 而每一個word的大小為一個byte。 則位址空間為0 到65,535

記憶體的單位

Example 5.1 某一部電腦有32 MB (megabytes)的記憶體,請問需要幾個bit才能存取記憶體中每一個byte? Solution 32 MB= 225 (25 × 220) log2 225= 25 bits Example 5.2 某一部電腦有128 MB (megabytes)的記憶體,而此電腦中每個word佔8bytes。請問需要幾個bit才能存取記憶體中每一個word? Solution 128 MB=227 1 word=23bytes 此電腦有224 words log2 224 =24 bits, to address each word.

記憶體的種類 Random access memory (RAM) Read-only memory (ROM) Static RAM (SRAM) Dynamic RAM (DRAM) Read-only memory (ROM) Programmable read-only memory (PROM). Erasable programmable read-only memory (EPROM). Electrically erasable programmable read-only memory (EEPROM).

記憶體的階層(Memory hierarchy)

快取記憶體的容量小、介於CPU與主記憶體之間 快取記憶體(Cache memory) 快取記憶體的存取速率比主記憶體快 但是比CPU與暫存器慢 快取記憶體的容量小、介於CPU與主記憶體之間 Figure 5.5 Cache memory

5-4 電腦的輸入輸出子系統 (INPUT/OUTPUT SUBSYSTEM) 電腦的輸入輸出子系統用來讓電腦與外界溝通以及儲存程式與資料 電腦的輸入輸出裝置包括非儲存裝置以及儲存裝置

非儲存裝置(Non-storage devices) Keyboard and monitor Printer

儲存裝置( Storage devices)

儲存裝置( Storage devices) Figure 5.7 A magnetic tape

儲存裝置( Storage devices) Figure 5.8 Creation and use of CD-ROMs

Figure 5.9 CD-ROM format

5-5 電腦子系統的互連 (SUBSYSTEM INTERCONNECTION) CPU與記憶體如何互連?

電腦週邊裝置與CPU如何互連? 電腦週邊裝置速度慢 CPU與memory速度快 直接把電腦週邊與匯流排互連好嗎?

電腦週邊裝置與匯流排如何互連 Figure 5.13 Connecting I/O devices to the buses

電腦週邊裝置與匯流排如何互連 Figure 5.14 SCSI controller

電腦週邊裝置與匯流排如何互連 Figure 5.15 FireWire controller

電腦週邊裝置與匯流排如何互連 Figure 5.16 USB controller

Addressing input/output devices (輸入輸出裝置的定址) 無論是從記憶體或者輸入輸出裝置讀寫資料, CPU皆使用相同的匯流排來進行。 只是使用的指令不同而已。 如果所要讀寫的資料位於記憶體中,資料會在記憶體與CPU之間移轉。 如果所執行的讀寫指令指向輸入輸出裝置,資料會在輸入輸出裝置與CPU之間移轉。 有兩種處理輸入輸出裝置位址的方法: isolated I/O and memory-mapped I/O.

輸入輸出裝置定址的方法一: isolated I/O Figure 5.17 Isolated I/O addressing

輸入輸出裝置定址的方法一: Memory-mapped I/O Figure 5.18 Memory-mapped I/O addressing

5-6 程式如何執行(PROGRAM EXECUTION) 何謂程式? 程式由某一個集合的指令所構成用來處理資料

一個簡單的機器週期由三個階段所構成: fetch, decode and execute 機器週期(Machine cycle) CPU使用機器週期來執行指令 一個簡單的機器週期由三個階段所構成: fetch, decode and execute Figure 5.19 The steps of a cycle

Input/output operation輸入/輸出的運作 電腦需要執行指令以將資料從I/O裝置移轉到CPU以及 and記憶體。 由於I/O裝置的速率遠低於CPU以及記憶體,CPU 的運作必須以某種方法與輸入∕輸出設備達到同步。 有三種方法被設計來達成同步:程式化 I/O、中斷驅動 I/O 及直接記憶存取(DMA)。 Programmed I/O(程式化 I/O) Interrupt driven I/O(中斷驅動 I/O) Direct memory access (DMA)(直接記憶體存取)

Programmed I/O(程式化 I/O) Figure 5.20 Programmed I/O

Interrupt driven I/O(中斷驅動 I/O) Figure 5.21 Interrupt-driven I/O

Direct memory access (DMA) (直接記憶體存取) Figure 5.22 DMA connection to the general bus

Direct memory access (DMA) (直接記憶體存取) Figure 5.23 DMA input/output

5-6 DIFFERENT ARCHITECTURES (不同的運算架構) 電腦歷經數十年的演進,發展出不同的運算架構

CISC 複雜指令集(CISC,Complex Instruction Set Computer)是一種微處理器指令集架構,每個指令可執行若干低階操作,諸如從記憶體讀取、儲存、和計算操作,全部集於單一指令之中。與之相對的是精簡指令集(RISC,Reduced Instruction Set Computer)。 CISC的特點是指令數目多而複雜,每條指令字長並不相等。

RISC 精簡指令集,是電腦中央處理器的一種設計模式,也被稱為RISC(Reduced Instruction Set Computing 的縮寫)。這種設計思路對指令數目和定址方式都做了精簡,使其實作更容易,指令並列執行程度更好,編譯器的效率更高。早期,這種指令集的特點是指令數目少,每條指令都採用標準字長、執行時間短。 RISC 背後的策略是要具有一個小的指令集以便執行最少數目的簡單運算,而複雜指令是用簡單指令的子集合加以模擬。 在 RISC 電腦上撰寫程式比在另一種設計的電腦要更加困難以及更加耗時,因為大部分的複雜指令是用簡單指令模擬得到的。 目前常見的精簡指令集微處理器包括DEC Alpha、ARC、ARM、AVR、MIPS、PA-RISC、Power Architecture(包括PowerPC、PowerXCell)和SPARC等。

Pipelining(管線) 管線,是現代計算機處理器中必不可少的部分,是指將計算機指令處理過程拆分為多個步驟,並通過多個硬體處理單元並行執行來加快指令執行速度。其具體執行過程類似工廠中的流水線,並因此得名。 如果作出類比,則計算機指令就是流水線傳送帶上的產品,各個硬體處理單元就是流水線旁的工人。 在使用流水線的處理器中一個指令不是在處理器的一個定時器訊號中完成的,而是被分到多個訊號中去完成,但是與此同時多個指令的分任務被同時處理。由於這些分任務比整個指令要簡單,因此可以通過使用流水線提高定時器頻率。雖然每個指令需要多個訊號後才能完成,但是通過多個指令的並行運算每個訊號內一個指令可以完成,因此通過這個方法整個速度可以提高。

Pipelining(管線) Figure 5.24 Pipelining

Parallel processing(平行處理) 一部計算機具有多重控制單元、多重算術邏輯單元和多重記憶體單元,此種運算架構稱為平行處理。 Figure 5.24 A taxonomy of computer organization

SISD 單一指令流,單一資料流(single instruction-stream, single data-stream;SISD) 指令依序地執行而且每個指令可以存取資料流中一個或多個資料項。 Figure 5.26 SISD organization

SIMD 單一指令流,多重資料流(single instruction-stream, multiple data-stream;SIMD) 所有的處理單元接受來自控制單元的相同指令,但是對不同的資料項做運算,同時對一個陣列的資料做運算之陣列處理器就是屬於此類。 Figure 5.27 SIMD organization

MISD 多重指令流,單一資料流(multiple instruction-stream, single data-stream;MISD)組織是有多個指令分別屬於多個不同的指令流,同時對同一個資料流做運算。MISD 的概念從未曾被實作過。 Figure 5.28 MISD organization

MIMD 多重指令流, 多重資料流(multiple instruction-stream, multiple data-stream;MIMD)組織表示有多個指令分別屬於不同的多個指令流,同時對多個資料流做運算(一個指令對一個資料流)。在此結構中數項工作可同時被執行,此結構可使用單一共享記憶體或是多重記憶體區。 Figure 5.29 MIMD organization

5-7 A SIMPLE COMPUTER (一部簡單電腦的運作) 一部簡單的電腦有三個組成元件: CPU、記憶體和輸入∕輸出子系統。 Figure 5.30 The components of a simple computer

Instruction set(指令集) 每個計算機指令由兩個部分組成: 運算碼(opcode)與運算元(operand)。 運算碼描述所要進行的運算型態 運算元指定運算的對象

指令的格式 Figure 5.31 Format and different instruction types

Processing the instructions(執行指令) CPU使用機器週期來執行指令 一個簡單的機器週期由三個階段所構成: fetch(擷取), decode (解碼)and execute(執行) (1)擷取階段:由 PC 決定位址的指令從記憶體中取得並且載入到 IR 中,接著 PC 遞增以指到下一個指令。 (2)解碼階段:IR 中的指令被解碼並且從暫存器或記憶體中擷取所需要的運算元。 (3)執行階段:指令被執行並且結果被放到適當的記憶體位置或暫存器中。 三個階段完成後,控制單元再度開始另外一個指令的機器週期,此時 PC 指在下一個指令。此一過程會持續直到 CPU 遇到 HALT 指令為止。

簡單的指令集

範例一(加法運算) 將兩個整數 A 和 B 相加並且產生結果 C。 假設整數為 2 的補數格式

範例一(加法運算程式) 假設A和 B儲存在記憶體位址 (40)16以及(41)16 運算結果C儲存在記憶體位址 (42)16

程式與資料如何儲存在記憶體中 將程式儲存在記憶體位址(00)16到位址(04)16中 將資料儲存在記憶體位址 (40)16以及(41)16 將運算結果儲存在記憶體位址 (42)16 假設我們所要執行加法運算的兩個數字為161=(00A1)16以及254=(00FE)16 則運算結果為415=(019F)16 此加法運算程式有關5個指令,因此此加法運算程式會經歷5個機器週期才執行完畢。 Cycles

機器週期1 Figure 5.32 Status of cycle 1

機器週期2 Figure 5.33 Status of cycle 2

機器週期3 Figure 5.34 Status of cycle 3

機器週期4 Figure 5.35 Status of cycle 4

機器週期5 Figure 5.36 Status of cycle 5

範例二(包含輸入與輸出的加法運算) 範例一假設所要進行加法運算的資料均已經儲存在記憶體中。 本範例二則假設要進行加法運算的資料必須從輸入裝置讀取(READ),而運算結果必須透過輸出裝置輸出(WRITE) 。

範例二(包含輸入與輸出的加法運算) 使用LOAD指令來讀取輸入資料 使用STORE指令來輸出資料

範例二(包含輸入與輸出的加法運算)的程式 運算指令1至4從輸入裝置讀取資料 運算指令9至10將運算結果透過輸出裝置輸出.