91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺析計算機硬件的讀寫速度差異(下)

jf_78858299 ? 來源:小牛呼嚕嚕 ? 作者:小牛呼嚕嚕 ? 2023-02-01 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

壓榨CPU性能帶來的問題

由于CPU速度非常快,且價格非常昂貴,我們必須得 充分壓榨CPU ,得像生產(chǎn)隊的驢一樣,讓它不停地工作!

為了合理利用 CPU 的高性能,同時盡可能地節(jié)約成本,現(xiàn)代計算機將這些儲存器充分的結(jié)合起來,由于這些硬件的數(shù)據(jù)存取速度差異導致了計算機系統(tǒng)編程中的各種問題:

有序性問題

為了充分壓榨CPU的性能, CPU 會對指令亂序執(zhí)行或者語言的編譯器會指令重排 ,讓CPU一直工作不停歇,但同時會導致有序性問題。

在CPU中為了能夠讓指令的執(zhí)行盡可能地同時運行起來,采用了 指令流水線 。一個 CPU 指令的執(zhí)行過程可以分成 4 個階段:取指、譯碼、執(zhí)行、寫回。這 4 個階段分別由 4 個獨立物理執(zhí)行單元來完成。

理想的情況是:指令之間無依賴,可以使流水線的并行度最大化。但是如果兩條指令的前后存在依賴關(guān)系,比如數(shù)據(jù)依賴,控制依賴等,此時后一條語句就必需等到前一條指令完成后,才能開始。所以CPU為了提高流水線的運行效率,對無依賴的前后指令做 適當?shù)膩y序和調(diào)度

還有一種情況 編譯器會指令重排 ,比如java語言,JVM 的編譯器會對其指令進行重排序的優(yōu)化( 指令重排 )。

所謂指令重排是指在不改變原語義的情況下,通過調(diào)整指令的執(zhí)行順序讓程序運行的更快。JVM中并沒有規(guī)定編譯器優(yōu)化相關(guān)的內(nèi)容,也就是說JVM可以自由的進行指令重排序的優(yōu)化。

無論是編譯期的指令重排還是 CPU 的亂序執(zhí)行 ,主要都是為了讓 CPU 內(nèi)部的指令流水線可以“填滿”,提高指令執(zhí)行的并行度,充分利用CPU的高性能。

可見性問題

為了平衡CPU的寄存器和內(nèi)存的速度差異,計算機的CPU 增加了高速緩存,但同時導致了 可見性問題。我們知道當程序執(zhí)行時,一般CPU會去從內(nèi)存中讀取數(shù)據(jù),來進行計算。CPU計算完之后,需要把數(shù)據(jù)重新放回到內(nèi)存中。

當CPU的多個核心參與一個程序的運行,從內(nèi)存中讀取一個共享變量的數(shù)據(jù),當不同核心間進行了各自的計算,把計算后的值放入自己的緩存中而不選擇立即寫入內(nèi)存中(CPU寫入內(nèi)存的時機是不確定的)。那么在CPU的緩存中,這個共享變量有可能存放著不同的數(shù)據(jù),這就導致了緩存的可見性問題。即一個線程對數(shù)據(jù)的修改無法對其他線程可見。

原子性問題

為了平衡CPU 與 I/O 設備的速度差異,操作系統(tǒng)增加了進程、線程概念,以分時復用 CPU,但同時導致了原子性問題。

原子操作就是不可分割的操作,在計算機中,就是指不會因為線程調(diào)度被打斷的操作。

當一個程序去I/O 設備讀取數(shù)據(jù), 由于I/O 設備數(shù)據(jù)存入讀取速度,相比于CPU的執(zhí)行速度來說度日如年,CPU這么牛逼這么昂貴的寶貝,怎么能讓它歇著,得讓它一直干活,去切換執(zhí)行其他程序。也就是將CPU的時間進行分片,讓各個程序在CPU上輪轉(zhuǎn)執(zhí)行。但被剝奪執(zhí)行權(quán)的程序,等它從IO讀取完數(shù)據(jù)后,還是得讓CPU繼續(xù)執(zhí)行的,這時需要一個數(shù)據(jù)結(jié)構(gòu)來保存,以便之后恢復繼續(xù)執(zhí)行,這個就是進程。

一開始進程中 只有一個"執(zhí)行流",干活的人就一個。隨著任務越來越多,發(fā)現(xiàn)進程不夠用了,經(jīng)常導致整個程序被阻塞,這時計算機讓進程有多個執(zhí)行流,干活的人變多了,那程序就不會再被阻塞了,"執(zhí)行流" 就是線程。

如何解決這3個問題,就是并發(fā)、多線程需要處理的事,當然這是后話。


參考資料:

《深入理解計算機系統(tǒng)》

《計算機組成原理》

《計算機組成原理》--唐朔飛

