處理器、指令集和彙編語言【轉】

来源:https://www.cnblogs.com/linhaostudy/archive/2018/05/30/9112980.html
-Advertisement-
Play Games

1. 處理器架構和處理器指令集的關係式什麼? 2. 是否指令集決定了處理器的架構? 3. MIPS屬於處理器架構還是還是指令集的一種? 4. 彙編語言的種類和處理器架構的關係? 處理器架構就是處理器的硬體架構,稱為微架構。是一堆硬體電路,去實現指令集所規定的操作運算。 是的,指令集決定了處理器的架構 ...


  1. 處理器架構和處理器指令集的關係式什麼?
  2. 是否指令集決定了處理器的架構?
  3. MIPS屬於處理器架構還是還是指令集的一種?
  4. 彙編語言的種類和處理器架構的關係?
  • 處理器架構就是處理器的硬體架構,稱為微架構。是一堆硬體電路,去實現指令集所規定的操作運算。
  • 是的,指令集決定了處理器的架構,因為處理器架構就是用硬體電路實現指令集。但是具體用什麼樣的處理器架構,設計怎樣的硬體電路,每個人設計的都可以不一樣。
  • MIPS是一種採取精簡指令集(RISC)的處理器架構,既有指令集,也有相應的處理器架構。大名鼎鼎的龍芯就是MIPS的。
  • 彙編語言是用人類看得懂的語言來描述指令集。否則指令集的機器碼都是一堆二進位數字,人類讀起來非常麻煩,但彙編是用類似人類語言的方式描述指令集,讀起來方便多了。

要設計處理器,首先就需要有指令集,規定處理器相應操作,通過指令集去控制處理器實現相應功能。但處理器是一堆硬體電路,只能識別二進位數據,所以指令集是由一堆二進位數據組成。而二進位數據對人類來說讀起來很麻煩。為了方便人類操作指令集,發明瞭彙編語言來描述指令集。彙編語言類似人類語言,讀起來方便多了。

雖然彙編語言讀起來方便了,但也有缺陷。首先彙編語言操作起來還是挺麻煩的。其次彙編語言對應一條條指令集,所以當指令集改變時,就得修改相應彙編語言,導致其可移植性很差,不能跨平臺使用,如ARM的彙編語言與Intel X86的就不同。這時人們就想開發一種更方便操作,超越指令集的語言,於是有了C,C++等高級語言。

但處理器只能識別二進位碼,那怎麼能識別高級語言呢?於是人們開發了編譯器,依照如下順序,將高級語言翻譯成二進位碼: 高級語言 彙編語言 二進位機器碼。至此,人類可以很方便的利用高級語言編寫程式,控制處理器完成相應功能。然後程式員這個紅火的職業就此大規模誕生了。

作者:young cc
鏈接:https://www.zhihu.com/question/23474438/answer/119887585
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。




您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 轉發請註明出處:https://home.cnblogs.com/u/zhiyong-ITNote/ 整個Demo是基於Controller-Service-Repository架構設計的,每一層之間是通過介面來實現解耦與調用的,參照了《ASP.NETMVC5框架揭秘》一書最後的網站示例架構,使用U ...
  • 路由跟URL 重寫的功能性略有不同。路由是將Request 找到對應的服務,而URL 重寫是為了推卸責任轉送Request。本篇將簡單介紹下ASP.NET Core的URL重寫(URL Rewrite)。 URL Rewrite 註冊 URL Rewriting Middleware需要Micros ...
  • 用ASP.NET Core 2.0 建立規範的 RESTful API -- 建立Richardson成熟度2級的DELETE, UPDATE, PATCH 和 Log。 之前一篇文章講了POST和GET。 ...
  • [1] Linux中 “shell終端” 和 “bash解釋器” 的區別 shell終端是通過基於系統調用介面開發出的程式,用來讓用戶與系統進行對話,管理計Linux系統。它是一個命令行工具,操作類似於Windows下的CMD工具。shell終端工具有很多,bash解釋器只是其中的一種,而且是主流L ...
  • 幫助命令 whatis 命令 #顯示命令的簡短功能 man 命令 #查看手冊頁和命令描述 命令--help #適用於外部命令 help 命令 #適用於內部命令 type 命令 #查看命令內嵌還是外部 文件管理 位置判斷 絕對路徑 :從/開始 相對路徑:以 . 或 .. 開始的 文件管理 touch/ ...
  • nux磁碟分區格式化及掛載 意義: 給linux 系統伺服器擴容, 加一塊硬碟 實驗環境: virtualBox虛擬軟體 + centos6.5 第一步: 添加硬體 硬碟 (我這裡用virtualBox模擬) 啟動 查看設備,找到新加的硬碟標識 fdisk -l 分區 fdisk /dev/sdb ...
  • 文件描述符我們常見的就是系統預留的0,1和2這三個,他們的意義分別有如下對應關係: 0 —— stdin(標準輸入) 1 —— stdout (標準輸出) 2 —— stderr (標準錯誤) 其中,shell編程里經常用到的就是描述符1,和描述符2。 如:ls命令執行的時候,在標準輸出 輸出了結果 ...
  • 一:Python介紹 python的創始人為吉多·範羅蘇姆(Guido van Rossum)(龜叔)。1989年的聖誕節期間,吉多·範羅蘇姆為了在阿姆斯特丹 打發時間,決心開發一個新的腳本解釋程式,作為ABC語言的一種繼承。於是便有了python。 Python可以應用於眾多領域,如:數據分析、組 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...