iT邦幫忙

1

請教關於一個腦動大開的問題-為何機器語言不能改成高階語言

  • 分享至 

  • xImage

現今的科技發展到了AI
使用的最基本還是以機器語言低階為基底01
為何不能克服改為讓機器直接能讀懂高階語言
現在還是需要透過組譯程式翻譯
如果可以簡化這些步驟不會使效率提升嗎
是有甚麼導致原因無法實現

關於一個資訊小白的提問 請前輩指點

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2023-07-12 14:45:53 檢舉
你現在打出來的字,電腦儲存還是01的組合而已啊。
數位邏輯和計算機概論去理解一下...
mathewkl iT邦高手 1 級 ‧ 2023-07-12 14:46:08 檢舉
CPU只知道指令集和microcode,直接餵高階語言是看不懂的
ZongXianLi iT邦研究生 5 級 ‧ 2023-07-12 15:45:55 檢舉
這個問題很簡單 你跟人溝通有辦法 用0 1 去溝通嗎?
好熊寶 iT邦新手 3 級 ‧ 2023-07-12 16:21:24 檢舉
電腦要能直接讀懂高階語言可能要等1000年了吧?
人類大腦的記憶存在哪都不知道了,如何存於機器中
因為電腦是很笨的。它只知道開與關。ABCDE啥的它是不懂的。
乾脆問 機器語言為什麼不能 NO CODE 好了
菩薩慈悲:這其實就像地球沒有儀也沒有圖更沒有國界,都是人畫出來的。
登高必自卑,行遠必自邇。民為貴,社稷次之,君為輕。民為邦本,本固邦寧。大道至簡,生佛不二,分別執著,具縛凡夫。感恩感恩 讚歎讚歎 南無阿彌陀佛
https://ctext.org/library.pl?if=gb&file=98093&page=883#%E8%87%AA%E9%82%87

https://ctext.org/library.pl?if=gb&file=103942&page=1018#%E5%90%9B%E7%82%BA%E8%BC%95

https://ctext.org/library.pl?if=gb&file=77326&page=95#%E6%B0%91%E6%83%9F%E9%82%A6%E6%9C%AC

https://ctext.org/library.pl?if=gb&file=98089&page=102#%E9%82%A6%E6%9C%AC
whitefloor iT邦研究生 2 級 ‧ 2023-07-13 14:45:16 檢舉
因為你沒看計概
Pi iT邦新手 5 級 ‧ 2023-07-19 14:07:15 檢舉
同學可以去看一下計概XDD
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2

當你享受智能住宅時
誰來扛磚挑水泥

4
黃彥儒
iT邦高手 1 級 ‧ 2023-07-12 15:28:39

你現在在腦袋裡面的想法也不是高階語言阿,也只是神經元的結構與狀態而已

1
望空
iT邦新手 1 級 ‧ 2023-07-12 15:55:45

開關除了開跟關,有其他狀態嗎?

黃彥儒 iT邦高手 1 級 ‧ 2023-07-19 12:05:56 檢舉

沒關好,要關不關的狀態,尤其是當開關太小的時候

6
海綿寶寶
iT邦大神 1 級 ‧ 2023-07-12 16:03:00

chatGPT 和神奇海螺一樣
有問必答

科技的发展确实取得了显著的进展,包括人工智能(AI)。虽然机器语言是计算机的底层基础,但为何不能直接让机器理解高级语言并克服这个限制呢?以下是一些原因:

1. **语义理解的复杂性:** 高级语言(如Python、Java等)的语法和语义更加复杂。理解和解释高级语言的含义需要更复杂的算法和推理能力。尽管人类可以轻松地理解高级语言,但要让机器像人类一样理解高级语言是一项非常复杂的任务。

2. **多样性和变化性:** 高级语言具有丰富的语法结构和功能。每种高级语言都有自己的语法规则和语义定义。不同的高级语言之间存在差异,而且它们也会不断演变和更新。将所有高级语言的语法和语义纳入机器的理解范畴是一项庞大而复杂的工作。

3. **抽象层级:** 高级语言为开发人员提供了抽象的概念和功能,使得编程更加简化和可读性更强。然而,这些抽象是建立在底层机器语言的基础之上的。机器需要将高级语言转换为底层机器语言,以便能够执行实际的计算和操作。

虽然直接让机器读懂高级语言可能会带来一些优势,但也存在一些挑战和限制。研究人员一直在努力改进编程工具和技术,使得编程更加容易和高效,但要完全消除中间步骤可能是一个复杂的任务。

同时,即使在当前情况下,编程工具和编译器已经相当高效,并且能够处理大规模的代码库。现代的编译器和解释器也进行了许多优化,以提高执行效率和性能。

总而言之,让机器直接理解高级语言是一个复杂且具有挑战性的任务,目前仍需要依赖编译器和解释器将高级语言转换为机器语言。然而,科技的发展不断推动编程工具和技术的改进,以使编程更加容易、高效和智能化。
e950280 iT邦新手 4 級 ‧ 2023-07-19 09:01:50 檢舉

