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

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

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

Java底層實(shí)現(xiàn),CPU還有10個(gè)術(shù)語(yǔ)!

Dbwd_Imgtec ? 來(lái)源:未知 ? 作者:伍文輝 ? 2018-03-28 14:14 ? 次閱讀

1.內(nèi)存屏障(memory barriers)是一組處理器指令,用于實(shí)現(xiàn)對(duì)內(nèi)存操作的順序限制。

2.緩沖行(cache line)CPU高速緩存中可以分配的最小存儲(chǔ)單位。處理器填寫緩存行時(shí)會(huì)加載整個(gè)緩存行,現(xiàn)代CPU需要執(zhí)行幾百次CPU指令。

3.原子操作(atomic operations)不可中斷的一個(gè)或一系列操作。

4.緩存行填充(cache line fill)當(dāng)處理器識(shí)別到從內(nèi)存中讀取操作數(shù)是可緩存的,處理器填寫整個(gè)高速緩存行到適當(dāng)?shù)木彺妫↙1,L2,L3的或所有)。

5.緩存命中(cache hit)如果進(jìn)行高速緩存行填充操作的內(nèi)存位置仍然是下次處理器訪問(wèn)的地址時(shí),處理器從緩存中讀取操作數(shù),而不是從內(nèi)存讀取。

6.寫命中(write hit)當(dāng)處理器將操作數(shù)寫回到一個(gè)內(nèi)存緩存的區(qū)域時(shí),它首先會(huì)檢查這個(gè)緩存的內(nèi)存地址是否存在行中,如果存在一個(gè)有效的緩存行,則處理器將這個(gè)操作數(shù)寫回到緩存,而不是寫回到內(nèi)存,這個(gè)操作被稱為寫命中。

7.寫缺失(write misses the cache)一個(gè)有效的緩存行被寫入到不存在的內(nèi)存區(qū)域。

8.比較并交換(compare and swap)CAS操作需要輸入兩個(gè)數(shù)值,一個(gè)舊值(期望操作前的值)和一個(gè)新值,在操作期間先比較舊值有沒(méi)有發(fā)生變化,如果沒(méi)有發(fā)生變化,才交換成新值,發(fā)生了變化則不交換。

9.CPU流水線(CPU pipeline)CPU流水線的工作方式就像工業(yè)生產(chǎn)上的裝配流水線,在CPU中由5-6個(gè)不同功能的電路單元組成一條指令處理流水線,然后將一條X86指令分成5-6步后再由這些電路單元分別執(zhí)行,這樣就能實(shí)現(xiàn)一個(gè)CPU時(shí)鐘周期完成一條指令,因此提高CPU的運(yùn)算速度。

10.內(nèi)存順序沖突(Memory order violation)內(nèi)存順序沖突一般是由假共享引起的,假共享是指多個(gè)CPU同時(shí)修改一個(gè)緩存行的不同部分引起其中一個(gè)CPU的操作無(wú)效,當(dāng)出現(xiàn)這個(gè)內(nèi)存順序沖突時(shí),CPU必須清空流水線。

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

    關(guān)注

    68

    文章

    10768

    瀏覽量

    210418
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2946

    瀏覽量

    104362

