精華區beta Programming 關於我們 聯絡資訊
> ==>發信人: ghost.bbs@bbs.sayya.org (ghost), 信區: programming > ※ 引述《GOLDMEMBER.bbs@bbs.cs.nctu.edu.tw (㊣牛鶴鰻毛人)》之銘言: > > ※ 引述《gsj.bbs@bbs.nchu.edu.tw (國王的新衣)》之銘言: > > > 問題是在目今的教育體系下 > > > 光是懂結構就是一件很困難的事 > > > 尤其是還有一堆爛書還在那裡說電腦的五大結構 > > 那是叫「五大部門」,鬼才跟你「五大結構」 > 應該不是我吧... XD > > > 教材的基本觀念都錯了,還能期待能教出什麼學生來 > 最好 gsj 用的電腦, > 都不是 Intel, AMD, ASUS, Gigabyte 這類公司的設計工程師弄出來的. > 不然 gsj 也來搞個 gsj 級 Super computer 證明一下嘛. > 光會掩耳盜鈴話虎爛. INTEL 公司是在 Fairchild Semiconductor 執行 High Level Language Hardware Machine 研發計劃之後, 才因研究群解體而冒出來的. 而五大 組成方塊: Input, Output, Memory, Contrl, ALU&R 則是傳統大型主機 (尤其是 IBM 系統)的說法, 而積體電路(Integrated Circuit)一詞也不 是專指今天的以 Pure Silicon 為基座的 CMOS 單體電路, 從控制單元 到其他四個單元之間都是一堆連接線, 把控制單元與 ALU&R 做成同一個 方塊透過 BUS 銜接其他組成方塊的最早機器, 應該是 DEC 的 PDP 這種 Minicomputer 架構, 而 Intel 的微處理機(u-processor)則是將 CPU (Memory, Control, ALU&R) 全 CMOS 化透過 BUS 連線拆分為 Memory 與 Processor 兩大組成方塊. Fairchild 高階語言硬體機器之後的電腦, 在指令方面就是多了複雜資 料結構的硬體支援, 最明顯的就是 push/pop stack , call/return , 比較不明顯的就是 I/O Channel(或 IOP) 變成 DMA 的 FIFO Block Move 與後來的浮點計算 FPU , 記憶體管理的 MMU ..... 受硬體改變最大的當然會是組合語言與高階語言的編譯器與 supporting library, 但這三者(硬體, 組語, 編譯/解譯器)其實是相互 影響的, 但對高階語言的使用者言則是希望使之不受設計更動的影響, 所以一般使用者就是在抽象方塊上概略的(模糊的)學習. 這個抽象概略 的方塊就產生兩種面向, 一方是講如何跟高階化的硬體有效率地對映, 另一方則是往更好用更抽象的擬人語言描述移動, 但這兩個面向並非矛 盾對立的. 如果把作業系統當成一種大型的應用軟體, OS 就會像是顧及硬體 利用效率又兼顧方便使用的人機介面的解譯器(Interpreter), 只是 OS 以支援各種高階語言編譯器與 library 的形式讓使用者對硬體(可 以是跨網路的遠程服務機器或跨硬體的 Cross Compiling 的 Load & GO 系統研發). 效率化的軟體演算法會靠近與結合硬體, 易用化的抽象敘述會展現 在程式語言的涵義功能及其解譯/編譯器的實現上, 為的是易於完成堪 用軟體的自動化利用, 但這兩者卻是相關與相互影響的, 一旦極端化( 如 CISC 架構概念受 RISC 挑戰, 現在則又再度受耗電, 輕薄短小可行 動挑戰)就會引發不同的論爭而改進. 今天的資訊系統已經像個大型的都會城市的構建與重建改建問題, 軟體工程也遠超過蓋獨立大樓這樣的比喻, 早就是無法脫離像都市規劃 這樣的大系統性分析的考量, 就像在北高兩市建捷運系統, 如果沒有團 隊, 紀律, 工序與方法, 建設的捷運就會一天到晚連累其他建物倒蹋. Programming 裡的程式語言工具本身, 如語言, 編譯/解譯器設計 應該是另一種專業, 其重要性不亞於 processor 本身的設計, 而這種 專業就得兼顧對硬體的有效對映與使用者設計程式的方便易用性. 現代支援營造工程的工具可以看見: 灌漿的預製水泥車, 起重機調 車, 怪手, 沙石與鋼筋鋼架大卡車等等工具. 而製作器物的效率明顯來 自工具, 而背後則是設計規劃與團隊. 大型建物造好後, 內部的塗裝擺 飾固然是泥水匠, 電匠, 裝簧師的機會但套裝預製會越來越多, 程式規 劃會類似的從工具上組合出團隊. -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234