2010年5月5日 星期三

架構思維

任何的系統(電子產品)一定會有一個執行code的地方(cpu mcu),而code是怎麼來的,通常是燒在ROM裡(flash rom 或 EEPROM ...),系統一上電後會去那裡取code執行,但這不是必然的作法,原因是rom速度很慢,因此有些硬體設計會直接將rom remap到ram裡頭然後再去取code執行;即使是第一種作法也一樣很快作搬移動作(搬到ram裡頭,並跳到ram執行)。像早期8051或較低階的處理器,通常不會須要用到ram,而且其內部都已經整合少量的rom和sram來執行code;為何不需要用到dram,原因是該低階產品本身可定址空間不大,且能作的應用相對有限,且其速度慢更不需要整合dram來處理,更何況要增加dram,還必須整合進一個dram controller,成本及需求甚至是此種硬體的極限,都不太可能整合進dram;總體來說這種處理器就是用於單一簡單應用上的解決方案。


因此我從此刻起將焦點集中在32、64bits的處理器上。我認為現在這類處理器技術已經相當成熟,該整合的功能如mpu+dsp或多核+mpu,多功能整合控制器、mmu功能....;再再都使這些產品往實賤多功能系統前進。所謂多功能係統是指提供多種應用於一体的軟硬體整合。因此學習linux已經是刻不容緩的時候;從32bit處理器來說明架構非常的適合;因此以下描述這類SOC和OS之間如何能齊頭並進。


在此要有一個觀念,在職涯生命裡,能接觸到的形形色色硬體會很多。但是實作觀念都是一樣的。C和組合語言目前來看應該很難會被其他方案所取代。努力的貼進主流市場;硬體:X86、ARM、MIPS。軟體:C、Assembly。

沒有留言:

張貼留言