|
|
使用壽命:70000小
內(nèi)部總線,總線分類:內(nèi)部總線、外部總線(系統(tǒng)總線)、通信總線。總線又可分為單向總線和雙向總線。帶鎖存器的總線可實(shí)現(xiàn)總線的復(fù)用。運(yùn)算器包括ALU、陣列乘除器件、寄存器、多路開(kāi)關(guān)、三態(tài)緩沖器、數(shù)據(jù)總線等邏輯部件。運(yùn)算器的設(shè)計(jì),主要是圍繞著ALU和寄存器同數(shù)據(jù)總線之間如何傳送操作數(shù)和運(yùn)算結(jié)果而進(jìn)行的。運(yùn)算器的三種結(jié)構(gòu)形式:?jiǎn)?a class="ed_inner_link" target=_blank rel=nofollow target="_blank">總線結(jié)構(gòu)的運(yùn)算器:這種結(jié)構(gòu)的主要缺點(diǎn)是操作進(jìn)度較慢,但控制電路比較簡(jiǎn)單。雙總線結(jié)構(gòu)的運(yùn)算器。三總線結(jié)構(gòu)的運(yùn)算器:三總線結(jié)構(gòu)的運(yùn)算器的特點(diǎn)是操作時(shí)間快。
運(yùn)算器包括寄存器、執(zhí)行部件和控制電路3個(gè)部分。在典型的運(yùn)算器中有3個(gè)寄存器:接收并保存一個(gè)操作數(shù)的接收寄存器;保存另一個(gè)操作數(shù)和運(yùn)算結(jié)果的累加寄存器;在進(jìn)行乘、除運(yùn)算時(shí)保存乘數(shù)或商數(shù)的乘商寄存器。執(zhí)行部件包括一個(gè)加法器和各種類型的輸入輸出門(mén)電路。控制電路按照一定的時(shí)間順序發(fā)出不同的控制信號(hào),使數(shù)據(jù)經(jīng)過(guò)相應(yīng)的門(mén)電路進(jìn)入寄存器或加法器,完成規(guī)定的操作。為了減少對(duì)存儲(chǔ)器的訪問(wèn),很多計(jì)算機(jī)的運(yùn)算器設(shè)有較多的寄存器,存放中間計(jì)算結(jié)果,以便在后面的運(yùn)算中直接用作操作數(shù)。為了提高運(yùn)算速度,某些大型計(jì)算機(jī)有多個(gè)運(yùn)算器。它們可以是不同類型的運(yùn)算器,如定點(diǎn)加法器、浮點(diǎn)加法器、乘法器等,也可以是相同類型的運(yùn)算器。運(yùn)算器的組成決定于整機(jī)的設(shè)計(jì)思想和設(shè)計(jì)要求,采用不同的運(yùn)算方法將導(dǎo)致不同的運(yùn)算器組成。但由于運(yùn)算器的基本功能是一樣的,其算法也大致相同,因而不同機(jī)器的運(yùn)算器是大同小異的。運(yùn)算器主要由算術(shù)邏輯部件、通用寄存器組和狀態(tài)寄存器組成。1、算術(shù)邏輯部件ALU。ALU 主要完成對(duì)二進(jìn)制信息的定點(diǎn)算術(shù)運(yùn)算、邏輯運(yùn)算和各種移位操作。算術(shù)運(yùn)算主要包括定點(diǎn)加、減、乘和除運(yùn)算。邏輯運(yùn)算主要有邏輯與、邏輯或、邏輯異或和邏輯非操作。移位操作主要完成邏輯左移和右移、算術(shù)左移和右移及其他一些移位操作。某些機(jī)器中,ALU 還要完成數(shù)值比較、變更數(shù)值符號(hào)、計(jì)算操作數(shù)在存儲(chǔ)器中的地址等。可見(jiàn),ALU 是一種功能較強(qiáng)的組合邏輯電路,有時(shí)被稱為多功能發(fā)生器,它是運(yùn)算器組成中的核心部件。ALU 能處理的數(shù)據(jù)位數(shù)(即字長(zhǎng))與機(jī)器有關(guān)。如 Z80單板機(jī)中,ALU 是 8 位;IBM PC/XT和 AT 機(jī)中,ALU 為 16 位;386 和 486微機(jī)中,ALU 是 32 位。ALU 有兩個(gè)數(shù)據(jù)輸入端和一個(gè)數(shù)據(jù)輸出端,輸入輸出的數(shù)據(jù)寬度(即位數(shù))與 ALU 處理的數(shù)據(jù)寬度相同。
2、通用寄存器組近期設(shè)計(jì)的機(jī)器的運(yùn)算器都有一組通用寄存器。它主要用來(lái)保存參加運(yùn)算的操作數(shù)和運(yùn)算的結(jié)果。早期的機(jī)器只設(shè)計(jì)一個(gè)寄存器,用來(lái)存放操作數(shù)、操作結(jié)果和執(zhí)行移位操作
,由于可用于存放重復(fù)累加的數(shù)據(jù),所以常稱為累加器。通用寄存器均可以作為累加器使用。通用寄存器的數(shù)據(jù)存取速度是非常快的,目前一般是十幾個(gè)毫微秒(μs)。如果 ALU 的兩個(gè)操作數(shù)都來(lái)自寄存器,則可以極大地提高運(yùn)算速度。通用寄存器同時(shí)可以兼作專用寄存器,包括用于計(jì)算操作數(shù)的地址(用來(lái)提供操作數(shù)的形式地址,據(jù)此形成有效地址再去訪問(wèn)主存單元)。例如,可作為變址寄存器、程序計(jì)數(shù)器(PC)、堆棧指示器(SP)等。必須注意的是,不同的機(jī)器對(duì)這組寄存器使用的情況和設(shè)置的個(gè)數(shù)是不相同的。
3、狀態(tài)寄存器狀態(tài)寄存器用來(lái)記錄算術(shù)、邏輯運(yùn)算或測(cè)試操作的結(jié)果狀態(tài)。程序設(shè)計(jì)中,這些狀態(tài)通常用作條件轉(zhuǎn)移指令的判斷條件,所以又稱為條件碼寄存器。一般均設(shè)置如下幾種狀態(tài)位:
1)零標(biāo)志位(Z):當(dāng)運(yùn)算結(jié)果為 0 時(shí),Z 位置“1”;非 0 時(shí),置“0”;
2)負(fù)標(biāo)志位(N):當(dāng)運(yùn)算結(jié)果為負(fù)時(shí),N 位置“1”;為正時(shí),置“0”;
3)溢出標(biāo)志位(V):當(dāng)運(yùn)算結(jié)果發(fā)生溢出時(shí),V 位置“1”;無(wú)溢出時(shí),置“0”;
4)進(jìn)位或借位標(biāo)志(C):在做加法時(shí),如果運(yùn)算結(jié)果最高有效位(對(duì)于有符號(hào)數(shù)來(lái)說(shuō),即符號(hào)位;對(duì)無(wú)符號(hào)數(shù)來(lái)說(shuō),即數(shù)值最高位)向前產(chǎn)生進(jìn)位時(shí),C 位置“1”;無(wú)進(jìn)位時(shí),置“0”。在做減法時(shí),如果不夠減,最高有效位向前有借位(這時(shí)向前無(wú)進(jìn)位產(chǎn)生)時(shí),C 位置“1”;無(wú)借位(即有進(jìn)位產(chǎn)生)時(shí),C 位置“0”。除上述狀態(tài)外,狀態(tài)寄存器還常設(shè)有保存有關(guān)中斷和機(jī)器工作狀態(tài)(用戶態(tài)或核心態(tài))等信息的一些標(biāo)志位(應(yīng)當(dāng)說(shuō)明,不同的機(jī)器規(guī)定的內(nèi)容和標(biāo)志符號(hào)不完全相同),以便及時(shí)反映機(jī)器運(yùn)行程序的工作狀態(tài),所以有的機(jī)器稱它為“程序狀態(tài)字”或“處理機(jī)狀態(tài)字”(Processor Status Word,PSW )。
公元前5世紀(jì),中國(guó)人發(fā)明了算盤(pán),廣泛應(yīng)用于商業(yè)貿(mào)易中,算盤(pán)被認(rèn)為是最早的計(jì)算機(jī),并一直使用至今。算盤(pán)在某些方面的運(yùn)算能力要超過(guò)目前的計(jì)算機(jī),算盤(pán)的方面體現(xiàn)了中國(guó)人民的智慧。
直到17世紀(jì),計(jì)算設(shè)備才有了第二次重要的進(jìn)步。1642年,法國(guó)人Blaise Pascal(1623-1662)發(fā)明了自動(dòng)進(jìn)位加法器,稱為Pascalene。1694年,德國(guó)數(shù)學(xué)家Gottfried Wilhemvon Leibniz(1646-1716)改進(jìn)了Pascaline,使之可以計(jì)算乘法。后來(lái),法國(guó)人Charles Xavier Thomas de Colmar發(fā)明了可以進(jìn)行四則運(yùn)算的計(jì)算器。現(xiàn)代計(jì)算機(jī)的真正起源來(lái)自英國(guó)數(shù)學(xué)教授Charles Babbage。Charles Babbage發(fā)現(xiàn)通常的計(jì)算設(shè)備中有許多錯(cuò)誤,在劍橋學(xué)習(xí)時(shí),他認(rèn)為可以利用蒸汽機(jī)進(jìn)行運(yùn)算。起先他設(shè)計(jì)差分機(jī)用于計(jì)算導(dǎo)航表,后來(lái),他發(fā)現(xiàn)差分機(jī)只是專門(mén)用途的機(jī)器,于是放棄了原來(lái)的研究,開(kāi)始設(shè)計(jì)包含現(xiàn)代計(jì)算機(jī)基本組成部分的分析機(jī)。(Analytical Engine)
Babbage的蒸汽動(dòng)力計(jì)算機(jī)雖然最終沒(méi)有完成,以今天的標(biāo)準(zhǔn)看也是非常原始的,然而,它勾畫(huà)出現(xiàn)代通用計(jì)算機(jī)的基本功能部分,在概念上是一個(gè)突破。
在接下來(lái)的若干年中,許多工程師在另一些方面取得了重要的進(jìn)步,美國(guó)人Herman Hollerith(1860-1929),根據(jù)提花織布機(jī)的原理發(fā)明了穿孔片計(jì)算機(jī),并帶入商業(yè)領(lǐng)域建立公司