36
1背景 簡介系統軟體和整體架構 系統軟體和機器架構之關係 簡化指令電腦(SIC 電腦架構範例

簡介系統軟體和整體架構 - eportfolio.lib.ksu.edu.tweportfolio.lib.ksu.edu.tw/~4970E017/repository/fetch/Ch1.pdf · 第1章 背景 簡介系統軟體和整體架構 ... 巨集處理器

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

  • 第1章 背景

    簡介系統軟體和整體架構

    系統軟體和機器架構之關係

    簡化指令電腦(SIC)電腦架構範例

  • 系統軟體是由許多支援電腦運作的程式所組成的。

    使用者只需關注應用程式或問題的解決方案,不必知道電腦內部的運作細節。

    組合語言(assembler language)撰寫程式,並且使用巨集指令(macro instructions)來讀取或寫入資料,或是執行其他的高階功能。

    使用具備巨集處理器(macro processor)的組譯器(assembler),將這些程式轉換成機器語言。轉換後的機器碼,可藉由載入器或連結器以置入系統中準備執行。

    使用除錯器來偵測程式的錯誤。

    簡介

  • 組譯器

    載入器

    連結器

    巨集處理器

    編譯器

    作業系統

    資料庫管理系統

    文字編輯器以及互動式除錯系統

  • 系統軟體和應用軟體最大的不同,就是與機器的相關

    系統程式是為了要支援電腦的運作並且供電腦本身的

    使用,而不是支援特定的應用

    系統程式通常與其執行機器的架構是有密切的關係: 組譯器, 編譯器,作業系統

    有許多的系統軟體並不是與其所支援電腦系統的類型

    有直接的關係。例如,組譯器的一般設計和邏輯

    1.2 系統軟體和機器架構

  • 為了方便說明系統程式基本功能及避開真實機器的特

    殊設計,透過簡化的指令計算機(SIC)討論。

    SIC 是一種假想的電腦,其設計包括了大部分真實機器中常見的特性,而避免掉一些不適當的獨特性質。

  • 1. 在任何此類軟體的範例中,都能找到的基本功能。

    2. 與機器架構有緊密關係的特性。

    3. 在實作這種類型軟體時,其他與機器無關的共通特性。

    4. 建構特殊軟體的主要設計考量。例如,單階段或是多階段處理。

    5. 真實機器上的實作範例,著重不常使用的軟體特性,以及與機器 相關的特性。

    本課程介紹各式系統軟體方式如下:

  • 簡化指令電腦(SIC-simplified instruction computer):用來說明硬體所具備的特性和概念,並可以避免真實機器上大部份的特殊性質。

    記憶體、暫存器、資料格式、指令格式、定址模式、指令集、輸出與輸入。

    SIC的版本:標準版本

    XE 版本(extra equipment or extra expensive)

    1.3 簡化指令電腦(SIC)

  • 記憶體

    記憶體是由長度為八個位元的位元組(bytes)所組成;連續三個位元組形成一個字組(word,24 個位元)

    所有的位址都是位元組位址(byte address);字組的位址是以最低位之位元組的位址來表示

    電腦記的憶體共有32,768(215)個位元組。

    1.3.1 SIC機器架構

    1.3 簡化指令電腦(SIC)

  • 暫存器

    5 Registers (24 bits)

    Mnemonic(助記憶符號)

    Number(編號)

    Special use(用途)

    A 0 累加暫存器:供算術運算

    X 1 索引暫存器:用來定址

    L 2 連結暫存器:跳到副程式指令(jsub)

    PC 8 程式計數:儲存下一個即將存取的指令位址

    SW 9 狀態字組:包含各種資訊和條件碼(CC)

    1.3.1 SIC機器架構

    1.3 簡化指令電腦(SIC)

  • 資料格式

    整數是以24 位元的二進制值來表示;並以二的補數來表示其負數。(integer size)

    +3=00000011, -3 =11111100+1=11111101

    字元是以8 位元的ASCII 碼來表示(附錄B)。

    在標準版的SIC 中,沒有硬體的浮點運算器。

    1.3.1 SIC機器架構

    1.3 簡化指令電腦(SIC)

    指令格式8 1 15

    Opcode (運算碼) x Address (位址)

    表示索引定址模式

  • 定址模式

    兩種定址模式

    模式 指示 Target address (TA)計算

    Direct(直接定址) x=0 TA=address

    Indexed(索引定址) x=1 TA=address+(X)

    索引暫存器的內容

    TA: Target Address (目標位址)

    1.3.1 SIC機器架構

    1.3 簡化指令電腦(SIC)

  • 指令集載入和儲存暫存器:LDA、LDX、STA、STX整數算數運算指令:ADD、SUB、MUL、DIV

    所有算術運算都是針對暫存器A與記憶體內容做運算。運算結果存於暫存器A中。

    比較:COMP將暫存器A 中的值與記憶體中的一個字組比較,將結果設定在一個條件碼(CC)中()。

    條件跳躍指令:JLT()測試條件碼(CC)的值,根據其結果跳躍。

    副程式連結: JSUB、 RSUBJSUB 跳躍到副程式中,將返回位址放到暫存器L 中。RSUB 跳到暫存器L中所儲存的位址(由副程式回返)。

    1.3.1 SIC機器架構

    1.3 簡化指令電腦(SIC)

  • 輸入和輸出

    在標準SIC版本中,輸入和輸出的運作是從暫存器A最右邊的八個位元開始

    每個裝置都具有一組八位元的裝置碼

    SIC系統共有三個I/O指令裝置測試(Test Device, TD)

    讀取資料(Read Data, RD)

    寫入資料(Write Data, WD)

    1.3.1 SIC機器架構

    1.3 簡化指令電腦(SIC)

  • 記憶體

    最大可用記憶體為1 M位元組(220位元組)。

    額外暫存器(除A,X,L,PC,SW暫存器外)

    助記符號 編號 特定用途

    B 3 基底暫存器:用於定址

    S 4 一般工作暫存器

    T 5 一般工作暫存器

    F 6 浮點累加器(48個位元)

    1.3.2 SIC/XE機器架構

    1.3 簡化指令電腦(SIC)

  • 資料格式(XE)

    整數與文字同SIC

    另外提供48bits浮點資料型式

    1.3.2 SIC/XE機器架構

    1.3 簡化指令電腦(SIC)

    • 分數值必須介於0~1之間• 分數值第一個值必須為1• 指數的值介於0~2047之間

    分數 (f)(e)

  • 指令格式

    記憶體擴大

    1.3.2 SIC/XE機器架構

    1.3 簡化指令電腦(SIC)

    e=0

    e=1

  • 定址模式

    計算目標位址TA

    TA使用方式

    1.3.2 SIC/XE機器架構

    1.3 簡化指令電腦(SIC)

  • 範例: (附錄A)1.3.2 SIC/XE機器架構

    1.3 簡化指令電腦(SIC)

    00 is the op code of LDA

  • opcode n i x b p e disp TA (A)000000 1 1 0 0 1 0 0110 0000 0000

    6 0 0

    格式三

    相對程式計數器

    SIC/XE

    TA=(PC)+disp= 3000+600=3600

    000000 1 1 0 0 1 0 0110 0000 00000 3 2 6 0 0

  • opcode n i x b p e disp TA (A)000000 1 1 1 1 0 0 0011 0000 0000

    3 0 0

    格式三

    相對基底

    SIC/XE

    TA=(B)+disp+(X)= 6000+300+90=6390

    x=1, 則計算TA時加上

    000000 1 1 1 1 0 0 0011 0000 00000 3 C 3 0 0

    A=10

    B=11

    C=12

  • Addressing Mode (XE)

  • Addressing Mode (XE)

    Addressing mode

    Direct b=0, p=0 TA=disp

    Index x=1 TAnew=TAold+(X)

    Index+Base relative x=1, b=1, p=0 TA=(B)+disp+(X)

    Index+PC relative x=1, b=0, p=1 TA=(PC)+disp+(X)

    Index+Direct x=1, b=0, p=0 TA=disp+(X)

    Format 4 e=1

  • Summary of addressing modes

    n i x b p e01

    Format 3Format 4

    0 Format 3, base relative1 00 Format 3, pc relative0 1

    0/1 Format 3/4, disp is TA, direct0 010 immediate (TA: operand)01 indirect (TA: address of address)

    simple (TA: address of operand)1 index

    11

  • 指令集

    新的暫存器:LDB、STB

    浮點算數運算:ADDF、SUBF、MULF、DIVF

    暫存器移動:RMD

    暫存器的算數運算:ADDR、SUBR、MULR、D1VR

    監督呼叫指令: SVC

    執行中斷工作,以便和作業系統溝通(第六章)

    1.3.2 SIC/XE機器架構

    1.3 簡化指令電腦(SIC)

    輸出和輸入

    SIO、TIO和HIO指令可以用來啟始、測試和暫停I/O通道的運作(第六章)。

  • 1.3.3 SIC程式設計範例資料搬移運算程式

    SIC

    SIC/XE

  • 1.3.3 SIC程式設計範例算術運算程式

    SIC

  • 算術運算程式

    SIC/XE

    1.3.3 SIC程式設計範例

  • 迴圈和索引運算程式 1SIC (string copy)

    1.3.3 SIC程式設計範例

    X denotes the index of the string array

  • 迴圈和索引運算程式 1SIC/XE

    1.3.3 SIC程式設計範例

  • 迴圈和索引運算程式 2SIC (GAMA=ALPHA+BETA)

    1.3.3 SIC程式設計範例

    Array with 100 elements

  • 1.3.3 SIC程式設計範例

    迴圈和索引運算程式 2SIC/XE

  • 1.3.3 SIC程式設計範例

    輸入及輸出運算SIC

  • 1.3.3 SIC程式設計範例

    副程式呼叫及讀取輸入資料SIC

  • 1.3.3 SIC程式設計範例

    副程式呼叫及讀取輸入資料SIC/XE

  • Traditional (CISC) Machines

    Complex Instruction Set Computers (CISC)

    complicated instruction set

    different instruction formats and lengths

    many different addressing modes

    e.g. VAX or PDP-11 from DEC

    e.g. Intel x86 family

    Reduced Instruction Set Computer (RISC)

  • RISC Machines

    RISC systemInstruction

    standard, fixed instruction formatsingle-cycle execution of most instructionsmemory access is available only for load and store instructionother instructions are register-to-register operationsa small number of machine instructions, and instruction formatInstructional-level parallelism

    A large number of general-purpose registersA small number of addressing modesThree RISC machines

    SPARC familyPowerPC familyCray T3E

    第1章 背景投影片編號 2投影片編號 3投影片編號 4投影片編號 5投影片編號 6投影片編號 7投影片編號 8投影片編號 9投影片編號 10投影片編號 11投影片編號 12投影片編號 13投影片編號 14投影片編號 15投影片編號 16投影片編號 17投影片編號 18投影片編號 19投影片編號 20Addressing Mode (XE)Addressing Mode (XE)Summary of addressing modes投影片編號 24投影片編號 25投影片編號 26投影片編號 27投影片編號 28投影片編號 29投影片編號 30投影片編號 31投影片編號 32投影片編號 33投影片編號 34Traditional (CISC) MachinesRISC Machines