前往
大廳
主題

今日讀書紀錄

我不愛學習 | 2023-08-17 17:26:40 | 巴幣 2 | 人氣 109

今天在看計概

專注度還沒起來,目前還脫離不了搭配Frost鎖住手機各種社群軟體的搭配


今天從浮點數運算開始看轉換方式分成傳統和IEEE754

大略是SCM S填入正負(1/0) C是正規化後的指數次方(x) 正規化分成兩種 直接去2的補數和超碼,超幾碼通常是看C多少bits,Nbits的話就是超2的N-1次方碼(α),5bits就是超16碼,M的話是正規化後小數點後的部分,不足就要向後補0 x+α=C

IEEE754大致上同上但是SCM(SEF)有固定大小
單精度是 1 8 23bits 超127
雙精度是1 11 52bits 超1023

然後C的部分11111111跟00000000有特別用途要保留所以最大最小表示範圍是00000001~11111110

然後是數碼 檢查碼 文字碼和Gray code

數碼分成BCD 84-2-1 超3碼 然後有六種組合不用 因為數碼是0-9 實際上這三種的組合可以表達到16組合表達數碼就是0-9

然後8421跟超3碼可以自我補數,意思是我不用轉回二進制補數在轉8421或超碼,直接對8421和超碼做補數會等於原本的值補數
6轉成超3碼1001 自我補數的話會先轉回6然後做N-1 9's補數變成3 轉成0011,但是如果直接對1001做2's也可以直接轉成1001省去了原本流程的效能 稱作自我補數(不用轉回去)

48bits可以表達2的48次方種組合
48bits採BCD表示可以表達10的12次方種組合
差別在於BCD是數碼每一個位數(4bits)都是0-9共10個組合 記住有6種組合不用 48bits就是4*12bits 有12組0~9 就是10的12次方

再來是格雷碼的部分 適用於資料傳輸上因為相鄰的2個資料只差1個bit,格雷碼不唯一,只要相鄰只差1都是格雷碼,10進制跟G.C轉換就是先轉二進制(X1 X2...Xn)然後再X1之前補0 然後0⊕X1 X1⊕X2 X2⊕X3依此類推就是格雷碼(G1 G2....Gn)

※⊕XOR:相同為0(1 1/0 0) 相異為1(1 0)


轉回去的話G1保留變成X1然後用G2反推回來X1(G1)⊕X2=G2 依此類推

再來是文字碼

1.ASCII code 8bits表示1位元 實務上是7bits 第8bit用來檢查同位元

常用的ASCII "ψ"=48(10進制)
                      "A"=67
                      "a"=97
數字大小:數字<大寫<小寫
2.EBCDIC
IBM推出的一樣是8bits區別是
數字大小:小寫<大寫<數字
多出現於中大型主機(IBM的主要市場)

3.unicode 萬用碼 統一碼

16bits表示一字元
目的是整合跨國語系
前8bits跟ASCII一樣

目前網頁多採用UTF-8,中日韓文用24bits表示一字元"你好阿"就是3*24=72bits=9bytes

檢查碼

1.奇偶同位
Nbits+parity bit 011011(parity bit)採用奇同位 011011(1) 補1因為要讓1的數量是奇數 偶同位同理
若有偶數個或奇數個錯誤會偵測不出來 偶同位只能偵測奇數個錯誤反之亦然

2CRC(循環冗餘檢查碼)很難用文字記錄只好用拍的

除法的部分不是用減法是用⊕XOR來做 要記得G(x)代表的就是X的幾次方110001=x^5+x^4+x^0 最高次r=4,r用意是有幾個0補在M(x)後面

除法除完就是T(x)也就是接收端會收到的東西
T(x)=M(x)原來的訊息後面接上剛剛的餘數 剛剛餘數是1110 M(x)=1101011011
T(x)=11010110111110
T(x)/G(x)餘數要為0用來檢查有沒有error

Hammimg code
同時具備偵測和更正error

加入漢明碼的方式

第一個步驟為先找出要用幾個漢明碼

公式2^k≧n+k+1 n是M(x)的bits數量 k是幾個漢明碼

第二步也直接拍照



做完偶同位的結果0010代表的是第8 4 2 1bits

所以第2是填1 前天抄筆記抄錯

整個合起來就是T(x) 接收端一樣先找為1的bits 拉出來以8421表達和做偶同位,如果結果不是0000表示有錯 假設第11有錯變成1011的話1011剛好也表達第11有錯就會自己更正,可是如果有超過1個錯誤就會失效

如果要偵測多個錯誤要加入漢明距(H.D)

H.D=兩組數碼bit不同的個數:
010101
111000 有4個不同就要加入4bits的漢明距

如果有三組就交叉比對取最小
A.010101
B.111000
C.000111
AB=4 AC=2 AB=6
取2bits

要偵測n個error則H.D≧n+1
要更正n個error則H.D≧2n+1
假設H.D=5 可以偵測4個錯誤 更正2個錯誤

FLYNNE電腦分類

SISD
Single instruction Single Datastream
一個cpu同時處理一個指令
ex:范紐曼
SIMD
M=muti
多個cpu同時處理一個指令
ex:Vector processor向量處理器
MISD
一個cpu同時處理多個指令 少見難製作

MIMD
多個cpu處理多個指令
ex mutiple processor

OS的目的

使用者觀點
作為使用者跟硬體的溝通橋樑
提供易於執行的環境

Program觀點
對資源(硬體)做管理分配
避免緊急危害確保正常運作

發展早期由使用者直接面對硬體,消耗很多時間,後來透過讀卡機和Os操作硬體,但發現讀卡機速度太慢延伸出下面的方法大致上都是避免cpu直接接觸慢速硬體和

離線作業

利用系統的離峰時間將資料由慢速的硬體(讀卡機)丟到快速的硬體(Tape)再丟到CPU避免cpu直接面對慢速的硬體和讓CPU不要停下來


第二個spooling 電腦週邊連線(共享硬體)
簡單來說就是比上一個還多一個層級disk

Buffering

再從disk多一個更快的Memory來存取資料

沒了

送禮物贊助創作者 !
0
留言

創作回應

更多創作