※ 引述《acho (鳳翼天翔)》之銘言:
: : 阿錯對電腦實在是很有概念.
: 這...過獎了...我最弱的除了國文之外就是電腦了說...
你也太謙虛了! :P
: 之所以會猜這題是因為他有寫黑板...
: 而且考了幾次了...大概有點感覺了吧
: 當然猜了還是希望能猜中ㄚ...
應該... 會中吧. @_@
這個算是蠻重要的計算機概念.
: : 當然, 這些都不是一定的.
: : 不過原因又是另外一回事了... :D
: 你所說的"不是一定"是指什麼??
: 是說不一定越多越好嗎??
通常是越多越好.
但是每個例子可能都會有點例外.
好比暫存器往往越大越好.
這種情況下處理一個大數運算, 一定會比暫存器小的好.
但是也有反例...
如果程式處理的對象都是短整數或是字元...
那處理器反要額外耗些時間作型別轉換.
但是... 這個時間非常非常地短.
短到可能數百個型別轉換所賺來的時間...
在一次的長整數運算就賠光了.
較大的暫存器也代表著程式會耗用比較大的空間.
因為資料的基本單位(通常是一個整數)會比較大.
RAM 也是一樣...
現在高速運算中的分散式系統...
它的基本單位很可能是一顆小 CPU 配一點點 memory.
這種架構下, 對每顆 CPU 來說, memory 大到一定程度以上就沒用了.
本來 memory 是越大越好...
因為它的速度遠快過於傳統硬碟.
所以在有「虛擬記憶體」的作業系統上, 大量的 memory 有好處.
換句話說, memory 的容量對速度有幫助...
但不是提昇「運算」速度, 而是提昇 I/O 的速度.
更精確一點的說法, 是減少 swap 的次數...
也就是說, 「記憶體越大越好」這句話有個前提: 「在用得到的情況下. 」
如果整個系統跑起來最多只要用到 100MB 大小的記憶體...
那 1GB 跟 2GB 是不會有什麼不同的.
cache 就有比較奇怪的行為.
cache 有一個所謂的 "hit ratio".
也就是檢索成功的機率...
通常這個 hit ratio 會隨著 cache 加大而加大.
但如果 hit ratio 非常低, 低到了一定的程度以下...
這時候每讀一筆資料都變成...
cache 先找一遍, 再去記憶體裡頭找.
反而越大的 cache 會越慢...
所以設計 cache 的最基本原則並不是越大越好.
而是要有效減低從 main memory 提取資料的頻率...
只不過「通常」越大的 cache 幫助會越大.
內頻是越快越好...
這個可能沒有例外.
但是不是說一部 200MHz 的會比 100MHz 的快一倍.
因為內頻不會影響 fetching/storing 這兩個動作.
bus 跟 system clock 剛好相反...
影響的是 fetching/storing, 而不是 decoding/executing...
--
新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 61.224.166.251