為了使用戶的計(jì)算平臺(tái)實(shí)現(xiàn)從32位到64位體系結(jié)構(gòu)的平滑過(guò)渡,AMD公司開發(fā)了獨(dú)特的X86-64結(jié)構(gòu)。與目前的一些64位平臺(tái)相比,基于X86結(jié)構(gòu)的處理器可以實(shí)現(xiàn)對(duì)現(xiàn)有32位程序的完全兼容,而且這種兼容運(yùn)行模式是完全基于硬件的,而不是通過(guò)低效率的模擬32位指令方式來(lái)實(shí)現(xiàn)。這樣我們可以在X86-64平臺(tái)上繼續(xù)使用現(xiàn)有的應(yīng)用程序,不必等待開發(fā)人員或軟件廠商對(duì)程序的源代碼進(jìn)行重新編譯,這將為用戶省去大量的購(gòu)買以及相關(guān)的培訓(xùn)費(fèi)用。 在某種程度上基于X86-64架構(gòu)的Opteron處理器平臺(tái)可以看作是以往X86-32的擴(kuò)展,如果不考慮對(duì)64位指令的支持,基于X86-64結(jié)構(gòu)的處理器在指令的執(zhí)行順序以及處理過(guò)程都是一樣的。AMD對(duì)Opteron處理器的寄存器作出了較大改進(jìn)。寄存器是處理器內(nèi)部在運(yùn)算過(guò)程中暫時(shí)存放數(shù)據(jù)的存儲(chǔ)單元,里面保存著那些正準(zhǔn)備要處理的數(shù)據(jù)或者是已經(jīng)處理過(guò)的數(shù)據(jù)。CPU的運(yùn)算單元訪問(wèn)寄存器所用時(shí)間要比訪問(wèn)處理器緩存以及內(nèi)存的時(shí)間都要短。 增加寄存器,可減少CPU 訪問(wèn)處理器L1、L2緩存以及內(nèi)存次數(shù),從而提高CPU的工作速度。 寄存器中的通用寄存器用途廣泛并可由軟件開發(fā)人員自行規(guī)定其用途。通用寄存器的數(shù)目因處理器結(jié)構(gòu)而異,X86-32位處理器具有EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP共8個(gè)32位通用寄存器等。與以往的32位X86結(jié)構(gòu)相比,AMD的64位處理器在原有的8個(gè)通用寄存器的基礎(chǔ)上又增添了8個(gè)寄存器。這8個(gè)寄存器是工作在64位下,經(jīng)過(guò)64位編碼的程序就可以使用到它們。AMD同時(shí)也將原有的EAX等寄存器擴(kuò)展至64位的RAX。從擴(kuò)充方式上看,EAX等寄存器可以看作是RAX的一個(gè)子集,系統(tǒng)仍舊可以完整地執(zhí)行以往的32位編碼程序。通用寄存器除了可高效的存儲(chǔ)數(shù)據(jù)外,還可作為尋址時(shí)的地址指針,從而縮短指令長(zhǎng)度和指令執(zhí)行時(shí)間,加快CPU的運(yùn)算處理速度,同時(shí)也給編程帶來(lái)方便。單單從寄存器結(jié)構(gòu)來(lái)看,X86-64較多的寄存器將會(huì)大幅度的提升處理器的性能,也會(huì)更加受到軟件開發(fā)人員的喜愛。 目前的處理器產(chǎn)品都采用了SIMD(單指令多數(shù)據(jù))技術(shù)來(lái)提高處理器的運(yùn)算能力,常見的單指令多數(shù)據(jù)技術(shù)分別有Intel公司的SSE、SSE2以及AMD公司的3DNow!,以往的X86-32結(jié)構(gòu)的AMD處理器除了具備3DNow!技術(shù)外還提供了對(duì)Intel SSE指令集的兼容,而X86-64則通過(guò)16個(gè)寄存器來(lái)提供對(duì)SSE2的支持。在SIMD技術(shù)方面,AMD的X86-64結(jié)構(gòu)將提供比以往任何設(shè)計(jì)都要出色的兼容性。 為了更好的在32/64位混合模式下工作,X86-64結(jié)構(gòu)提供了多種處理器工作模式。在“長(zhǎng)模式”下如果用戶使用64位操作系統(tǒng)以及為64位計(jì)算編譯的軟件,那么就可以獲得8個(gè)新增64位通用寄存器、擴(kuò)展6 4位通用寄存器等眾多新特性。“長(zhǎng)模式”下還包含了一種“兼容模式”,在此模式下用戶可以在64位操作系統(tǒng)上運(yùn)行32位的應(yīng)用程序,從應(yīng)用程序的角度看,在“兼容模式”下其所使用的處理器也就是普通32位X86處理器。而從操作系統(tǒng)的角度來(lái)看,常規(guī)的地址變換,中斷以及系統(tǒng)數(shù)據(jù)結(jié)構(gòu)操作都是在64位“長(zhǎng)模式”下進(jìn)行的。“傳統(tǒng)模式”則是AMD的64位處理器為32位應(yīng)用所提供的運(yùn)行模式,這種模式下的X86-64結(jié)構(gòu)處理器的運(yùn)行與一般的32位處理器沒有區(qū)別,可以完全兼容目前的32位操作系統(tǒng)以及32位應(yīng)用程序。 |