運(yùn)算器的功能
運(yùn)算器的基本功能是完成對各種數(shù)據(jù)的加工處理,例如算術(shù)四則運(yùn)算,與、或、求反等邏輯運(yùn)算,算術(shù)和邏輯移位操作,比較數(shù)值,變更符號,計(jì)算主存地址等。運(yùn)算器中的寄存器用于臨時保存參加運(yùn)算的數(shù)據(jù)和運(yùn)算的中間結(jié)果等。運(yùn)算器中還要設(shè)置相應(yīng)的部件,用來記錄一次運(yùn)算結(jié)果的特征情況,如是否溢出,結(jié)果的符號位,結(jié)果是否為零等。
計(jì)算機(jī)所采用的運(yùn)算器類型很多,從不同的角度分析,就有不同的分類方法。從小數(shù)點(diǎn)的表示形式可分為定點(diǎn)運(yùn)算器和浮點(diǎn)運(yùn)算器。定點(diǎn)運(yùn)算器只能做定點(diǎn)數(shù)運(yùn)算,特點(diǎn)是機(jī)器數(shù)所表示的范圍較小,但結(jié)構(gòu)較簡單。浮點(diǎn)運(yùn)算器功能較強(qiáng),既能對浮點(diǎn)數(shù),又能對定點(diǎn)數(shù)進(jìn)行運(yùn)算,其數(shù)的表示范圍很大,但結(jié)構(gòu)相當(dāng)復(fù)雜。從進(jìn)位制方面分為二進(jìn)制運(yùn)算器和十進(jìn)制運(yùn)算器。一般計(jì)算機(jī)都采用二進(jìn)制運(yùn)算器,隨著計(jì)算機(jī)廣泛應(yīng)用于商業(yè)和數(shù)據(jù)處理,越來越多的機(jī)器都擴(kuò)充十進(jìn)制運(yùn)算的功能,使運(yùn)算器既能完成二進(jìn)制的運(yùn)算,也能完成十進(jìn)制運(yùn)算。計(jì)算機(jī)中運(yùn)算器需要具有完成多種運(yùn)算操作的功能,因而必須將各種算法綜合起來,設(shè)計(jì)一個完整的運(yùn)算部件。
1、浮點(diǎn)運(yùn)算器的一般結(jié)構(gòu)浮點(diǎn)運(yùn)算可用兩個松散連接的定點(diǎn)運(yùn)算部件來實(shí)現(xiàn):即階碼部件和尾數(shù)部件,浮點(diǎn)運(yùn)算器的一般結(jié)構(gòu)尾數(shù)部件實(shí)質(zhì)上就是一個通用的定點(diǎn)運(yùn)算器,要求該運(yùn)算器能實(shí)現(xiàn)加、減、乘、除四種基本算術(shù)運(yùn)算。其中三個單字長寄存器用來存放操作數(shù):AC為累加器,MQ為乘商寄存器,DR為數(shù)據(jù)寄存器。AC和MQ連起來還可組成左右移位的雙字長寄存器AC-MQ。并行加法器用來完
成數(shù)據(jù)的加工處理,其輸入來自AC和DR,而結(jié)果回送到AC。MQ寄存器在乘法時存放乘數(shù),而除法時存放商數(shù),所以稱為乘商寄存器。DR用來存放被乘數(shù)或除數(shù),而結(jié)果(乘積或商與余數(shù))則存放在AC-MQ。在四則運(yùn)算中,使用這些寄存器的典型方法如下:運(yùn)算類別 寄存器關(guān)系加法AC+DR→AC減法AC-DR→AC乘法DR×MQ→AC-MQ除法AC÷DR→AC-MQ對階碼部件來說,只要能進(jìn)行階碼相加、相減和比較操作即可。在圖2-21中,操作數(shù)的階碼部分放在寄存器E1和E2,它們與并行加法器相連以便計(jì)算。浮點(diǎn)加法和減法所需要的階碼比較是通過E1-E2來實(shí)現(xiàn)的,相減的結(jié)果放入計(jì)數(shù)器E中,然后按照E的符號為決定哪一個階碼較大。在尾數(shù)相加或相減之前,需要將一個尾數(shù)進(jìn)行移位,這是由計(jì)數(shù)器E來控制的,目的是使E的值按順序減到0。E每減一次1,相應(yīng)的尾數(shù)則向右移1位。一旦尾數(shù)高速完畢,它們就可按通常的定點(diǎn)方法進(jìn)行處理。運(yùn)算結(jié)果的階碼值仍放到計(jì)數(shù)器E中。