https://zhuanlan.zhihu.com/p/379947484

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11277

    瀏覽量

    224952
  • 計算機系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    292

    瀏覽量

    25288
  • 運算器
    +關(guān)注

    關(guān)注

    1

    文章

    164

    瀏覽量

    16988
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    咦???怎么沒有專門的計算機硬件設計的板塊和cpu設計的板塊?

    我對計算機硬件和編程很有興趣,但是沒有發(fā)現(xiàn)有關(guān)設計cpu和計算機硬件的板塊。
    發(fā)表于 02-21 12:24

    什么是計算機系統(tǒng)、計算機硬件計算機軟件?

    第一章 計算機系統(tǒng)概論1. 什么是計算機系統(tǒng)、計算機硬件計算機軟件?硬件和軟件哪個更重要?解:P3計算
    發(fā)表于 07-22 09:06

    計算機硬件各種故障及診斷方法

    摘要:經(jīng)濟的發(fā)展和科技的進步使得計算機得以普及。計算機的已經(jīng)成為工業(yè)、經(jīng)濟、管理等眾多方面的重要運行手段,甚至已經(jīng)成為了普通居民工作、生活、娛樂的一部分。關(guān)鍵詞:計算機硬件;識別方法;解決措施中圖
    發(fā)表于 09-08 07:47

    關(guān)于計算機硬件維護的淺析

    現(xiàn)今科技的進步日新月異,計算機作為信息時代主要的特征載體,已經(jīng)遍布我們社會生活的方方面面,而計算機作為軟件硬件的統(tǒng)一體,人們在關(guān)心軟件系統(tǒng)的同時,往往忽視了對計算機硬件的維護。下面是Y
    發(fā)表于 09-08 08:07

    計算機硬件,第2篇 計算機硬件系統(tǒng).pdf 精選資料分享

    第第2 章章 計算機硬件系統(tǒng)計算機硬件系統(tǒng)第第 章章 計算機硬件系統(tǒng)計算機硬件系統(tǒng)在本章中,首先我們將討論組成計算機
    發(fā)表于 09-13 06:37

    計算機硬件系統(tǒng)的組成及其性能維護分析

    計算機硬件系統(tǒng)的組成及其性能維護分析1、前言隨著信息技術(shù)的飛速發(fā)展, 計算機技術(shù)被廣泛地應用于人們的生活與工作中, 計算機系統(tǒng)的安全穩(wěn)定運行直接關(guān)系到整個經(jīng)濟社會的進步, 為了確保計算機
    發(fā)表于 09-13 07:31

    計算機硬件維護的方法

    1先檢查電源及其他靜態(tài)故障在進行其他部件的檢測有調(diào)查可知,當前我國計算機硬件故障在維護過程中,因為電源故障而導致的故障問題非常常見,所以要對電源部件出現(xiàn)的故障問題引起足夠的重視。在對計算機硬件進行
    發(fā)表于 09-17 07:15

    了解計算機硬件體系結(jié)構(gòu)

    模塊一知識點1.了解計算機硬件體系結(jié)構(gòu)2.掌握常見的計算機硬件設備3.了解計算機軟件體系結(jié)構(gòu)4.掌握主板結(jié)構(gòu)的組成5.了解CPU、內(nèi)存、硬盤的發(fā)展歷程6.掌握CPU、內(nèi)存、硬盤的結(jié)構(gòu)、性能指標及相關(guān)
    發(fā)表于 09-17 09:03

    計算機硬件的基本組成

    嵌入式系統(tǒng)設計師學習筆記③:計算機的基本組成計算機硬件的基本組成:輸入/輸出設備(I/O設備)、存儲器(主存儲器、輔助存儲器)、CPU(中央處理器)等。CPU中包含運算器和控制兩大組成部分和寄存器組
    發(fā)表于 12-23 06:00

    微型計算機硬件組成

    微型計算機硬件組成 好東西哦。網(wǎng)上搜集,希望對你有用。
    發(fā)表于 03-25 15:17 ?62次下載

    計算機硬件知識大全

    計算機硬件知識大全
    發(fā)表于 05-15 09:50 ?0次下載
    <b class='flag-5'>計算機硬件</b>知識大全

    計算機硬件知識試題

    計算機硬件知識一、微機基本工作原理1、計算機系統(tǒng)的組成微型計算機硬件系統(tǒng)和軟件系統(tǒng)組成。硬件系統(tǒng):指構(gòu)成
    發(fā)表于 07-01 17:21 ?76次下載

    計算機硬件接口大全圖解

    計算機硬件接口大全圖解 點擊看大圖
    發(fā)表于 03-26 10:15 ?2236次閱讀

    計算機硬件的重要部件

    本視頻主要詳細介紹了計算機硬件的重要部件,分別是控制器、運算器、存儲器、輸入設備、輸出設備以及中央處理器。
    的頭像 發(fā)表于 11-24 10:34 ?1.9w次閱讀

    淺析計算機硬件讀寫速度差異(上)

    計算機系統(tǒng) 現(xiàn)代計算機系統(tǒng)與馮·諾依曼計算機差別不大,最大的區(qū)別馮·諾依曼計算機 是 以**運算器**為中心的,而現(xiàn)代計算機 以**
    的頭像 發(fā)表于 02-01 14:54 ?2708次閱讀
    <b class='flag-5'>淺析</b><b class='flag-5'>計算機硬件</b>的<b class='flag-5'>讀寫</b><b class='flag-5'>速度</b><b class='flag-5'>差異</b>(上)