Trek through Pure Reason
Let's see how far we can go.
2007/01/31
- yen3 在 1/31/2007 5:44 pm 說:
-
期待你改好的那一天,那應該很好玩
- Celith 在 2/02/2007 8:18 am 說:
-
不過換過去後的 RSS 似乎不能瀏覽!?
- Josh Ko 在 2/02/2007 1:46 pm 說:
-
目前可以用 http://joshkos.blogspot.com/rss.xml,不過我不確定換成新式 template 之後有沒有效(我猜可以)XD。
全破
結束了,寒假來了 XD。最後兩天努力慢慢把 architecture view 四十條線兜出來果然值回票價,當我把執行著 qsort 的 TOY86 從 machine interface 換到那絕美的、流動的、活生生的 architecture view 的時候,聽到助教一聲「哇」!XDXD 太高興了 XD!比較可惜的是,我刻意把 clock speed 調慢以免 PB lag,結果 qsort 沒跑完 XD。還有,助教問有沒有到 microarchitecture 的時候,我應該說 "somehow" 我們沒探到那邊,比較完善 XD。
--
好吧,事實上還挫著等演算法成績 XD。
Labels: NTUCSIE
不描了
用 SCX-4200 印出 doc,發現 datapath 的部份全部完蛋,紅線和黑線難以區分 XD。用紅筆描了四張,中間還斷水,決定不描了,到計中印彩色版 XD。
--
順便買中餐 XD。
Labels: TOY86
持續修正
剛剛又修正 procedure operations 的 datapath,並為 REG 和 MEM 的 write signal 加上「寫入大小」標籤。明年這即使沒辦法當作正式教材,也應該 worth mentioning 了吧 XD。Datapath 流動的樣子太漂亮了,投影片怎麼比得上 XD。
--
不知道助教有沒有下載來玩,如果有,不知道下載到哪一版 XD。
Labels: TOY86
2007/01/30
Word Count
JKPB15:~/JSPS/EclipseWorkspace/TOY86Simulator/toy86 josh$ wc *.java 1188 4093 38283 ArchitectureView.java 34 105 788 InstrInfo.java 254 625 9261 InterfaceIO.java 521 1431 18390 InterfaceView.java 48 134 1317 MemViewPanel.java 135 334 3661 RegViewPanel.java 193 467 6536 Simulator.java 853 2405 24232 TOY86VM.java 6 13 101 TOY86VMIO.java 5 11 80 TOY86VMStatus.java 3237 9618 102649 total
--
剛剛把 IR 無作用的區塊改為不顯示 XD。
Labels: TOY86
DONE!!!!!!
SHIP!!! HAHA!!! XD 經歷十來小時奮鬥,中間包括一段幾小時的痛苦 debug ─ 除的是惡名昭彰的 deadlock,終於也完成 architecture view 了 :D!This thing is beautiful :P. 至此整個 project 的目標圓滿達成嘍!XD
稍微可惜一點的是,當初在寫 VM 時把 architecture 的結構寫進去,想說能不能輕鬆以 VM 驅動,結果好像寫得太簡略,所以 architecture view 還是重算了一些 VM 算過的東西,而且 VM 那邊也留下不必要的複雜結構。唔,至少 VM 和 interface view 之間不知不覺變成 Model-View (-Controller) 了 XD。
--
走出迷宮了 XD。
Labels: TOY86
2007/01/29
See the Instructions Flow!!!
天啊!效果比我想像中還要好兩倍以上!整個 architecture 都活起來了 T.T。It is ALIVE!!! 不知道來不來得及把數字也實作上去 XD。Datapath 還沒校對過,不過先放上再說 XD。
--
額外 749 行源碼、連續六到七小時換來的成果,太感動了 :D。
Labels: TOY86
有分數了
到 info 去查,有四科出來了:軍訓、倫理學、線性代數、自動機與形式語言 ─ 滿漂亮,都是九開頭 :P。離散數學沒問題,公民教育應該也是,計算機組織與組合語言當然不可能有成績,高等微積分和資料結構與演算法…好恐怖 Orz。
--
被當也沒辦法 XD。
Labels: NTUCSIE
截至剛剛
早上十一點出門幫好禿的裸子植物拿習題,然後到後門吃麵,算小小休息一下。稍後一伙人進來,突然清大資訊的信瑋學長過來向我打招呼 XD。然後下午就和學長一塊逛書店,從誠品逛到愛因斯坦,再到第一次去的茉莉二手書店。在誠品大致翻過 cyy 推薦的《網路巨變元年》,大概知道他想說什麼 XD。最後一間有一些書很想買,而且又很便宜,等 project 做完再去收購回來 XD。
回來一看 blog,白夜的 TOY86 assembler 已經生好嘍!在 Mac 上卻 patch 失效,於是先用工作站編譯組譯(編譯是 assembler source,組譯是 qsort.asm in TOY86 assembly XD),TOY86 Simulator with Batch Stdin 跑下去,成了!XD 然後追蹤 Mac 上的問題點,原來是不小心弄出 C99 的 flexible array member 所導致。這事實上是從語言支援 C89 以來的 hack,把 struct 裡面最後一個 member 設為尺度 0 的 array,然後 malloc(sizeof(struct S) + desiredBytes)
,效果等同於 array with dynamic-length。知道這效果非吾人所求、填入尺度後,就完了 XD。
晚餐後幫所有線路編號、定座標 XD。
--
Project 基本分已經拿到了 XD。
還是做做看 XD
把 TOY86 Simulator 改成 native look & feel,Windows 上面看起來比較能看 XD。覺得還是應該把 architecture view 做出來,比較有意義。這需要先仔細地把每條線的座標定下來,比刻 TOY86 機器介面麻煩兩倍吧 XD。至於驅動倒應該沒問題,因為剛好 VM 是那 model、機器介面和 architecture 是 views XD。不過還是要先做點 refactoring,把 VM 和機器介面完全分離。
--
下午動工 XD。
Labels: TOY86
- 在 1/29/2007 6:24 am 說:
-
Assembler應該是完成了
我照著整個asm檔,然後對照我的output,應該是都沒有錯
有幾個改變如下
1.每跳一個procedure我讓他改變的address從768->512,這樣可以裝更多的小型prodecure,但是應該不失其單一procdure的資料量
2.patch的問題已經改進,不然之前多次call,patch會抓不到
3.對於DUP,我原本以為格式是 HI DUP 3,結果看doc是HI DUP(3),所以也對這個作了修改
4.差點忘了, 新產生了9個指令:ldp, ldpb, ldpw, leap, leapb, leapw, stp, stpb, stpw,效果就是專門抓procedure name的,所以qsort的code要改一個字元-w-
5.還沒想到...
總之差不多就是這樣,Linker說實在話現在剩的這些時間我覺得我要生出來有難度,看看接下來要怎麼辦吧=.="
http://w.csie.org/~b94009/toy86/
東西都在這
2007/01/27
- 在 1/28/2007 5:12 am 說:
-
Debug進到新境界了...
救命阿QwQ - 在 1/28/2007 4:15 pm 說:
-
我放棄了
加一個leap吧...用lea跟leap就好...
lea系列的第二個token已經太機了...
TOY86 Machine Interface
剛剛刻出來了 :D。先設定按下 ENTER 鍵把 data 反映到 data lights 和 stdout、addr 反映到 addr lights。截圖一張 XD。接下來的工作是想辦法和 VM 連在一起。
--
刻好了哈哈哈!XD
Labels: TOY86
2007/01/26
Datapath
全部都畫好了,到時候擇優放在 doc 上。另外我想 architecture 的元件實作我出一張嘴就好,沒時間把詳細的邏輯電路畫出來了 XD。中間還一度以為可以把 shifter 拿到 adder 前面,使 layout 變得更緊密,不過後來發現不行,幸好還沒清垃圾桶 XD。
今晚工作是測試 VM,研究一下 Swing,或許把 doc 寫完 XD。
--
GUI 明天就可以開工了 XD。
Labels: TOY86
VM 兜好了…吧
睡醒後耐心翻修一次,簡單的例子可以跑了。至於複雜的例子,很可惜,qsort.asm 有 bug,所以目前沒得測試 XD。雖然 machine code 背得差不多了,可是要在心中查指令、遞增記憶體位址還是很痛苦的事情。
--
我要 assembler!XD
Labels: TOY86
- 在 1/26/2007 7:13 am 說:
-
正在寫assembler讓我體認到一件事了:
我終於知道為什麼Knuth會為了他要寫書就自創東西來用
我現在覺得東西不好用就寫小fucntion來用
=.=
自己寫才能切合要求阿... - 在 1/26/2007 7:28 am 說:
-
天阿我剛剛發現大問題了快上來救我吧>w<
2007/01/25
Eclipse 重出江湖
再度出現在 dock 上面。後來想到,VM 可以寫得和 architecture 相關,然後做個 observer 把變化通知出去,到時候讓 GUI 或 console interface 去收,因此必須先把 TOY86 architecture 確定下來,而這在剛剛做完了 XD。希望今天能把 VM 寫完 XD。
--
手繪的 architecture 佔了連續三張 A4 XD。
Labels: TOY86
2007/01/24
人工編譯組譯
首先把 K&R p.120~121 的兩個 functions qsort & swap 編譯成 TOY86 assembly,這還好;再來把 assembly code 人工組譯成 TOY86 machine code,共 262 bytes,這就夭壽了 XD。明天把 console-based virtual machine 寫出來再跑跑看 XD。
--
有 bug 就麻煩了 XD。
Labels: TOY86
"Final" Project
小魔王解決了,終於只剩下最終的 TOY86 project。今晚完成 doc Sec. 5 Assembly,明天星期四把 virtual machine 寫出來,並研究 Swing 的相關機制,如圖片處理。星期五把 architecture 正式兜出來,並努力把圖畫完。順利的話就有星期六到星期二共四天可以把 GUI simulator 兜出來。
--
兜啊兜 XD。
Labels: TOY86
- Marvelous Pine 在 1/24/2007 12:58 pm 說:
-
怎嚜用??塊交我
- Josh Ko 在 1/24/2007 1:01 pm 說:
-
登入 Blogger,主頁就有了 XD。
2007/01/23
cyy 打氣信
CSIE 的命運 XD。
Let me clarify the procedure for your final project:
0. work (very) hard on your project
1. sign up a demo slot through the webpage
2. send all your source codes (if any) and report to your TAs, preferably before your demo time
3. print out your report (not source code) and bring it to TAs at your demo timeI understand that most of you are longing for the winter vacation. You are almost there. We have all come through your position, working on projects a couple of weeks after the final week. It is the destiny of csie students (professors). Well, it probably won't get better if you choose to be programmers and engineers in the future. Anyway, have fun in Infocup 2007 and your final project.
Yung-Yu
不過今天要先處理一下離散數學 XD。
--
看到 procedure 直覺想到那個 procedure XD。
Labels: NTUCSIE
2007/01/22
線拉完了
雖然 wires & multiplexers 又多又亂,但至少先保證了 architecture 的存在性 XD。Optimization 等 Sec. 5 Assembly 寫完再做不遲。今天看能不能把 Sec. 5 趕出來 ─ 應該要趕出來,不然來不及 XD。
--
實作到電路板上不知道要幾層了 XD。
然後發現 machine code spec 是放在 Sec. 4 Architecture Model,所以還是得寫一點 Sec. 4 XD。
事實上沒什麼好擔心的,大不了 ALU 之流的元件多擺幾個,線隨便亂拉,應該都湊得出來,只是夠不夠 compact(緊緻:「緊」即乾淨節省、「緻」即美麗雅緻 XD)的問題而已 XD。
Labels: TOY86
2007/01/21
Three Finished
TOY86 doc 共五個 sections:引言(這個很小)、ExtTOY、TOY86 ISA、Arch. Model、Assembly。目前寫完前三個。睡醒後把 architecture 兜一兜,確定所有指令都能跑之後,先寫 Sec. 5 TOY86 Assembly 當作 assembler/linker 的 spec,再趕 Sec. 4(包括模型圖和詳細指令執行流程)和 simulator 出來。小魔王離散數學星期二再動 XD。
--
份量大概還有一半 XD。
Labels: TOY86
2007/01/20
好了 XD
高微最後一個 session 至此告終 XD。盼望多出點 convex function 與不等式、少出點極值問題和 Riemann integral XD。
--
這樣還有東西可以考嗎?XD
Labels: NTUCSIE
不等式之母
和老妖討論「三次方 Cauchy 不等式」和 Hölder 不等式究竟誰比較 general。我說應該是前者,因為 Hölder 不等式只有兩個數列,取 p = 3/2、q = 3 時,可將有平方的那一項拆成兩項,次方形狀就和三次方 Cauchy 不等式相同。但三次方 Cauchy 不等式有三個數列,所以還是三次方 Cauchy 不等式比較 general。不過剛剛突然想到可以用兩次 Hölder 不等式湊出三次方 Cauchy 不等式,果然 OK:
所以 n 次 Cauchy 不等式和 rational p, q 的 Hölder 不等式等價。高中另一個重要的算幾不等式也是同根生,p-norm 下的 Minkowski 不等式在 p = 1 時就是三角不等式,都系出同源。這一切都來自 -ln x 的 strictly convex 性質,無怪乎金次要稱之為不等式之母了。而 -ln x 本身和它的 strictly convex 性質又可追溯至實數完備性。
--
竟然用了中括號 XD。
2007/01/19
還剩下…
今天是高微的最後一個 study session,明天就面對最終大魔王高微期末考。唔,玩過蒼之濤的人就知道,最終大魔王後還有一隻小魔王等著,那就是離散數學期末考啦。不過台大資訊系當然不是一個電腦遊戲能比的,最終大魔王後的小魔王之後還有一個大迷宮要走,那就是傳說中的 TOY86 project XD。
--
迷宮的比喻還不錯 XD。
Labels: NTUCSIE
- yen3 在 1/20/2007 7:57 am 說:
-
可見你玩的都是以迷宮見長的遊戲
- 在 1/20/2007 8:00 am 說:
-
「最終大魔王後的小魔王之後還有一個大迷宮要走…」
蒼之濤也有啊!
不過是自動導航模式… XD
(還不會自動轉彎 XDD) - 在 1/20/2007 2:30 pm 說:
-
那不是迷宮啦...
那是隱藏王阿Orz
2007/01/18
大驚
被隨機客發現了 XD!
Number of Entries: 2
Entry Page Time: 18th January 2007 21:16:48
Visit Length: 18 mins 47 secs
Browser: MSIE 7.0
OS: Windows XP
Resolution: 1280x1024Returing Visits: 0
Location: T'ai-pei, Taipei, Taiwan
Hostname: 140-109-224-220.adsl.sinica.edu.tw (140.109.224.220)
Entry Page: Joshsoft
Exit Page: Joshsoft
Referring URL: www.google.com.tw/search?q=呂學一&hl=zh-TW&lr=&start=150&sa=N
對照組:
《ID暱稱》hil(隨機客) 《經濟狀況》普通 《上站次數》5169次 《文章篇數》1549篇 《目前動態》不在站上 《私人信箱》所有信件都看過了 《上次上站》01/18/2007 21:19:43 Thu 《上次故鄉》140.109.224.220 《五子棋戰績》 0 勝 0 敗 0 和 《象棋戰績》 0 勝 0 敗 0 和 《個人名片》hil 目前沒有名片
--
嚇得說不出話來了 XD。
Conflict
Discrete Mathematics
The Time and Place of our Final Exam:
* 2007/1/24 (Wed.) 18:00~20:00 p.m. , at CSIE R102 and R104.
『電資學院視訊會議整合系統工程』施工公告
R.101 ~ R.104 四間階梯教室暫停使(借)用
日期:1 月 22 日 (一) 至 1月 31 日 (三)
時間:08:00 ~ 17:00
事由:『電資學院視訊會議整合系統工程』施工工程提早完工,教室提前開放。
施工造成不便,敬請見諒。系辦公室 敬啟
--
這下離散要到別的奇怪教室去考了 XD。
Labels: NTUCSIE
2007/01/16
Instruction Formats
暫定為五種,長度 1 ~ 4 bytes 不等,opcode 也暫時定好了。實體的 layout 其實只有兩種,長度不一是因為有些指令不需要某些欄位而可省略。因為指令集設計上的先天條件,五種 formats 裡面三個有 4-bit bubble,不過算可以接受了,因為這些指令先天就卡不到 byte boundary。接下來就試著設計 architecture,進一步確定這些 formats 不會造成設計上的困擾。
--
「接下來」是以後的事,星期三是高微日 XD。
Labels: TOY86
還是太刺激了
晚上考線性代數,和期中考一樣,全憑實力上場 :P。整份題目寫下來,覺得這種「老師、考試分離」的修課方式還是能免則免,當然一方面的因素是我沒時間好好消化 Friedberg XD。學期後半段,兩位老師的著重點就不太一樣了:Prof. Strang 著重各種應用,所以課堂上出現 FFT、影像壓縮、線性微分方程、Markov 矩陣等題材,而顏老走的是理論那一邊,看來是講了不少與 diagonalization 理論相關的東西。
覺得似乎還是去修數學系的線性代數比較妥當 :P。不過除了線性代數以外,想修的數學系、哲學系課程有:代數導論、複變函數論、實變函數論、基本邏輯、知識論、形上學,另外也不排除修常微分方程導論、西洋哲學史等等,這還不包括其他有趣的選修課程。怎麼有點修不完的感覺 XD。
--
高微是得拚命的期末考科目 XD。
Labels: NTUCSIE
As a Profession
上了大學之後,準備大部分考試(也就是說還是有例外 XD)的感覺好像從高中慢慢回到小學,不需要考前死拚活拚把所有東西硬背起來應付考試。一方面可能真的考得比較簡單 :P,但感覺上我也修練成某種「基本內功」(cf. 數學內功),使我面對任何科目時不至於太茫然。仔細思量,我猜測或許是因為我把這些東西視為 "profession" 而不僅是 "interest" 的緣故。這兩種態度很有差別:我對音樂很有興趣但不視為志業(這是一個滿貼切的譯詞,「職業」予人一種煩瑣常務之感 :P),因此我不會對音樂非常認真,也就不太可能在音樂上有什麼成就。所以「志業」和「興趣」間又是種不對稱關係:有興趣不一定是志業,但成了志業不太可能沒有興趣。(當然,我可以直接寫「志業 ==> 興趣」,不過這裡用哲學文章的方法寫比較不突兀 XD。)
--
結論:只有興趣是不夠的,you have to take it really seriously。
2007/01/15
PB 一週年
不是日期上的一週年,而是「節日」的一週年 ─ 此處的「節日」是期末考週第一天 XD。一年來 PB 真的幫助很大,出門在外不用說,在宿舍和 PC 與眾周邊無隙地合作時,更是 "powerful" :P。
--
I am completely satisfied :).
學期大事
公告本中心鋼琴登記使用事項。
公告事項:
一、登記地點:第二學生活動中心三樓辦公室。
二、登記時間:二月二十七日起上午八時十五分至十五時(假日除外),以先後順序登記,選取每週固定四小時彈練時間,額滿為止。
三、彈練時間:每週一至週五八時至廿二時,週六、週日八時至十七時。
四、使用費用:三月至六月計四個月,每月壹佰元,計新台幣肆佰元整,登記後費用一次繳清。
五、日後憑證使用。
96.1.9
--
這學期改成在二活登記了,應該不是二活的破鋼琴吧 XD。
2007/01/14
The Decidables and Undecidables
稍微整理一下 Sipser 第四章 "Decidability" 和第五章 "Reducibility" 本文內的問題 XD。
Decidable problems
- ADFA ─ 給定的 DFA 是否接受給定字串(p.168):用 TM 模擬之。
- ANFA ─ 給定的 NFA 是否接受給定字串(p.169):先把 NFA 轉換為 DFA,然後交給判別 ADFA 的 TM 判別。
- AREX ─ 給定字串是否匹配給定的 regex(p.170):把 regex 轉換為 NFA,然後交給判別 ANFA 的 TM 判別。
- EDFA ─ 給定 DFA 所辨識的語言是否為空(p.170):對 DFA 的 states 做 BFS。
- EQDFA ─ 給定的兩部 DFAs 所辨識的語言是否相同(p.171):建一部 DFA 辨識「兩部給定 DFAs 所辨識語言」的 symmetric difference,然後用判別 EDFA 的 TM 判別之。
- ACFG ─ 給定 CFG 是否能產生給定字串(p.172):將 CFG 轉換為 Chomsky normal form,令給定字串為 w,看「經 2|w| - 1 次代換而得的字串」裡面是否有 w。
- ECFG ─ 給定 CFG 所產生的語言是否為空(p.173):判定任意變數是否可能導出字串 ─ 將 terminal symbols 標上記號,接著只要有某條規則的右側所有 symbols 都有記號,就把該條規則左側的變數標上記號,情勢不再變動後看 S 是否有記號。
- Context-free languages(p.174):既為 context-free language,就可找到某個 CFG 產生之,如此便落在 ACFG 的勢力範圍內。
- ALBA ─ 給定 LBA 是否接受給定字串(p.198):直接模擬之,因為 LBA 的 configurations 有窮,故超過總共組數即可判定為 looping。
Undecidable problems
- ATM ─ 給定 TM 是否接受給定字串(p.176):用 Cantor 偉大的對角線論證法。Remark:ATM 為 Turing-recognizable。
- ATM ─ 給定 TM 是否不接受給定字串(not Turing-recognizable;p.184):若 ATM 為 Turing-recognizable,則 ATM 同時為 Turing-recognizable 和 co-Turing-recognizable,而得到 ATM 為 decidable。
- HALTTM ─ 給定 TM 接收給定字串為輸入時是否停機(p.192):by reduction from ATM ─ 先用判別 HALTTM 的 TM 測試是否會 loop,不會 loop 再直接模擬之。
- ETM ─ 給定 TM 所辨識的語言是否為空(p.193):by reduction from ATM ─ 修改給定 TM,使之拒絕給定字串以外的所有字串,然後交給判別 ETM 的 TM 判別。
- REGULARTM ─ 給定 TM 所辨識的語言是否為 regular(p.195):by reduction from ATM ─ 造一部 TM 接受 0^n1^n 形式之字串,除此之外,若給定 TM 接受給定字串,則接受「其他形式不為 0^n1^n 的字串」,最後將此 TM 交給判別 REGULARTM 的 TM。
- EQTM ─ 兩部給定 TM 所辨識的語言相同(p.196):by reduction from ETM ─ 造一部「所辨識語言為空」的 TM,然後和給定 TM 一起交給判別 EQTM 的 TM。
- ELBA ─ 給定 LBA 所辨識的語言是否為空(p.199):by reduction from ATM ─ 造一部 LBA 接受「給定 TM 接受給定字串」的計算歷程(computation history)字串,然後交給判別 ELBA 的 TM。
- ALLCFG ─ 給定 CFG 是否產生 \Sigma*(p.201):by reduction from ATM ─ 設計一個 CFG 產生所有字串,除了「給定 TM 接受給定字串」的計算歷程以外,然後將此 CFG 交予判別 ALLCFG 的 TM 判別。
- EQCFG ─ 兩個給定 CFGs 產生的語言是否相同(p.174):by reduction from ALLCFG ─ 造一個 CFG 產生 \Sigma*,然後判別給定 CFG 所產生的語言是否和適才的 CFG 相同。
- PCP ─ the post correspondence problem(p.203):造一堆 dominos,加以拼湊可產生「給定 TM 接受給定字串」的計算歷程(「給定 TM 接受給定字串」iff「可由這堆 dominos 拼湊出 accepting 的計算歷程」)。細節參見 p.204 ~ p.209 XD。
--
然後就到 complexity theory 了。後半學期實在有點偏離課名「自動機與形式語言」 XD。
想一想,似乎也不算太偏 XD。
Labels: NTUCSIE
- yen3 在 1/15/2007 6:34 am 說:
-
插個話...留言只剩我一個是怎麼樣XD
- Josh Ko 在 1/15/2007 6:45 am 說:
-
你現在才發現 XD。
--
這樣就兩個了 XD。 - yen3 在 1/15/2007 12:37 pm 說:
-
不是才發現,而是太久都沒有人回了,不想說啊XD
2007/01/13
- yen3 在 1/14/2007 5:21 am 說:
-
高三的我們都很單純快樂
也有那單純的笑容 - Fall 在 1/15/2007 12:53 pm 說:
-
我想說:
「柯向上好帥!XD」
--
光速逃~
2007/01/12
期末排程
先排一排,免得下週六突然發現高微念不完 XD。
- 1/12(五):離散數學 HW11 & 12。
- 1/13(六):高等微積分。
- 1/14(日):高等微積分、自動機與形式語言。
- 1/15(一):自動機與形式語言、線性代數;19:00【自動機與形式語言】。
- 1/16(二):線性代數;13:20【軍訓】、19:00【線性代數】。
- 1/17(三):高等微積分。
- 1/18(四):高等微積分、資料結構與演算法。
- 1/19(五):高等微積分、資料結構與演算法;19:00【資料結構與演算法】。
- 1/20(六):高等微積分。
- 1/21(日):TOY86 architecture;9:00【高等微積分】。
- 1/22(一):TOY86 architecture。
- 1/23(二):TOY86 architecture、離散數學。
- 1/24(三):TOY86 architecture、離散數學;18:00【離散數學】。
- 1/25(四)~ 1/30(二):TOY86 simulator & complete doc。
其中一定會有讀煩的時候,那就是讀 TOY86 參考資料及構思 TOY86 architecture 的好時機 :P。1/21 ~ 1/24 是 TOY86 的主要設計階段,所有設計(incl. rough doc)必須在 1/24 號完工,接著一個星期實作 simulator 並補完 doc,assembler 則交給白夜 :P。
--
高微分得六個 sessions XD。
Labels: NTUCSIE
課程結束
今天三科分別以不同方式劃下句點:公民教育是小考、金次高微是做習題、離散數學最後剩不少時間,老師分享了一些人生經驗。賴顯英老師在人格上帶給我的影響沒那麼大,所以感觸不非常深 :P;金次下學期還會見面,所以還不需面對離別之愁;陳健輝老師就很特殊了,雖然離散數學這一門科目上並不能說學到很多,老師所分享的人生經驗和感觸也因為和其他老師有所重疊而沒那麼特出,但我還是對這位老師有種親切感,或許是因為他能夠叫出我的名字的緣故?XD 我會記得這位老師的。
--
整學期累積數 G 的筆記和錄音檔 XD。
2007/01/09
2007/01/08
Sweet Sorrow
這學期 cyy 是第一個告別的老師。課堂最後,cyy 展示他們在圖學上的研究,的確滿炫,但應該不會成為我的目標 :P。On the other hand,選修一門(cyy 的)圖學導論倒是不錯的主意。
cyy 推薦寒假必讀的兩本書:《世界是平的》、《網路巨變元年》。簡介過程中,cyy 舉 CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) 為例,說 D.E. Knuth 面對此問題會說 "let's design an algorithm to solve it",然後設計新語言新工具再寫幾本書,等到 2020 年才開始解這個問題 XD。As a joke,這很好笑 XD。不過嚴肅看待的話,我不認為這樣有什麼不好。知識的領域如此廣泛,任何人在任何方向上有所貢獻,都是好事,即使是偏離軌道所導致 :P。
有些人必須推動當前時代,也有些人必須致力於長遠目標,兩種人都不可或缺。I prefer the latter :P. 雖然一些最深邃的問題,我不可能來得及看到答案。能在幾十年內獲得滿意答案的問題,都是相對簡單的問題。
--
總體衡量下來,我給 cyy 最高評價 :P。
2007/01/04
Final Project 閱讀清單
以下是必讀,如果有空當然可以多讀 XD。
- Bryant, R. E., and O’Hallaron, D. R. Computer Systems: A Programmer's Perspective. Prentice Hall, 2002. ─ Chapter 4: Processor Architecture(cyy 提供)。
- Forsman, F., and Landauer, D. Macintosh C/C++ ABI Standard Specification. ─ 大略看看。
- Hoxey, S., Karim, F., Hay, B., and Warren, H. The PowerPC Compiler Writer’s Guide. ─ Chapter 1: Introduction、Chapter 2: Overview of the PowerPC Architecture、Appendix A: ABI Considerations。
- Irvine K. R. Assembly Language for Intel-Based Computers, 4th edition. Prentice Hall, 2002. ─ Chapter 3: Assembly Langauge Fundamentals、Chapter 4: Data Transfers, Addressing, and Arithmetic、Chapter 5: Procedures、Chapter 6: Conditional Processing、Chapter 8: Advanced Procedures(事實上差不多都看過了 XD)。
- Patterson, D. A., and Hennessy, J. L. Computer Organization and Design: the Hardware/Software Interface, 3rd edition. Morgan Kaufmann, 2004. ─ Chapter 5: The Processor: Datapath and Control、Chapter 6: Enhancing Performance with Pipelining、Appendix B: The Basics of Logic Design、Appendix C: Mapping Control to Hardware。
- Intel® 64 and IA-32 Architectures Software Developer’s Manuals. ─ Volume 2A, Chapter 2: Instruction format。
- PowerPC™ Microprocessor Family: the Programming Environments for 32-Bit Microprocessors. ─ Chapter 4: Addressing Modes and Instruction Set Summary、Chapter 8: Instruction Set。
Deadline: 1/14. 接著那個星期,一邊期末考一邊把整部 TOY86 兜出來,再下個星期就把 doc & GUI simulator 兜出來 XD。GUI simulator 除了模擬實體介面以外,也希望有 architecture level 的模擬。
--
時間緊迫啦 XD。
Labels: TOY86
2007/01/03
- 在 1/03/2007 1:45 pm 說:
-
你不是都翹掉他的課?XD
- Josh Ko 在 1/03/2007 2:06 pm 說:
-
那是線性代數 XD。
- 在 1/04/2007 2:36 pm 說:
-
關門哪有放狗= =
話說這種情形我還遇到不少次... - 在 1/04/2007 4:39 pm 說:
-
沒想到Josh會翹課阿..
cyy 寄信來
It just occurs to me that you can probably read chap 4 of CSAPP book if you want to have more understanding on how to design a more modern CPU. I have put a copy of this chapter at
http://...
It could be a little deviated from TOY's design, but could give you more insights on CPU design.
Yung-Yu
現在是該停一下腳步的時候,先把參考資料讀一讀再上路,in particular 白算盤第五章和 CSAPP chap 4 :P。
--
好感動,不做個 pipelining 怎麼行 XD。
2007/01/02
2.6 ExtTOY 的缺憾
ExtTOY doc 的最後一段如下 XD:
ExtTOY 最大的缺點就是(擴充的)組合語言指令並未適當對應至底層的機器碼,例如
push [RB + 2]
這樣一個看似單純的指令,實際上產出的機器碼竟然需要 6 個 instructions,這使得產出的機器碼長度和組合語言程式的長度不甚相稱,無法在組合語言層級反映出「instruction count 大幅上升」的事實,對於 assembly programmer 有點欺騙意味。這個問題在河內塔示例中清楚顯現:組合語言層級看似有效的指令僅約 30 個,但產出的機器碼長度卻達到 100 個指令。不過 stack 和 procedure operations 又是相當重要的操作,的確應該提供,因此最佳的解決方案是把這些功能設計到硬體架構上,直接從硬體層級支援。這就是設計 TOY86 的動機。另外,ExtTOY 的規定有點太過嚴格(尤其在 procedure 內),這可能抹殺一些重要的用途,例如 pointer to function。TOY86 Assembly 設計時將盡量使所有合理行為都能不費力地完成(當然以不妨礙上段所提的相稱感為前提),其中「能實作 C/C++ 所支援的特性」(*1) 會是主要的參考因素。
(*1) 我們曾考慮是否要為 TOY86 實作一部簡單的 C compiler(只選擇 C 容易實作的子集),但一來時間緊迫,二來這主要是 compiler 方面的技術,和主題相距太遠,因而作罷。
--
再來就開始設計 TOY86 architecture 了 XD。
Labels: TOY86
2007/01/01
ExtTOY Linker
(Multi-file) linker 也終於完成了,自己稍微測試一下似乎沒問題,有興趣者請幫忙測試,一樣有三個平台的版本 XD。Linker 比想像中複雜,硬湊的結果就是 code 非常醜,醜到不敢見人了 XD。以後有時間再重構一下 XD。
--
建議只餵合法的 obj 喔!XD
Labels: TOY86
你會了再來幫我改
加油,期待新功能啦
<< 回到頁首