• 沒有找到結果。

1.2 系統軟體和機器架構

N/A
N/A
Protected

Academic year: 2022

Share "1.2 系統軟體和機器架構"

Copied!
36
0
0

加載中.... (立即查看全文)

全文

(1)

第1章 背景

„ 簡介系統軟體和整體架構

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

„ 簡化指令電腦(SIC)

„ 電腦架構範例

(2)

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

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

„ 組合語言(assembler language)撰寫程式,並且使用 巨集指令(macro instructions)來讀取或寫入資料,

或是執行其他的高階功能。

„ 使用具備巨集處理器(macro processor)的組譯器

(assembler),將這些程式轉換成機器語言。

„ 轉換後的機器碼,可藉由載入器或連結器以置入系統 中準備執行。

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

簡介

(3)

„ 組譯器

„ 載入器

„ 連結器

„ 巨集處理器

„ 編譯器

„ 作業系統

„ 資料庫管理系統

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

(4)

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

„ 系統程式是為了要支援電腦的運作並且供電腦本身的 使用,而不是支援特定的應用

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

„ 有許多的系統軟體並不是與其所支援電腦系統的類型 有直接的關係。例如,組譯器的一般設計和邏輯

1.2 系統軟體和機器架構

(5)

„ 為了方便說明系統程式基本功能及避開真實機器的特 殊設計,透過簡化的指令計算機(SIC)討論。

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

(6)

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

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

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

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

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

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

(7)

„ 簡化指令電腦(SIC-simplified instruction computer):

„ 用來說明硬體所具備的特性和概念,並可以避免真 實機器上大部份的特殊性質。

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

„ SIC的版本:

„ 標準版本

„ XE 版本(extra equipment or extra expensive)

1.3 簡化指令電腦(SIC)

(8)

„ 記憶體

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

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

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

1.3.1 SIC機器架構

1.3 簡化指令電腦(SIC)

(9)

„ 暫存器

„ 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)

(10)

„ 資料格式

„ 整數是以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 (位址)

表示索引定址模式

(11)

„ 定址模式

„ 兩種定址模式

模式 指示 Target address (TA)計算

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

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

索引暫存器的內容 TA: Target Address (目標位址)

1.3.1 SIC機器架構

1.3 簡化指令電腦(SIC)

(12)

„ 指令集

„

載入和儲存暫存器:

LDA、LDX、STA、STX

„

整數算數運算指令:

ADD、SUB、MUL、DIV

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

9 運算結果存於暫存器A中。

„

比較:COMP

9 將暫存器A 中的值與記憶體中的一個字組比較,將結果設定在一

個條件碼(CC)中(<, =, >)。

„

條件跳躍指令:

JLT(<)、JEQ(=)、JGT(>) 9 測試條件碼(CC)的值,根據其結果跳躍。

„

副程式連結:

JSUB、 RSUB

9 JSUB 跳躍到副程式中,將返回位址放到暫存器L 中。

9 RSUB 跳到暫存器L中所儲存的位址(由副程式回返) 。

1.3.1 SIC機器架構

1.3 簡化指令電腦(SIC)

(13)

„ 輸入和輸出

„

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

八個位元開始

„

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

„

SIC系統共有三個I/O指令

9 裝置測試(Test Device, TD)

9 讀取資料(Read Data, RD)

9 寫入資料(Write Data, WD)

1.3.1 SIC機器架構

1.3 簡化指令電腦(SIC)

(14)

„ 記憶體

„ 最大可用記憶體為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)

(15)

„ 資料格式(XE)

„ 整數與文字同SIC

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

1.3.2 SIC/XE機器架構

1.3 簡化指令電腦(SIC)

分數值必須介於0~1之間

分數值第一個值必須為1

指數的值介於0~2047之間

分數 (f) (e)

(16)

„ 指令格式

„ 記憶體擴大

1.3.2 SIC/XE機器架構

1.3 簡化指令電腦(SIC)

e=0

e=1

(17)

„ 定址模式

