全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:9650
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [>>]

請問一下關於RISC的基本知識?

答題得分者是:syntax

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#32 引用回覆 回覆 發表時間:2007-12-02 11:11:38 IP:203.79.xxx.xxx 未訂閱
想請問一下您的英文好不好?

請直接去看原文的相關書籍吧!!

===================引 用 maxgto 文 章===================
請問一下

那這樣說的話risc的指令集可以算是machine code?

而你所指的compiler並非現今一顆cpu內部含有的?


而是設計程式平台的環境(C, Base, Pascal)提供的所以C, Base, Pascal在設計compiler的

大大們必須對於risc的cpu或是cisc的cpu結構上有一定的認知才能下手設計 <--猜測︿︿

------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
bernie_w39
資深會員


發表:3
回覆:199
積分:280
註冊:2007-10-07

發送簡訊給我
#33 引用回覆 回覆 發表時間:2007-12-02 11:19:31 IP:59.121.xxx.xxx 訂閱
你好奇怪, 才剛覺得你的用詞比較一般化了, 怎麼又退回去了, 是我給了你不對的引導嗎 :S

RISC 或 CISC 的指令集, 指的都是 machine code (機械碼) 層級的. machine code 與 assemble 有著
一對一的關係, 所以你如果講是 assemble, 應該也可以接受

"compiler 並非現今任何一顆 cpu 所含有的", 現今的 CPU, 幾乎都不含有 compiler (我不敢說 100%)
但是, compiler 應該是 "針對 CPU 的", 絕大多數的程式語言, C, Pascel, Basic... 它們的 compiler,
都會把 C, Pascal, Base 這些原始程式, 翻譯為 machine code, 而翻出來的 machine code, 就會針對
某一款 CPU. 像是 C, 它的 compiler 可以把原始程式翻成 x86, sparc, ppc, alpha, avr, 8051....
翻出來的 machine code, 大部份會針對某一款, 或是某一系列的 CPU.

但是 compiler 本身也是一堆程式碼, 由 CPU 去執行, 而不是 "內含" 於 CPU 的. 如果你熟 windows,
你可能聽過 Visual C, Visual .Net, Delphi.. 熟 linux, 可能聽過 gcc, 它們都是 compiler, 都是被
CPU 執行的程式, 它們的功能, 就是翻譯一堆原始程式 (文字檔), 變成 machie code (機械碼).
但是這些 compiler 都是程式, 對 CPU 來說, 它們和 word, firefox... 沒什麼不同.

compiler 也有一些步驟的, 像是語法分析, 語意分析, 最佳化, 程式碼產生. 針對 CPU 關係最重的,
是後兩個步驟. 不過, 我想不出不懂 CPU 結構的人(至少不懂暫存器, 定址模式, 指令集), 怎麼樣寫出
compiler.

題外話, compiler 也不是只有翻成 machine code 的才是 compiler. 像 javac 翻出來的 byte code,
就不屬於任何 CPU 的 machine code. 另外還有像 pascal 對 c 的 compiler, 它把 pascal 的程式,
翻譯成 c, 這種 compiler, 就不用弄懂 machine code.

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#34 引用回覆 回覆 發表時間:2007-12-02 11:22:21 IP:203.79.xxx.xxx 未訂閱
感覺上你根本沒有好好啃過一本書. 發問是基於自己的一些觀念, 且主觀性還蠻強的.

研究, 研究. 二年說實在無法令人對於某一科目或專長達到專精的地步.(特別是沒有實驗的研究)
研究二年主要是要培養"研究"的精神與能力! "大膽假設,小心求證" , 在碰到問題時能快速的找
到問題點, 並找出解決的辦法.


FYI.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#35 引用回覆 回覆 發表時間:2007-12-02 19:59:07 IP:60.249.xxx.xxx 未訂閱
啊。難道,我們現在的研究生都這個程度嗎?
還是只是個特例?
完全不同的事,可以把它放在一起討論。
果然,學術界的事情是要小題大做。
讓人永遠找不出答案,才能混一輩子。

-------------------------------------------------------------------------
繼續潛水,潛水,潛水。。。
maxgto
一般會員


發表:5
回覆:14
積分:3
註冊:2007-11-28

