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