CISC和RISC的區別

CISC是什么

? ?CISC是一種指令集設計方式,全程叫復雜指令集,這種指令設計模式包含大量的復雜指令和復雜的尋址方式,

以下是CISC架構的一些主要特點:

  1. 豐富的指令集:CISC處理器通常包含大量的指令,這些指令覆蓋了廣泛的操作,包括算術運算、邏輯運算、數據傳輸、控制流等。

  2. 復雜的尋址模式:CISC架構支持多種尋址模式,如直接尋址、間接尋址、基址尋址、索引尋址、相對尋址等,這使得程序能夠以更緊湊的形式編寫,但也增加了硬件的復雜性。

  3. 指令流水線:為了提高性能,CISC處理器通常采用指令流水線技術,將指令的執行分解為多個階段,如取指、譯碼、執行、訪存和寫回等。

  4. 微碼控制:CISC處理器的指令執行通常由微碼控制,每條指令的執行都需要一系列的微指令序列。

  5. 硬件復雜性:由于指令集的復雜性,CISC處理器的硬件設計相對復雜,需要更多的晶體管和更大的芯片面積。

  6. 編譯器優化:CISC架構的編譯器需要能夠理解和優化大量的指令和尋址模式,這增加了編譯器的復雜性。

  7. 向后兼容性:CISC架構的處理器通常需要保持向后兼容性,這意味著新的處理器需要支持舊的指令集,這限制了架構的進化

CISC架構的代表處理器包括早期的x86處理器,如Intel的80286、80386等

RISC是什么

與CISC相應,這種指令集出現以后,很多人發現,里面的指令其實不需要那么多,大概只有百分之20的指令是會在日常生活中被使用到,因此,為了輕量化CISC,就產生了RISC,這種指令集被稱為精簡指令集,里面含有的更多是常用到的指令,大大減少了成本,并且提高了效率,但是也會造成部分功能缺少,RISC(精簡指令集計算機)架構的主要特點如下:
1. 簡化的指令集:RISC架構選取使用頻度較高的一些簡單指令以及一些很有用但又不復雜的指令,讓復雜指令的功能由頻度高的簡單指令的組合來實現
2. 指令長度固定,指令格式種類少:RISC架構的指令長度固定,指令格式種類少,尋址方式種類少,這簡化了指令解碼和執行過程
3. 寄存器操作:只有取數/存數指令訪問存儲器,其余指令的操作都在寄存器內完成,這減少了對內存的訪問頻率,從而提高性能
4. 多個通用寄存器:RISC架構中CPU有多個通用寄存器,這有助于減少內存訪問次數,提高數據處理效率
5. 流水線技術:RISC架構采用流水線技術,大部分指令在一個時鐘周期內完成。采用超標量和超流水線技術,可使每條指令的平均執行時間小于一個時鐘周期
6. 組合邏輯控制:控制器采用組合邏輯控制,不用微程序控制,這簡化了控制邏輯,提高了執行速度
7. 高效率:由于指令集簡單且執行時間固定,RISC處理器可以實現高效的指令流水線,提高指令執行速度。
8. 低功耗:RISC架構簡化了處理器的設計,減少了功耗,因此廣泛應用于移動設備和嵌入式系統中。
這些特點使得RISC架構在現代計算機系統中,尤其是在需要高效率和低功耗的應用場景中,如移動設備、嵌入式系統等領域,得到了廣泛的應用。

CISC和RISC的區別及應用場景

CISC的應用場景:
  1. 高性能計算:需要處理復雜計算和大量數據操作的場景,如服務器和高性能工作站。
  2. 向后兼容性要求高:需要運行大量遺留軟件的系統,如某些企業級應用。
  3. 高級語言編譯:CISC架構適合編譯高級語言,因為其復雜的指令集可以映射高級語言的復雜操作。
  4. 特定領域的應用:如圖形處理和信號處理,這些領域可能需要特定的復雜指令來加速計算。
RISC的應用場景:
  1. 移動設備:智能手機、平板電腦等,因為RISC架構的處理器通常具有較低的功耗和較高的性能/功耗比。
  2. 嵌入式系統:需要低功耗和高效率的嵌入式設備,如智能家居、汽車電子等。