發送簡訊給我
#36 引用回覆 回覆 發表時間:2007-12-03 13:41:34 IP:210.240.xxx.xxx 訂閱
各位謝謝你們的指教 我想大家提供了我很多寶貴的意見

我決定先去拿書啃一下等哪天我開竅再來PO文

希望到時能讓大家更能接受我的問題在有效的交談下彼此得到收穫 謝謝

PS:
因為大家都給了我很好的回應但只能選擇一個所以先說聲抱歉


編輯記錄
maxgto 重新編輯於 2007-12-03 13:42:03, 註解 無‧
kib72377
高階會員


發表:1
回覆:217
積分:238
註冊:2004-11-12

發送簡訊給我
#37 引用回覆 回覆 發表時間:2007-12-03 21:10:34 IP:219.69.xxx.xxx 未訂閱
RISC:簡化ALU硬體線路,每個機械碼都對應一個精簡的微指令
CISC:強化硬體功能來減少程式碼的撰寫,一個機械碼對應一個以上的微指令
例: ADD [MEMORY1],[MEMORY2] 這種指令,在CISC或許很容易達成
但在RISC上卻可能要:
1. MOVE REG1,[MEMORY1]
2. MOVE REG2,[MEMORY2]
3. ADD REG1,REG2
4. MOVE [MEMORY1],REG1
要了解RISC,CISC發展緣由,其時空背景應是極重要的一環,
如果以現在的科技來看,你還會在乎它是RISC 還是CISC嗎?
(以上個人見解,有錯請指教)
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#38 引用回覆 回覆 發表時間:2007-12-04 09:34:28 IP:210.66.xxx.xxx 訂閱
What is a micro-instruction?

http://library.thinkquest.org/3114/microinstructions.html

想一想, 是不是可以定義自己的微指令,
然後進行邏輯推演, 兜出邏輯電路
這樣我們自己也可以做屬於自己CPU了?!

===================引 用 kib72377 文 章===================
RISC:簡化ALU硬體線路,每個機械碼都對應一個精簡的微指令
CISC:強化硬體功能來減少程式碼的撰寫,一個機械碼對應一個以上的微指令
例: ADD [MEMORY1],[MEMORY2] 這種指令,在CISC或許很容易達成
但在RISC上卻可能要:
1. MOVE REG1,[MEMORY1]
2. MOVE REG2,[MEMORY2]
3. ADD REG1,REG2
4. MOVE [MEMORY1],REG1
要了解RISC,CISC發展緣由,其時空背景應是極重要的一環,
如果以現在的科技來看,你還會在乎它是RISC 還是CISC嗎?
(以上個人見解,有錯請指教)
編輯記錄
jow 重新編輯於 2007-12-04 09:35:19, 註解 無‧

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#39 引用回覆 回覆 發表時間:2007-12-04 09:57:56 IP:59.125.xxx.xxx 未訂閱
自己做? 嗯~大型積體電路. 並無不可, 但可能要花很長的時間. 特別是只有一人時間會拉長很多倍.
compiler 也要自己寫. I/O 規格.電路自己設計. (軟硬軔要通吃)

p.s : 玩玩就好. 想要有商機, 十分不容易.

===================引 用 jow 文 章===================
What is a micro-instruction?

http://library.thinkquest.org/3114/microinstructions.html

想一想, 是不是可以定義自己的微指令,
然後進行邏輯推演, 兜出邏輯電路
這樣我們自己也可以做屬於自己CPU了?!

------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#40 引用回覆 回覆 發表時間:2007-12-04 10:27:52 IP:210.66.xxx.xxx 訂閱
嘿, 我也是這麼想
n百年前, 光是考幾個簡單的動作,就算了老半天
不記得那題拿幾分了
不過我很快就還給老師了
現在從事純軟的工作
這些也只能在記憶裡回味了......


附帶一提,
前些日子提到的那本68K組語找到了,
嘿, 旁邊還靠著一本6502組語, 有機會
拍個照片Po上來, 給大家瞻仰瞻仰.....

===================引 用 文 章===================
自己做? 嗯~大型積體電路. 並無不可, 但可能要花很長的時間. 特別是只有一人時間會拉長很多倍.
compiler 也要自己寫. I/O 規格.電路自己設計. (軟硬軔要通吃)

