计算机组成原理——机器字长、指令字长、存储字长
計算機組成原理——機器字長、指令字長、存儲字長
字長:
字長:
一個字中的二進制位的位數,是計算機系統結構中的一個重要特性。字長在計算機結構和操作的多個方面均有體現。計算機中大多數寄存器的大小是一個字長。計算機處理的典型數值也可能是以字長為單位。CPU和內存之間的數據傳送單位也通常是一個字長。還有內存中用于指明一個存儲位置的地址也經常是以字長為單位的。現代計算機的字長通常為16、32、64位。
通常稱處理字長為8位數據的CPU叫8位CPU,32位CPU就是在同一時間內處理字長為32位的二進制數據。二進制的每一個0或1是組成二進制的最小單位,稱為位(bit)。常用的字長為8位、16位、32位和64位。字長為8位的編碼稱為字節,是計算機中的基本編碼單位。
字長與計算機的功能和用途有很大的關系,是計算機的一個重要技術指標。字長直接反映了一臺計算機的計算精度,為適應不同的要求及協調運算精度和硬件造價間的關系,大多數計算機均支持變字長運算,即機內可實現半字長、全字長(或單字長)和雙倍字長運算。在其他指標相同時,字長越大計算機的處理數據的速度就越快。早期的微機字長一般是8位和16位,386以及更高的處理器大多是32位。市面上的計算機的處理器大部分已達到64位。字長由微處理器對外數據通路的數據總線條數決定。
機器字長
機器字長:
計算機能直接處理的二進制數據的位數。機器字長通常與主存單元的位數一致。計算機中運算器進行算術運算和邏輯運算。機器字長也就是運算器進行定點數運算的字長,通常也是CPU內部數據通路的寬度。
機器字長反映了計算機的運算精度,即字長越長,數的表示范圍也越大,精度也越高。機器的字長也會影響機器的運算速度。倘若CPU字長較短,又要運算位數較多的數據,那么需要經過兩次或多次的運算才能完成,這樣勢必影響整機的運行速度。
機器字長與主存儲器字長通常是相同的,但也可以不同。不同的情況下,一般是主存儲器字長小于機器字長,例如機器字長是32位,主存儲器字長可以是32位,也可以是16位,當然,兩者都會影響CPU的工作效率。
指令字長
指令字長:
一個指令字中包含二進制代碼的總位數。指令字長取決于從操作碼的長度、操作碼地址的長度和操作碼地址的個數。不同的指令的字長是不同的。早期計算機的存儲字長一般和機器的指令字長與數據字長相等,故訪問一次主存便可取一條指令或一個數據。隨著計算機的應用范圍的不斷擴大,解題精度的不斷提高,往往要求指令字長是可變的,數據字長也要求可變。為了適應指令和數據字長的可變性,其長度不由存儲字長來確定,而用字節的個數來表示。1個字節(Byte)被定義為由8位(Bit)二進制代碼組成。當然,此時存儲字長、指令字長、數據字長三者可各不相同,但它們必須是字節的整數倍。
指令字長等于機器字長的指令,稱為單字長指令;
指令字長等于半個機器字長的指令,稱為半字長指令;
指令字長等于兩個機器字長的指令,稱為雙字長指令。
例如,IBM370系列,它的指令格式有16位(半字)的,有32位(單字)的,還有48位(一個半字)的。
早期計算機使用多字長指令的目的,在于提供足夠的地址來解決訪問內存任何單元的尋址問題。但是使用多字長指令的缺點是必須兩次或三次訪問內存以取出一整條指令,這就降低了CPU的運算速度,同時又占用了更多的存儲空間。
在一個指令系統中,如果各種指令字長是相等的,稱為等長指令字結構,它們可以都是單字長指令或半字長指令。這種指令字結構簡單,且指令字長度是不變的。如果各種指令字長度隨指令功能而異,就稱為變長指令字結構。這種指令字結構靈活,能充分利用指令長度,但指令的控制較復雜。隨著技術的發展,指令字長度逐漸變成多于32位的固定長度。
指令字長固定:指令字長小于等于存儲字長
指令字長可變:按字節的倍數變化
存儲字長
存儲字長:
一個存儲單元存儲二進制代碼的位數。存儲字長可以是8位、16位、32位等。早期計算機的存儲字長一般和機器的指令字長與數據字長相等,故訪問一次主存便可取一條指令或一個數據。隨著計算機的應用范圍的不斷擴大,解題精度的不斷提高,往往要求指令字長是可變的,數據字長也要求可變。為了適應指令和數據字長的可變性,其長度不由存儲字長來確定,而由字節的個數來表示。
總結
以上是生活随笔為你收集整理的计算机组成原理——机器字长、指令字长、存储字长的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: typora-setup-x64.exe
- 下一篇: 计算机操作系统——处理机调度算法