加深加廣學習成果報告 - 四位元加法電路
一、動機
暑假時,我有買一本計算機概論解解讀書的悶,當成課外讀書把整本看過一遍,但我覺得沒有親自實作一次,感覺只是知識而非內化在心裡的東西。因此產生了
經過上個專案基本電子電路課程之後,對電子有了基本的認識,接下來,便是繼續完成製作一臺電腦的目標。電腦的演變是從加法器開始,也就是說,電腦發明的根本原因是計算。因此,學習製作一個可計算數學的電路,可以向我的目標邁向一大步。
二、方法
自己完成一個四位元加法電路。
三、實作歷程
尋找資料
因為紙本計算機概論電子電路只有大略的知識,所以我另外去Neso Academy學習一些電路知識。
▲圖一:Neso Academy(資料來源:自行截圖)
在學習期間,為了知道其知識在電腦結構中在什麼位置,我另外看了一些與電腦相關的影片,Crash Course: Computer Science 與 Sebastian Lague 的 How Computers Work。
▲圖二:Crash Course: Computer Science(資料來源:自行截圖)
▲圖三:How Computers Work 播放集(資料來源:自行截圖)
前者是計算機概論的簡化版,提供的資訊量跟書比廣度少,深度淺,但利用動畫使知識容易被理解;後者廣度三者最淺,但在ALU部分的知識最深,動畫也最細緻。
在尋找資料的過程,我了解到找資料時,專精於單一個資料來源,不及多個資料來源。單一個資料來源提供的知識可能只是指體的一部份,並且每個資料來源陳述的方式都不太一樣,描述相同的東西,能吸收到的東西都不相同。唯有多個資料來源,才能將育研究的知識點看透。
繪製電路圖與焊接電路
在焊接電路前,我先以Tinkercad的電路模擬,確認電路是否可以運作。
▲圖四:利用Tinkercad電路進行電路模擬(資料來源:自行拍攝)
模擬成功後,接著繪製電路圖,方便焊接。此電路有些複雜,不好以手繪製,我找到EasyEDA來完成電路繪製。
▲圖五:EasyEDA網頁畫面(資料來源:自行截圖)
有了電路圖後,就可以親手用萬用電路板焊電路了。我本來預計將圖中直向的電路用萬用電路板金屬面用裸單心線連接,而橫向的線路以上方跳線連接。因為直向皆為會分支的主幹,橫向只是從一個點連接到另一個點。
▲圖六:四位元加法電路電路圖(資料來源:自行截圖)
然而,中間發生了一個小插曲,我將IC的位置焊錯,而IC難以解焊,導致我必須拋棄之前規劃的電路,根據新的IC位置,重新規劃。
經過仔細思考,我將所有的線路分成三個部分,分別為普通線路(紅),從普通線路有分岔的(黃),與無分岔的(綠)。黃色的線路焊接時依據跳線長短將相同訊號源的線路區分出來,以裸單新線連接,綠色的線路則可以用元件面跳線連接。
▲圖七:將電路分類(資料來源:自行拍攝)
焊接約十幾個小時,終於把實體完成。焊接縮時攝影請參閱此網址:Making My First Computer! #3 [4 Bit Adder with Perfboard 四位元萬用電路板加法器] - YouTube
▲圖八、九、十:焊接過程與完成品(資料來源:自行拍攝)
四、登錄書
以下為此課程的登錄書
▲圖十一:評量登錄表(資料來源:自行拍攝)
五、心得與未來展望
此作品是我電子電路的第二件作品。這學期之前,我都沒有焊製電路的經驗,為了能完成這件作品,我在睡前查詢了許多資料,涵蓋技術層面與知識層面,在這之中,感覺對電腦的認識又近了些。我拿了這件作品給電腦老師看,他只說他從未實作,接著開始抱怨大學的種種不悅。當然,等老師停止完抱怨,我跟老師講述我的壯舉:製作一臺電腦,他說電腦牽扯到Timing和一堆奇怪的東西,當然,最後他總結說,我應該去學Apple II 如何操作,會收益良多。我回去查了一下,發現他是用6502的積體電路去執行電路處理的,而6502大大影響了電腦的發展。學歷史是用來鑑往知來,相信當我了解6502是如何運作的,我將會離製作人生第一臺電腦的夢想更接近。
▲圖十二:Apple ][ 教學影片與Apple ][模擬器(資料來源:自行截圖)
六、四位元加法電路成果
▲圖十三:完整品附加說明(資料來源:自行拍攝)
此電路有2*4個輸入,五個輸出,電源的電壓為4.5V,每橫排四個輸入表示一個數字,輸出方面,最左邊的燈泡為CARRY,其餘四個表示一個數字。藉由調整指撥開關,可調整輸入的兩個數字,並且兩個數字的相加會同步從輸出端顯示出來。數字的表示法以二進位表示。例如上圖,上排指撥開關,依序為1011,以二的補數轉成十進位為-5,下排指撥開關,依序為1011,也是-5,CARRY可以不用管,輸出為0110,也就是6。至於(-5)+(-5)運算結果是6,是因為輸出端只能表示-8~+7的數字,而發生了溢位。
留言
張貼留言