p.s : 玩玩就好. 想要有商機, 十分不容易.

===================引 用 jow 文 章===================
What is a micro-instruction?

http://library.thinkquest.org/3114/microinstructions.html

想一想, 是不是可以定義自己的微指令,
然後進行邏輯推演, 兜出邏輯電路
這樣我們自己也可以做屬於自己CPU了?!

編輯記錄
jow 重新編輯於 2007-12-04 10:33:53, 註解 無‧
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#41 引用回覆 回覆 發表時間:2007-12-04 13:28:22 IP:60.249.xxx.xxx 未訂閱
前兩天才在教小朋友。什麼叫補數。
資字相關科系的。大學都畢業了還搞不懂。
我跟他們說。因為計算機裏面沒有減法器。只有加法器。
經過 not 跟加法器。來做減法。
這才讓他們多年來。每次大考都會考一、兩題的補數,搞懂了。
不然,他們只知道考試會考,會背。不知道為什麼。
bernie_w39
資深會員


發表:3
回覆:199
積分:280
註冊:2007-10-07

發送簡訊給我
#42 引用回覆 回覆 發表時間:2007-12-04 17:41:23 IP:61.218.xxx.xxx 訂閱

嘿, 旁邊還靠著一本6502組語, 有機會
拍個照片Po上來, 給大家瞻仰瞻仰.....

--------------------------------------------------------

6502 的組合還很熱的耶, 怎麼會輪到瞻仰一詞呢 ^^
SUNPLUS 的 SPMC65 系列單晶片, 還是用 6502 的組語.
這顆在業界評界還滿高的.
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#43 引用回覆 回覆 發表時間:2007-12-04 18:20:13 IP:123.193.xxx.xxx 訂閱
書齡20幾年了,
站內說不定還有些小朋友還沒這個年紀...

===================引 用 bernie_w39 文 章===================

嘿, 旁邊還靠著一本6502組語, 有機會
拍個照片Po上來, 給大家瞻仰瞻仰.....

--------------------------------------------------------

6502 的組合還很熱的耶, 怎麼會輪到瞻仰一詞呢 ^^
SUNPLUS 的 SPMC65 系列單晶片, 還是用 6502 的組語.
這顆在業界評界還滿高的.
CoffeeX
中階會員


發表:18
回覆:121
積分:72
註冊:2005-02-18

發送簡訊給我
#44 引用回覆 回覆 發表時間:2008-04-06 23:33:17 IP:220.133.xxx.xxx 訂閱
各位大大有沒有推薦的計算機結構與組織的書呢?
小弟最近也改行寫韌體了,底子不太好...
m研究生是想知道code放在rom後,cpu怎麼去執行嗎?
就我最近學到的,linker中先規劃一程式進入點,放在CPU要執行的記憶體位置(in rom),在rom的code為".bin"所以你的說法有錯吧@@
是否先看向量中斷表呢?maybe...要問各位大大=.=
------
=.=???
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#45 引用回覆 回覆 發表時間:2008-04-07 08:30:25 IP:218.170.xxx.xxx 未訂閱
目標機是??
其實,如果你用 C 來寫,差不多啦.
要注意的是你的 link script 別寫錯了.
你的變數,一定要放在 ram 區.
不然,就變不了.
至於 .bin 還是 .text
要看你用的編譯器還有執行檔格式.
我都用 elf 格式.
link script 寫過一次就一直改它就好了.
code 放在 rom 中怎麼去執行?
最簡單的,每一顆 cpu 都會說由那個 address 跑起.把第一個 code 放到那邊去就可以了.
不過,通常,那邊是一個對應的向量表.
喔.對了,要"燒"進去碼之前,要用類似 objcopy 這種東西,把 reloacation table 去掉.

===================引 用 CoffeeX 文 章===================
各位大大有沒有推薦的計算機結構與組織的書呢?
小弟最近也改行寫韌體了,底子不太好...
m研究生是想知道code放在rom後,cpu怎麼去執行嗎?
就我最近學到的,linker中先規劃一程式進入點,放在CPU要執行的記憶體位置(in rom),在rom的code為".bin"所以你的說法有錯吧@@
是否先看向量中斷表呢?maybe...要問各位大大=.=
[<<] [1] [2] [>>]
系統時間:2024-04-27 13:27:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!