原文標(biāo)題:Java底層實(shí)現(xiàn)——CPU的10個(gè)術(shù)語(yǔ)

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    先進(jìn)IC封裝中最常用10個(gè)術(shù)語(yǔ)解析

    ,設(shè)計(jì)工程師和工程經(jīng)理們需要跟上這一關(guān)鍵技術(shù)的發(fā)展節(jié)奏。首先,他們需要了解先進(jìn)IC封裝中不斷出現(xiàn)的基本術(shù)語(yǔ)。 本文將對(duì)下一代IC封裝技術(shù)中最常用10個(gè)術(shù)語(yǔ)做簡(jiǎn)要概述。 2.5D封裝 2
    發(fā)表于 11-19 16:00 ?6191次閱讀

    CPU底層工作原理

    前段時(shí)間,我連續(xù)寫了十來(lái)篇CPU底層系列技術(shù)故事文章,有不少讀者私信我讓我寫一下CPU的寄存器。
    發(fā)表于 07-25 10:20 ?1320次閱讀

    Java學(xué)習(xí)經(jīng):提高Java培訓(xùn)效率的6個(gè)方法

      初學(xué)Java就像交朋友從陌生到熟悉再到鐵桿搭檔一生相伴,隨著學(xué)習(xí)的深入,你會(huì)發(fā)現(xiàn)學(xué)Java并不是想象的那樣枯燥和困難,甚至還有一些美妙之感,這是在擁有強(qiáng)大的技術(shù)和出色的設(shè)計(jì)思想后才能體會(huì)
    發(fā)表于 10-19 11:05

    Java一直獨(dú)得恩寵的秘訣

    Apache和Spring。這些優(yōu)秀的社區(qū)提供了很多非常好的框架,借助這些框架可以使我們不用去關(guān)注Java底層的開(kāi)發(fā),而只需關(guān)注業(yè)務(wù)的實(shí)現(xiàn)Java為什么能一直獨(dú)得恩寵?除了上面羅列的
    發(fā)表于 09-28 14:24

    技術(shù)術(shù)語(yǔ)CPU術(shù)語(yǔ)

    技術(shù)術(shù)語(yǔ)CPU術(shù)語(yǔ)
    發(fā)表于 06-30 19:45 ?1214次閱讀

    CPU專用術(shù)語(yǔ)大全

    CPU專用術(shù)語(yǔ)大全   文章內(nèi)容如下  Intel公司的X86序列CPU以及其它公司所生產(chǎn)的兼容產(chǎn)品,是目前世界上個(gè)人電腦中裝機(jī)最多的
    發(fā)表于 01-12 11:46 ?1094次閱讀

    CPU接口類型術(shù)語(yǔ)與主板連接對(duì)應(yīng)常識(shí)

    CPU接口類型術(shù)語(yǔ)與主板連接對(duì)應(yīng)常識(shí) CPU需要通過(guò)某個(gè)接口與主板連接的才能進(jìn)行工作。CPU經(jīng)過(guò)這么多年的發(fā)展,采用的接口方式有引腳式、卡式、
    發(fā)表于 02-04 08:52 ?3447次閱讀

    Java的四個(gè)核心概念

    Java已經(jīng)成為一個(gè)龐大而復(fù)雜的技術(shù)平臺(tái),對(duì)于開(kāi)發(fā)人員而言,要想更好的掌握Java技術(shù),深入理解底層的技術(shù)處理細(xì)節(jié)必不可少。
    發(fā)表于 12-07 14:53 ?2325次閱讀

    Java中裝箱和拆箱是如何實(shí)現(xiàn)

    每種基本數(shù)據(jù)類型提供包裝器類型在此不進(jìn)行闡述,有興趣的朋友可以查閱相關(guān)資料。在Java SE5之前,如果要生成一個(gè)數(shù)值為10的Integer對(duì)象,必須這樣進(jìn)行: Integeri = newInteger(
    發(fā)表于 09-27 10:07 ?0次下載

    Redis基本類型和底層實(shí)現(xiàn)

    簡(jiǎn)單介紹了Redis的五種對(duì)象類型和它們的底層實(shí)現(xiàn)。事實(shí)上,Redis的高效性和靈活性正是得益于對(duì)于同一個(gè)對(duì)象類型采取不同的底層結(jié)構(gòu),并在必要的時(shí)候?qū)Χ哌M(jìn)行轉(zhuǎn)換;以及各種
    發(fā)表于 11-25 15:11 ?4452次閱讀
    Redis基本類型和<b class='flag-5'>底層</b><b class='flag-5'>實(shí)現(xiàn)</b>

    10個(gè)Java編程中異常處理最佳實(shí)踐

    這里是我收集的10個(gè)Java編程中進(jìn)行異常處理的10最佳實(shí)踐。在Java編程中對(duì)于檢查異常有褒有貶,強(qiáng)制處理異常是一門語(yǔ)言的功能。在本文中,
    的頭像 發(fā)表于 05-03 17:49 ?1885次閱讀

    ARM體系結(jié)構(gòu)常用術(shù)語(yǔ)解釋

    那么A系列的處理器,會(huì)有一個(gè)相關(guān)的術(shù)語(yǔ),這些術(shù)語(yǔ)在這里會(huì)給大家做一個(gè)介紹,大概這些術(shù)語(yǔ)要給大家說(shuō)一下,首先是流水線,流水線就是
    發(fā)表于 02-11 15:16 ?1次下載
    ARM體系結(jié)構(gòu)常用<b class='flag-5'>術(shù)語(yǔ)</b>解釋

    介紹下cpu緩存一致性(MESI協(xié)議)

    之前介紹了java并發(fā)包的cas原理和java內(nèi)存模型,這篇我們介紹下cpu緩存一致性原理,可以幫助我們更好的理解cas的底層原理。
    的頭像 發(fā)表于 06-09 16:01 ?4443次閱讀
    介紹下<b class='flag-5'>cpu</b>緩存一致性(MESI協(xié)議)

    javacpu占用過(guò)高如何分析

    JavaCPU占用過(guò)高是一種常見(jiàn)的問(wèn)題,需要通過(guò)多種方法進(jìn)行分析和解決。本文將詳細(xì)介紹JavaCPU占用過(guò)高的原因以及如何進(jìn)行分析和優(yōu)化。 一、
    的頭像 發(fā)表于 12-05 11:15 ?8583次閱讀

    java實(shí)現(xiàn)多線程的幾種方式

    Java實(shí)現(xiàn)多線程的幾種方式 多線程是指程序中包含了兩個(gè)或以上的線程,每個(gè)線程都可以并行執(zhí)行不同的任務(wù)或操作。Java中的多線程可以提高程序的效率和性能,使得程序可以同時(shí)處理多個(gè)任務(wù)。
    的頭像 發(fā)表于 03-14 16:55 ?511次閱讀