總的來說,CISC和RISC各有優勢,選擇哪種架構取決于特定應用的性能需求、功耗限制和成本考量。隨著技術的發展,現代處理器設計中CISC和RISC的界限越來越模糊,許多現代處理器融合了兩者的特點,以適應不同的性能和效率需求。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/62402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/62402.shtml
英文地址,請注明出處:http://en.pswp.cn/web/62402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

20 設計模式之職責鏈模式(問題處理案例)

一、什么是職責鏈模式 職責鏈模式是一種行為型設計模式,它允許將請求沿著處理者的鏈進行傳遞,直到有一個處理者能夠處理它為止。換句話說,它將請求的發送者和接收者解耦,使得多個對象都有機會處理這個請求,從而避免了將…

linux基于systemd自啟守護進程 systemctl自定義服務傻瓜式教程

系統服務 書接上文: linux自啟任務詳解 演示系統:ubuntu 20.04 開發部署項目的時候常常有這樣的場景: 業務功能以后臺服務的形式提供,部署完成后可以隨著系統的重啟而自動啟動;服務異常掛掉后可以再次拉起 這個功能在ubuntu系統中通常由systemd提供 如果僅僅需要達成上述的場…

ros項目dual_arm_pick-place(moveit和gazebo聯合仿真)(一)

目錄 前言正文創建功能包具體代碼運行 總結 前言 dual_arm_pick-place項目中,實現了兩套的moveit和gazebo聯合仿真。 啟動文件分別是bringup_moveit.launch和arm_bringup_moveit.launch。 在這個項目中,我將代碼重新創建了一個包,co_simula…

MySQL 索引(B+樹)詳解

MySQL 索引(B樹)詳解 MySQL邏輯架構對比InnoDB與MyISAM存儲結構存儲空間可移植性、備份及恢復事務支持AUTO_INCREMENT表鎖差異全文索引表主鍵表的具體行數CRUD操作外鍵 sql優化簡介什么情況下進行sql優化sql語句執行過程sql優化就是優化索引 索引索引的優…

MySQL生產環境備份腳本

全量備份腳本,其中BakDir,ZlbakDir,LogFile需要自己創建 #!/bin/bash export LANGen_US.UTF-8# 指定備份目錄 BakDir/root/beifen/data/mysqlbak/data/allbak # 指定增量備份目錄 ZlbakDir/root/beifen/data/mysqlbak/data/zlbak # 備份日志…

HTTP multipart/form-data 請求

序言 最近在寫項目的過程中有一個需求是利用 HTTP 協議傳輸圖片和視頻,經過查詢方法相應的方法發現使用 multipart/form-data 的方式,這是最常見處理二進制文件的表單編碼類型。 ?學習了一下午,現在總結一下使用的方法和相關的知識點&#x…

Linux下redis環境的搭建

1.redis的下載 redis官網下載redis的linux壓縮包,官網地址:Redis下載 網盤鏈接: 通過網盤分享的文件:redis-5.0.4.tar.gz 鏈接: https://pan.baidu.com/s/1cz3ifYrDcHWZXmT1fNzBrQ?pwdehgj 提取碼: ehgj 2.redis安裝與配置 將包上傳到 /…

如何使用靜態IP代理?【詳細教程】

靜態IP地址是手動分配給設備或伺服器的固定不變的 IP。與動態 IP 地址不同,動態 IP 地址由 DHCP 伺服器自動分配,並且會隨時間而變化。??????? 如何獲取和設置靜態IP地址 一、檢查是否需要靜態IP? 在配置靜態 IP 之前,請…

監控組態軟件的構成與功能

監控組態軟件的構成包括系統開發環境、圖形界面系統、實時數據庫系統等。其功能包括數據采集與控制、人機交互界面、數據處理與存儲等。 監控組態軟件的構成: 系統開發環境:這是自動化工程設計工程師為實施其控制方案,在組態軟件的支持下進行…

Java 基礎之 XQuery:強大的 XML 查詢語言

