邏輯右移
定義
邏輯右移SHR
SHR指令影響標誌位CF和OF。如果移位次數為1,且移位後符號位的值發生變化,則OF=1,否則OF=0.如果移位次數不為1,則OF不確定。
【格式】:SHR OPR.CNT。其中OPR用除立即數外的任何定址方式。移位次數由CNT決定,在8086中可以是1或CL,CNT為1時只移一位。
如:MOV AX,62H
SHR AX,1
當移位數大於1時,需要先將移位數放進CL中然後再進行移位操作。可以使用8位立即數指定範圍從1到31的移位次數。
如MOV AL,62H
MOV CL,4
SHR AL,CL
所執行簡易理解如下:
01100010B 因為是右移操作,也稱為右移補0操作,將二進制位逐次在右邊去掉一位然後在左邊添個0,移多少位重複上述操作多少次。4次移位後結果為00000110B,即06H.
【套用】 邏輯右移一位的操作,相當於將暫存器或存儲器的無符號數除以2,因此同樣可以用SHR指令完成除以某些常數的運算。而且移位指令通常比除法指令時運行速度要快得多。
擴展內容
除SHR外,移位指令還包括以下命令:
SHL(shift logical left) 邏輯左移
SAL(shift arithmetic left) 算術左移
SAR(shift arithmetic right) 算術右移
ROL(rotat left) 循環左移
ROR(rotat right) 循環右移
RCL(rotate left through carry) 帶進位循環左移
RCR(rotate right through carry) 帶進位循環右移
SHLD(shift left double) 雙精度左移
SHRD(shift right double) 雙精度右移
Synology Hybrid RAID
簡介
Synology Hybrid RAID(直譯:群暉混合磁碟陣列)是一種 自動磁碟陣列管理系統(Automated RAID Management system),設計初衷為簡化管理的同時增加磁碟空間利用率。SHR適合那種從不關心也不想關心NAS中支持哪種RAID模式的、不明白RAID細節的、而又想很方便的最大化利用空間的用戶。SHR最大支持單硬碟故障,當兩個或更多硬碟故障時將出現數據丟失,所以官方說法為“Note that a RAID volume (whether classic RAID or SHR) is nota backup system”,不適合作為備份用途。
SHR是很必要的么?
Synology並沒有非常推薦使用SHR,如果用戶比較熟悉RAID的種類與管理方法,完全可以使用傳統RAID,比如管理員與高級用戶。SynologyWiki中用以下語句描述SHR:“SHR基於一種Linux下的磁碟管理系統,而且完全是一種可選項。”(The SHR is based on a Linux RAID management system, and is completely optional to use.)
SHR的空間使用方式
如圖所示,系統中包含500GB、1TB、1.5TB、2TB、2TB一共5塊硬碟,圖中左邊為傳統的磁碟陣列模式,此時系統總可用空間只為2TB,因為每一塊磁碟可用空間以系統中容量最小的硬碟為基準,所以可用總量是500GBX4=2TB(其中一塊硬碟為冗餘用途),陣列總使用2.5TB, 剩餘的4.5TB無效。
圖中右方為使用SHR的情形,整個系統建立的4套獨立的陣列系統,每個系統中有500GB為冗餘空間,其餘為可用空間,所以除掉500X4=2TB的冗餘空間外,其他的5TB均為可用空間,所以SHR的空間利用率是很高的,整個空間沒有絲毫浪費。
但是需要注意的是,SHR的安全性並不高,比如最壞的情況,當圖中最右方的2TB硬碟出現故障時,所有獨立陣列都會收到牽連。
SHR的擴展
當替換磁碟擴展陣列容量時,傳統RAID與SHR的容量變化如圖所示,可以看到在替換完成之前,RAID的可用空間並不會隨著硬碟容量增大而增大;而SHR的容量是即時增加,這樣可以滿足在替換過程中對容量增加的需求的需求。
SHR的硬碟更換
1.SHR卷可以將硬碟替換成更高容量而不丟失數據。(比如將某塊硬碟從1TB更換為3TB,在群暉的NAS上。)
2.SHR卷可以增加硬碟。(比如從5個1TB硬碟增加至15個。)
3.現有硬碟不能更換為更小的硬碟,起碼要相等。