有問必答 但不一定正確 這樣嗎XDDDD

0
尼克
iT邦大師 1 級 ‧ 2023-07-12 17:07:35

機器語言
機器語言是用二進位代碼表示的、電腦能直接辨識和執行的一種機器指令的集合。它是電腦的設計者通過電腦的硬體結構賦予電腦的操作功能。機器語言具有靈活、直接執行和速度快等特點。不同種類的電腦其機器語言是不相容的,按某種電腦的機器指令編制的程式不能在另一種電腦上執行。

要用機器語言編寫程式,編程人員需首先熟記所用電腦的全部指令代碼和代碼的涵義。手編程式時,程式設計師要自己處理每條指令和每一資料的儲存分配和輸入輸出,還需記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作,編寫程式花費的時間往往是實際執行時間的幾十倍或幾百倍。而且,這樣編寫出的程式完全是0與1的指令代碼,可讀性差且容易出錯。在現今,除了電腦生產廠家的專業人員外,絕大多數程式設計師已經不再學習機器語言。

1
Oo_花之舞__oO
iT邦新手 1 級 ‧ 2023-07-13 08:24:04

腦洞

要動腦

不是腦動

0
deast
iT邦新手 5 級 ‧ 2023-07-13 10:55:14

不是不能,而是实力不允许/images/emoticon/emoticon16.gif

0
Albert
iT邦新手 5 級 ‧ 2023-07-13 14:35:48

電路目前只有開跟關來表示
此表示法為二進制
其實也是因為人類目前科技能力限制
對於人類來說解讀也相對輕鬆
所以電腦為什麼會有32位元跟64位元
就是32條線跟64條線的差異
而1跟0
造就了2^32與2^64種結果

1
鬼王很慘
iT邦新手 2 級 ‧ 2023-07-14 20:27:35

打個比方
今天你要跟一個美國人溝通
因為他不會中文,所以每次都必須透過口譯人員傳達
如果叫那位美國人學中文不就可以直接跟他對話了嗎

這是建立在他是人類,能學習語言這個條件之上
如果今天對象換成貓貓狗狗
你就無法要求牠學習中文
是你要去理解並配合動物的表達方式

現在情境換作程式
軟體是基於硬體之上的
計算機最根本即是電子電路
0表示低電位,1表示高電位
二進位特別適合表達開關狀態
所以之後的發展都是這樣設計的


其實我覺得腦洞OK啦
像小朋友很常天馬行空,往往有跳脫框架的靈感
隨著理解變多,思想反而僵化,會覺得不就是這樣嗎?
但誰說不能換個角度想呢?

不過想法是一回事,實踐又是另一回事了...
電動車不是什麼嶄新的想法
但讓它量產的Tesla就厲害了
也就是業界常說的從0到1的過程
大家一起把不可能變成可能吧(什麼結論

2
cykao
iT邦見習生 ‧ 2023-07-16 10:37:53

如果你有辦法把高階語言的編譯器給IC電路化,且達成「總體效率比現有模式高,以及總體成本比現有模式低」,那就可以。

舉個例子吧:Java Virtual Machine已經有人嘗試過晶片化,但最後還是沒市場;連低階的Java bytecode語言晶片化都沒當初所預想的成功,當然更不會有人投資嘗試讓Java晶片化了。

"...如果可以簡化這些步驟不會使效率提升嗎..."

這問題其實才是大哉問,也是當初想讓Java bytecode語言晶片化的人直觀的假設,但問題往往就是在開始實作後一個接一個發生,最終推翻了當初天真直觀的假設。

如果真有興趣想了解當時發生了什麼問題,不妨去google或chatGPT "Java processor"的歷史,也許會有助於你修正當初過於天真直觀的假設;或者如果你夠聰慧,能看出當時問題的癥結並提出解決方案,然後再說服政府或投資人砸錢贊助你研發晶片,那搞不好你就會成為新一代Java Processor之父也說不定,嘿嘿~

Pi iT邦新手 5 級 ‧ 2023-07-19 14:06:13 檢舉

原來還有這段歷史

0
asqweff11
iT邦新手 4 級 ‧ 2023-07-28 13:48:25

我也想過這個問題, 因為ic內部都是電晶體組成, 所以狀態只有開和關, 但電腦領域發展這麼多年, 沒有辦法做出新版電晶體元件嗎, 類似判斷0v~2v是0, 2v~4v是1, 4v~6v是2之類的, 從2進制變3進制電腦就能有大幅度效能提升

順帶一提, 之前聽說量子電腦不就是多了個0和1的中間狀態, 變成類似3進制, 但除了運用量子技術, 沒辦法光靠電壓判斷就多幾個狀態嗎

我要發表回答

立即登入回答