2024-03-11|閱讀時間 ‧ 約 25 分鐘

考研之路(2024.3.9計組第一堂)

計算機組織不難,但東西很多

這個科目也是我比較不熟悉的,在此之前都是自學,所以會寫的更詳細一點

1.計算機組織在學什麼?

想像計算機的架構就像一個蛋糕有好多層,上半是軟體下半則是硬體,對我來說,軟硬體的兩端是電腦的核心(應用程式&半導體),而中間的每一層都是串接兩端的橋樑;那計算機組織就是要探討軟體與硬體交界處的那兩層,分別是(1)ISA(軟體最硬)和(2)Processor、Memory、Controller、Input/Output(硬體最軟)。

2.現今大多數的電腦建立在這個原則上:stored-program conception=Von Neuman architecture=內儲程式概念

(1)Instructions are represented as numbers 指令都用數字表示

(2)The program to be executed must first be placed in the memory. (just like numbers)指令執行前一定要先被放進記憶體

3.電腦的五個經典元件

(1)Control unit (2)Data path(做+-×÷的元件)(3)Memory(4)Input device(5)Output device,(1)(2)合起來就是CPU(Central component unit)

4.CISC&RISC(complex/reduced instruction set architecture)

早期的電腦都是CISC因為記憶體空間有限→沒辦法儲存過長的程式碼→所以指令要夠強夠多;然而如今都是RISC了,因為比較快

5.MIPS R2000(Micro processor without Interlocked Pipe Stages)

MIPS是一種指令集(Instruction set),指令集是一部電腦所擁有的指令集合

考試70%考MIPS 30%考RISC-V,聽說跟MIPS很像但還是要看

MIPS是RISC,它的CPU大小是32 bits(不同指令集的CPU大小可能不同)(32bits=4bytes,1byte一定=8bits)也就是說一個word大小是32 bits,而word是電腦一次可處理的資料量

6.ISA(Instruction set architecture)指令集架構

ISA是硬體與low level軟體間的橋樑,所以位置在中間。ISA就是包含硬體的指令集的架構,這之中又包含了(1)記憶體(2)暫存器(3)指令格式(4)定址模式

6-1.記憶體

(1)把記憶體想像成一個大櫃子,且每個抽屜都有編號,如果抽屜號碼有4個bits,如_ _ _ _,則總共最多可以有2^4=16個抽屜,而1個抽屜的大小為8bits=1bites,所以我們說這個記憶體的大小是64bites。

(2)一個word的大小是4bytes,所以word address為0,4,8….

(3)alignment(對齊)

所有word都要從4的倍數位址放起

(4)big/little endian

資料從最左(權重最大)/最右(權重最小)開始放

6-2.Register(暫存器)

(1)SPR/GPR(special/general purpose register)

SPR:Hi(餘數)、Lo(商數)、PC(程式計數器)

GPR:

Procedure call:$vo-$v1(return的值)、$a0-$a3(argument(引數)的值)、$ra(return address)

Variables:$s0-$s7(saved)、$t0-$t7 & $t8-$t9(temporary、$zero(0)

Memory management:$gp(global point)(指向靜態資料區域)、$sp(stack point)(指向stack的最新資料)、$fp(frame point)(指向procedure frame(也叫activation record)的第一個word),$fp是多餘的設計

(2)procedure call related registers

Add(1,10)//caller,1跟10是argument(引數)

x//return address會回到這行

x

Add(M,N)//callee

int M,N,Sum;//M跟N是Parameter(參數)

For(i=M to N)

x

x

Return(Sum)//Sum是return value

結論:畢竟是六小時的課,整理起來也特別費工,但整理完後有搞清楚很多之前似懂非懂的東西,蠻值得的,不過,不清楚地以及沒寫到的部分還有很多,像是memory management related registers,看看有沒有人可以補充或以後再說。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.