一、什么是 XQuery XQuery 是一種函數式語言,專門用于檢索以 XML 格式存儲的信息。它負責從 XML 文檔中查找和提取元素及屬性,在網絡服務中有著廣泛的應用,比如提取信息、生成摘要報告、進行數據轉換等。 XQuery 是 W3C 設計的一種針對于 X…

day09性能測試(1)——純理論

document.querySelector(video).playbackRate 2.5 //可以寫任何數字 【沒有所謂的運氣🍬,只有絕對的努力?】 目錄 1、性能測試概念 2、功能測試 vs 性能測試 3、小結(習題) 4、性能測試的策略 4.1 基準測試 4.2 負載測試 …

docker-3.docker權限問題

docker權限,每次開機都要重新sudo 目錄 1.簡介2.解決辦法1:當前用戶添加到docker用戶組(這個方法還是缺權限??)3.解決辦法2:臨時更改Docker socket文件權限1.簡介 Ubuntu下Docker提示permission denied (權限不足)解決辦法 安裝docker后,執行docker ps命令時提示 perm…

easyExcel實現表頭批注

背景&#xff1a; 網上大部分都不能直接使用&#xff0c;為此總結一個方便入手且可用的工具&#xff0c;用自定義注解實現 依賴包&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>…

內部類和Object類

匿名對象 格式&#xff1a; 匿名對象只可以調用一次成員 &#xff1a; 1. 調用一次成員變量 &#xff1a; new 類名(實參).成員變量名&#xff1b; 2.調用一次成員方法&#xff1a; new 類名(實參).成員方法名(實參)&#xff1b; 匿名對象存在的必要&#xff1a;為了提高…

Python的3D可視化庫vedo 1-3 (visual模塊)網格對象的線和面、圖片的屬性

文章目錄 4 MeshVisual4.1 線條4.1.1 線寬和顏色4.1.2 線條渲染為管 4.2 曲面4.2.1 物體展示為實心或框架4.2.2 曲面插值4.2.3 面的剔除 4.3 紋理4.4 相機跟隨 5 ImageVisual5.1 圖片屬性5.1.1 占用內存大小5.1.2 顏色標量范圍 5.2 渲染屬性5.2.1 透明度5.2.2 亮度5.2.3 對比度…

19 設計模式之享元模式(電影院座位預定案例)

一、享元模式的定義 享元模式是一種結構型設計模式&#xff0c;它通過共享對象來支持大量細粒度的對象&#xff0c;減少內存消耗。享元模式的核心思想是&#xff1a;將對象分為共享部分和非共享部分&#xff0c;只有共享部分是被多個對象共享的&#xff0c;而非共享部分則是每個…

使用redis 的stream 做消息中間件 多線程消費消息

1.redis stream 特點 1.支持消息持久化 2.消費者組模式 3.消息確認機制 4. 消息重試機制 5. 死信隊列2. 消息生產者服務 2.1 如下代碼Service Slf4j public class StreamMessageProducer {Autowiredprivate StringRedisTemplate redisTemplate;private static final String S…

Python100道練習題

Python100道練習題 BIlibili 1、兩數之和 num1 20 num2 22result num1 num2print(result)2、一百以內的偶數 list1 []for i in range(1,100):if i % 2 0:list1.append(i) print(list1)3、一百以內的奇數 # 方法一 list1 [] for i in range(1,100):if i % 2 ! 0:lis…

Java轉C之并發和多線程

提綱&#xff1a; 概念介紹與對比概述 簡述Java與C在并發和多線程方面的核心區別解釋C11標準、POSIX、C11 <threads.h>、Pthread等名詞 Java多線程與并發回顧 線程、Runnable、ExecutorService概念說明同步關鍵字與工具類含義 C并發基礎 沒有Java式的內置線程類&#xf…

Ubuntu系統本地化搭建Maxakb+Ollama

安裝docker 最詳細的ubuntu 安裝 docker教程-騰訊云開發者社區-騰訊云 安裝Ollama Ollama官網 執行命令&#xff1a; curl -fsSL https://ollama.com/install.sh | sh安裝完成后下載模型 執行命令&#xff1a; ollama run llama3.3:70b安裝MaxKb 執行命令&#xff1a; d…