„ 計算目標位址TA

„ TA使用方式

1.3.2 SIC/XE機器架構

1.3 簡化指令電腦(SIC)

(18)

範例: (附錄A)

1.3.2 SIC/XE機器架構

1.3 簡化指令電腦(SIC)

00 is the op code of LDA

(19)

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 0000 0 3 2 6 0 0

(20)

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 0000 0 3 C 3 0 0

A=10 B=11 C=12

(21)

Addressing Mode (XE)

(22)

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

(23)

Summary of addressing modes

n i x b p e 0 1

Format 3 Format 4

0 Format 3, base relative 1 0

0 Format 3, pc relative 0 1

0/1 Format 3/4, disp is TA, direct 0 0

1

0 immediate (TA: operand) 0

1 indirect (TA: address of address) simple (TA: address of operand) 1 index

1 1

(24)

„ 指令集

„ 新的暫存器:LDB、STB

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

„ 暫存器移動:RMD

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

„ 監督呼叫指令: SVC

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

1.3.2 SIC/XE機器架構

1.3 簡化指令電腦(SIC)

„ 輸出和輸入

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

(25)

1.3.3 SIC程式設計範例

„資料搬移運算程式

„ SIC

„ SIC/XE

(26)

1.3.3 SIC程式設計範例

„ 算術運算程式

„ SIC

(27)

„算術運算程式

„ SIC/XE

1.3.3 SIC程式設計範例

(28)

„ 迴圈和索引運算程式 1

„ SIC (string copy)

1.3.3 SIC程式設計範例

X denotes the index of the string array

(29)

„ 迴圈和索引運算程式 1

„ SIC/XE

1.3.3 SIC程式設計範例

(30)

„ 迴圈和索引運算程式 2

„ SIC (GAMA=ALPHA+BETA)

1.3.3 SIC程式設計範例

Array with 100 elements

(31)

1.3.3 SIC程式設計範例

„ 迴圈和索引運算程式 2

„ SIC/XE

(32)

1.3.3 SIC程式設計範例

„ 輸入及輸出運算

„ SIC

(33)

1.3.3 SIC程式設計範例

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

„ SIC

(34)

1.3.3 SIC程式設計範例

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

„ SIC/XE

(35)

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)

(36)

RISC Machines

„ RISC system

„

Instruction

„ standard, fixed instruction format

„ single-cycle execution of most instructions

„ memory access is available only for load and store instruction

„ other instructions are register-to-register operations

„ a small number of machine instructions, and instruction format

„ Instructional-level parallelism

„

A large number of general-purpose registers

„

A small number of addressing modes

„

Three RISC machines

„ SPARC family

„ PowerPC family

„ Cray T3E

參考文獻

相關文件

bgez Branch on greater than or equal to zero bltzal Branch on less than zero and link. bgezal Branch on greter than or equal to zero

 Machine language ( = instruction set) can be viewed as a programmer- oriented abstraction of the hardware platform.  The hardware platform can be viewed as a physical means

 Machine language ( = instruction set) can be viewed as a programmer- oriented abstraction of the hardware platform.  The hardware platform can be viewed as a physical means

a single instruction.. Thus, the operand can be modified before it can be modified before it is used. Useful for fast multipliation and dealing p g with lists, table and other

HP(COMPAQ)伺服器為主,作業系統多為 Windows,僅有少數為 Linux,多 數主機均已置於 VMware 虛擬化平台上,應用軟體架構大部分為 Web-Base(網 路架構示意圖如

能熟悉電腦概念,包括作業 系統、應用軟體和檔案輸出 入硬體設備的安裝、操作和 維護。2.

Instruction Set ...1-2 Ladder Diagram Instructions...1-2 ST Statement Instructions ...1-2 Sequence Input Instructions ...1-2 Sequence Output Instructions ...1-3 Sequence

9 The pre-S1 HKAT is conducted in all secondary schools in July every year to assess the performance of students newly admitted to S1 in Chinese Language, English Language