書名: 計(jì)算機(jī)與人腦(學(xué)生版)作者名: (美)馮·諾伊曼本章字?jǐn)?shù): 2203字更新時(shí)間: 2023-04-07 18:49:08
第2章 數(shù)字方法
The Digital Procedure
在一個(gè)十進(jìn)制數(shù)字計(jì)算機(jī)中,每一個(gè)數(shù)都是用通常書寫或印刷一樣的方法來表示的,即用一序列的十進(jìn)制數(shù)字來表示。而這每一個(gè)十進(jìn)制的數(shù)字,又用一組“符號(hào)”系統(tǒng)來表示。
在一個(gè)十進(jìn)制數(shù)字計(jì)算機(jī)中,每一個(gè)數(shù)都是用通常書寫或印刷一樣的方法來表示的,即用一序列的十進(jìn)制數(shù)字來表示。而這每一個(gè)十進(jìn)制的數(shù)字,又用一組“符號(hào)”系統(tǒng)來表示。
符號(hào),它們的組合與體現(xiàn)
一個(gè)符號(hào),可以用十個(gè)不同的形式表現(xiàn),以滿足表示一組十進(jìn)制數(shù)字的需要。要使一個(gè)符號(hào)只以兩種不同形式表示,則只在每一個(gè)十進(jìn)制數(shù)字相對(duì)應(yīng)于整個(gè)符號(hào)組時(shí)才能使用(一組3個(gè)的兩值符號(hào),可構(gòu)成8個(gè)組合,這還不夠表示10個(gè)十進(jìn)制數(shù)字之用;一組4個(gè)的兩值符號(hào),則可以有16個(gè)組合,這就夠用而有余了。所以,十進(jìn)制數(shù)字,必須用至少4個(gè)一組的兩值符號(hào)來表示。這就是使用比較大的符號(hào)組的理由,見下述)。十值符號(hào)的一個(gè)例子就是在十根預(yù)定的導(dǎo)線上各自出現(xiàn)一個(gè)電脈沖。兩值符號(hào)是在一根預(yù)定的導(dǎo)線上出現(xiàn)一個(gè)電脈沖,于是,脈沖的存在或不存在就傳送了信息(這就是符號(hào)的“值”)。另一種可能的兩值符號(hào),是具有正極性和負(fù)極性的電脈沖。當(dāng)然,還有許多種同樣有效的符號(hào)體系。
我們將進(jìn)一步觀察這些符號(hào)。上述十值符號(hào),顯然是一組10個(gè)的兩值符號(hào)。我們已經(jīng)說過,這組符號(hào)是高度過剩了。最小的組,包括4個(gè)兩值符號(hào)的,也是可以用在同一體系中的。請(qǐng)考慮一個(gè)四根預(yù)定的導(dǎo)線的系統(tǒng),在它們之間,能夠發(fā)生任何組合的、同時(shí)出現(xiàn)的電脈沖。這樣,它可以有16種組合,我們可以把其中的任何10種組合規(guī)定為十進(jìn)制10個(gè)數(shù)字的相應(yīng)代表。
應(yīng)當(dāng)注意,這些符號(hào)通常都是電脈沖(或可能是電壓或電流,持續(xù)到它們的標(biāo)示生效為止),它們必須由電閘裝置來控制。
數(shù)字計(jì)算機(jī)的類型及其基本元件
到目前為止的發(fā)展中,電磁機(jī)械的繼電器、真空管、晶體二極管、鐵磁芯、晶體管已經(jīng)被成功地應(yīng)用了;有時(shí)是相互結(jié)合起來應(yīng)用,比如在計(jì)算機(jī)的存儲(chǔ)器官(見后面的敘述)中用這一種元件,而在存儲(chǔ)器官之外(在“作用”器官中)則用另一種,這樣,就使計(jì)算機(jī)產(chǎn)生了許多不同的種類。2
并行和串行線路
現(xiàn)在,計(jì)算機(jī)中的一個(gè)數(shù)是用一序列的十值符號(hào)(或符號(hào)組)來表示的。這些符號(hào),可以安排在機(jī)器的各個(gè)器官中同時(shí)出現(xiàn),這就是并行。或者是把它們安排在機(jī)器的一個(gè)器官中,在連續(xù)的瞬間依次出現(xiàn),這就是串行。比如,機(jī)器是為處理12位十進(jìn)制數(shù)字而建造的,在小數(shù)點(diǎn)“左邊”有6位,在小數(shù)點(diǎn)“右邊”也有6位,那么,12個(gè)這樣的符號(hào)(或符號(hào)組)都應(yīng)在機(jī)器的每一信息通道中準(zhǔn)備好,這些通道是為通過數(shù)字而預(yù)備的(這個(gè)方案,在各種機(jī)器中,可以采取各種不同的方法和程度,從而得到更大的靈活性。在幾乎所有的計(jì)算機(jī)中,小數(shù)點(diǎn)的位置都是可以調(diào)整移動(dòng)的。但是,我們?cè)谶@里不打算進(jìn)一步討論這個(gè)問題)。
常用的基本運(yùn)算
數(shù)字計(jì)算機(jī)的運(yùn)算,常常以算術(shù)四則為基礎(chǔ)。關(guān)于這些人們已經(jīng)熟知的過程,還應(yīng)該講以下的幾點(diǎn):
第一,關(guān)于加法: 在模擬計(jì)算機(jī)中,加法的過程要通過物理過程作為媒介來進(jìn)行(見上文所述)。與模擬計(jì)算機(jī)不同,數(shù)字計(jì)算機(jī)的加法運(yùn)算,是受嚴(yán)格而具有邏輯特性的規(guī)則所控制的,比如,怎樣形成數(shù)字的和,什么時(shí)候應(yīng)該進(jìn)位,如何重復(fù)和結(jié)合這些運(yùn)算步驟,等等。數(shù)字和的邏輯特性,在二進(jìn)制系統(tǒng)中顯得更加清楚(與十進(jìn)制比較而言)。二進(jìn)制的加法表(0+0=00, 0+1=1+0=01,1+1=10),可表述如下: 如果兩個(gè)相加的數(shù)字不同,其和數(shù)字為1;如果兩個(gè)相加數(shù)字相同,其和數(shù)字為0,而且,如兩個(gè)相加數(shù)字都是1時(shí),其進(jìn)位數(shù)字為1,如兩個(gè)相加數(shù)字都是0時(shí),其進(jìn)位數(shù)字為0。因?yàn)闀?huì)出現(xiàn)進(jìn)位數(shù)字,所以實(shí)際上需要3項(xiàng)的二進(jìn)制加法表,即(0+0+0=00,0+0+1=0+1+0=1+0+0=01,0+1+1=1+0+1=1+1+0=10,1+1+1=11)。這個(gè)加法表,可以表述為: 如果在相加的數(shù)字中(包括進(jìn)位數(shù)),1的數(shù)目是奇數(shù)(即1個(gè)或3個(gè)),則和數(shù)字為1;如果1的數(shù)目不是奇數(shù),則和數(shù)字為0。如果在相加數(shù)字中(包括進(jìn)位數(shù)),1的數(shù)目是多數(shù)(2個(gè)或3個(gè)),則進(jìn)位數(shù)字是1;如果1的數(shù)目不是多數(shù)(而是1個(gè)),則進(jìn)位數(shù)字是0。3
第二,關(guān)于減法: 減法的邏輯構(gòu)造,和加法非常相似。減法可以(而且是通常地)簡化成為加法,運(yùn)用一種簡單的手段——補(bǔ)數(shù)法,就可以做到這一點(diǎn)。
第三,關(guān)于乘法: 乘法的基本邏輯特性,甚至比加法還要明顯,其結(jié)構(gòu)性質(zhì)也比加法明顯。在十進(jìn)制中,乘數(shù)的每一個(gè)數(shù)字,與被乘數(shù)相乘,而得出乘積(這個(gè)相乘的過程,通常可用各種的相加方法,這對(duì)所有的十進(jìn)制數(shù)字都是可以進(jìn)行的)。然后,把上述各個(gè)乘積加在一起(還要有適當(dāng)?shù)囊莆?。在二進(jìn)制中,乘法的邏輯特性更顯明易見。二進(jìn)制只可能有兩個(gè)不同的數(shù)字——0與1,因此,只有乘數(shù)和被乘數(shù)都是1時(shí),乘積才是1,否則乘積就是0。
以上的全部陳述,都是指正數(shù)的乘積而言。當(dāng)乘數(shù)和被乘數(shù)有正號(hào)、負(fù)號(hào)時(shí),則產(chǎn)生了4種可能的情況。這時(shí),就需要有更多的邏輯規(guī)則來支配這4種情況。
第四,關(guān)于除法: 除法的邏輯結(jié)構(gòu)與乘法是可比較的,但除法還須加入各種重復(fù)的、試錯(cuò)法的減法過程。在各種可能發(fā)生的變換情況中,為了得出商數(shù),需要一些特別的邏輯規(guī)則,從而必須用一種串行的、重復(fù)的方法來處理這個(gè)問題。
總起來說,上述加、減、乘、除的運(yùn)算,和模擬計(jì)算機(jī)中所運(yùn)用的物理過程,有著根本的區(qū)別。它們都是交變作用的模式,組織在高度重復(fù)的序列中,并受嚴(yán)格的邏輯規(guī)則所支配。特別是對(duì)乘法和除法來說,這些規(guī)則具有十分復(fù)雜的邏輯特性(這些運(yùn)算的邏輯特性,由于我們長期地、幾乎是本能地對(duì)它們熟悉了,因而往往不易看出,可是,如果你強(qiáng)迫自己去充分表述這些運(yùn)算,它們的復(fù)雜程度就會(huì)顯現(xiàn)出來了)。