99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

淺談處理器形態(tài)對于編程的影響

要長高 ? 來源: deepcoder ? 作者: deepcoder ? 2022-04-20 17:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫了硬件的發(fā)展史之后,屬于歷史,那么我們也要展望一下未來的可能性。所以就有了今天這一篇。我們知道硬件的設計需求是根據(jù)具體使用場景的遇到的痛點,然后可能會提出新的需求。

我們也會發(fā)現(xiàn)各個架構(gòu)有一定的趨同性,無論是x86還是arm也在相互學習,x86學習arm的低功耗,arm也想提高性能。所以精簡指令和復雜指令不再那么純粹。各種總線也在相互借鑒,比如都有內(nèi)存分頁,除了寄存器定義不同,宏觀上的分頁結(jié)構(gòu)基本是一致的。所以好的東西都在用,這樣對軟件也有一個好處,硬件形態(tài)的設計規(guī)范,會使得軟件的移植性更好。

除了一些特定使用場景的硬件設計,我們普遍希望的是提高處理速度。我們以服務器使用場景為例子,來一些可能已經(jīng)存在的猜測,然后我們再展望一下未來處理器(光子計算機和量子計算機等)的形態(tài)對于編程的影響

先說可能存在的猜想。我們說過服務器為了提高吞吐量,是分布式的,提高穩(wěn)定性支持內(nèi)存,cpu的熱插拔等。那么為了提高性能。

在一個服務器主板上可能是怎樣的呢?是單個操作系統(tǒng)還是多個操作系統(tǒng)呢?對于同構(gòu)的處理器可以是單個系統(tǒng)。對于異構(gòu)的只能是多個系統(tǒng)。假設猜測是多操作系統(tǒng)之間的配合協(xié)調(diào)。實際也有可能是一個分布式的操作系統(tǒng)。單系統(tǒng)。但是不影響我們說明問題。

我們假設我們訪問百度,百度不可能只有一個機房,一個機房不可能只有一個服務器。這些從百度的網(wǎng)址找到具體的服務器(通??隙ㄊ嵌鄠€,然后負載均衡)。我們就假設找到了一個服務器,然后這個服務器的形態(tài)是怎樣的會好呢。我們猜測的硬件形態(tài)如下圖:

poYBAGJfzBWAaL_lAABGQdS90Ck236.png

注意這里的cpu1,2,3表示的不是core,而是一顆多核心的cpu。由于我們假設是多系統(tǒng)的,那么我們就假設這幾個cpu都跑linux,系統(tǒng)在各自cpu的local memory里面。然后global memory是每個cpu都可以訪問的。這樣這幾個cpu之間就可以通過共享內(nèi)存來通信,至于gloabl memory里面是什么結(jié)構(gòu)來組織的實現(xiàn)共享內(nèi)存通信,這個是實現(xiàn)問題。假設global里面有一個內(nèi)存數(shù)據(jù)庫。這樣相當于多個cpu使用了一個內(nèi)存數(shù)據(jù)庫?;蛘呤且粋€內(nèi)存文件系統(tǒng),那么多個cpu之間共享了一個文件系統(tǒng)?;蛘吒唵蔚囊恍┫⑼ㄐ艡C制,比如就是個類似ringbuffer的東西,這樣cpu之間可以根據(jù)定義的ringbuffer的結(jié)構(gòu)通信。

服務器重要的是什么一個是速度,還有一個是數(shù)據(jù)的備份,保存,數(shù)據(jù)庫之類的。數(shù)據(jù)庫有內(nèi)存數(shù)據(jù)庫redis,還有磁盤數(shù)據(jù)庫mysql之類的。所以最終的數(shù)據(jù)都要進入磁盤。所以這個就有一個矛盾并發(fā)和互斥訪問的矛盾。為了速度我們在不斷的提高并發(fā)的可能,提高單個核心的速度,但是對于同一個數(shù)據(jù)庫,同一個總線,同一塊內(nèi)存,同一個磁盤的訪問總會互斥,有些是硬件上要支持的互斥,有些是軟件保證的互斥。所以就要考慮盡量減少互斥的范圍。

目前的情況是我們的cpu的兩個核心,訪問內(nèi)存的時候,是互斥訪問的,因為是同一個總線。那么有沒有這樣一種可能,如下圖:

pYYBAGJfzB2AY6HXAABGfJgYiTM272.png

如上圖我們兩顆cpu訪問同一內(nèi)存條假設20G,那么紅色的部分就要保證互斥訪問,訪問者,要先獲得總線所有權(quán),然后訪問釋放。對于整個20G的地址空間都要互斥。這樣互斥的共享空間限制太大了20個G。由硬件保證在微觀上兩個cpu訪問內(nèi)存條是互斥訪問的。

那么我做一個猜想有沒有這樣一種memory,比如可以提供2,4,8個通道,這樣多個cpu使用不同的通道,只要訪問地址不同,就在硬件上,不會爭奪總線?;蛘唠y以實現(xiàn)的話,我們?nèi)趸恍?K為一個地址范圍。比如這20G的地址空間是0-20G,那么假設一個cpu訪問的地址是0《addr《4K,如果另外一個cpu也訪問這個內(nèi)存條,那么如果地址范圍也在0-4K那么就要總線互斥,但是如果訪問的是4k-8k,那么就可以不需要總線互斥,在微觀上,硬件上確實做到一定程度的并發(fā)訪問。猜測的可能的硬件形態(tài)如下圖:

pYYBAGJfzCSANkxpAABH90k8d-4971.png

如上圖,cpu1通過紅色的總線訪問這個內(nèi)存條,cpu2通過綠色的總線訪問這個內(nèi)存條,內(nèi)存條出廠的時候有一個判斷電路,看紅色和綠色的地址是否4K空間沖突。如果不沖突,那么可以微觀上完全并發(fā),如果沖突,那么就只能互斥訪問。

異構(gòu)內(nèi)存文件系統(tǒng) :可能沒有這個概念,是我臆造的,不知道是否存在。

我們的總線上有多顆cpu,每顆都有自己的系統(tǒng),但是我們的memory里面可以有一個內(nèi)存文件系統(tǒng),我把它叫做異構(gòu)共享文件系統(tǒng),兩顆cpu都可以訪問,并且兩個cpu里面可以跑不同的系統(tǒng),也不要求是同一種硬件架構(gòu)。如下圖:

poYBAGJfzCyAW8qXAABM49HzPeI510.png

前面的一些屬于一些合理猜測或者臆造,不知道是否存在,也許還真的已經(jīng)存在。

接下來我們說光子計算機和量子計算機。有一段時間炒作的很火,我們不說炒作嫌疑,畢竟無論什么行業(yè)剛開始都會有夸大炒作。但是只要發(fā)展方向是對的遲早實現(xiàn),就是時間問題。

光子計算機低功耗,速度快,量子計算機更是速度快。那么假設這些最終都實現(xiàn)了,那么編程的形態(tài)會不會變化?我們現(xiàn)在學習的編程語言,編程思想,整個軟件生態(tài)還能不能用?

我認為對于軟件生態(tài)是一個機會,可能c語言,java語言等等各種編程語言還能用,也許會有新的語言出來。新的系統(tǒng)出來。這個對于整個軟件生態(tài)都是機會。新的計算形態(tài)完全沒有必要整個將老的推翻。而是適配向上兼容。

也許新的計算機表示信息不再是2進制,都不好說,但是我們的高級語言是通過編譯器編譯的。對于語言不需要知道計算機信息表示是幾進制。這個通過編譯工具鏈掩蓋了。

所以新的針對光子處理器,量子形態(tài)的處理器會出現(xiàn)對應的編譯工具鏈。向上兼容現(xiàn)有的軟件生態(tài)(語言,系統(tǒng),工具),也許不完全兼容,但是大部分兼容。我們在量子計算機和光子計算機上運行我們原來在傳統(tǒng)計算機上的程序,我們不需要知道底層是光子計算機還是量子計算機。就像我們寫的程序。我們用不同的工具鏈編譯運行。我們不需要知道是x86的還是arm的一樣。這就是向上兼容。通過編譯工具來翻譯。加上光子計算機和量子計算機的速度的極大提升,會出現(xiàn)新的針對這么高速度的的操作系統(tǒng),新的軟件生態(tài)的擴充,而不是消滅老的。對于軟件來說反而是機會。也許會出現(xiàn)新的針對該種計算機的新的編程語言,但是完全不會消滅老的語言。新的應用場景會出現(xiàn),同樣對于應用編程者也是機會。

聲明:本文內(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

    文章

    11083

    瀏覽量

    217190
  • 服務器
    +關(guān)注

    關(guān)注

    13

    文章

    9797

    瀏覽量

    88045
  • 量子計算機
    +關(guān)注

    關(guān)注

    4

    文章

    535

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    浮點處理器對于定點處理器有何不同

    對程序做出改動。浮點處理器對于定點處理器有如下好處: 編程更簡單 性能更優(yōu),比如除法,開方,F(xiàn)FT和IIR濾波等算法運算效率更高。 程序魯棒性更強。 一、IEEE754格式的浮點數(shù)
    的頭像 發(fā)表于 03-07 08:57 ?1.1w次閱讀
    浮點<b class='flag-5'>處理器</b>相<b class='flag-5'>對于</b>定點<b class='flag-5'>處理器</b>有何不同

    ARM微處理器編程基礎和接口實驗

    慕課電子科技大學.嵌入式系統(tǒng).第三章.ARM微處理器編程基礎和接口實驗.ARM微處理器編程基礎實驗0 目錄3 ARM微處理器
    發(fā)表于 12-14 09:04

    基于arduino Nano的ATtiny微處理器編程器

    描述閣樓的程序員我開發(fā)了 ATtiny 微處理器編程器的第二個版本。這允許您對多種類型的 ATtiny 進行編程:25/45/85/24/44/84/2313 ...它基于arduino Nano
    發(fā)表于 08-05 07:11

    ARM微處理器編程模型

    簡介ARM微處理器編程模型的一些基本概念,包括工作狀態(tài)切換、數(shù)據(jù)的存儲格式、處理器異常等,通過對本章的閱讀,希望讀者能了解ARM微處理器的基本工作原理和一些與程序設計
    發(fā)表于 09-09 14:54 ?382次下載

    ARM微處理器編程模型

    ARM微處理器編程模型 目錄ARM微處理器的工作狀態(tài)ARM體系結(jié)構(gòu)的存儲格式指令長度及數(shù)據(jù)類型ARM微處理器的工作模式ARM體系結(jié)構(gòu)的
    發(fā)表于 02-21 09:14 ?50次下載

    順序形態(tài)圖像處理器的硬件實現(xiàn)

    順序形態(tài)圖像處理器的硬件實現(xiàn),下來看看。
    發(fā)表于 09-17 07:26 ?7次下載

    基于坐標邏輯的形態(tài)圖像處理器的硬件實現(xiàn)

    基于坐標邏輯的形態(tài)圖像處理器的硬件實現(xiàn),下來看看
    發(fā)表于 09-18 15:22 ?11次下載

    淺談ARM處理器基礎知識

    淺談ARM處理器基礎知識
    發(fā)表于 01-14 12:31 ?16次下載

    第2章 ARM微處理器編程模型

    第2章 ARM微處理器編程模型
    發(fā)表于 10-27 09:46 ?3次下載
    第2章 ARM微<b class='flag-5'>處理器</b>的<b class='flag-5'>編程</b>模型

    淺談數(shù)字信號處理器的分類及選擇

    在數(shù)字信號處理器之間,如果由于其可編程性,通??梢苑譃榭?b class='flag-5'>編程和不可編程這兩個類別。 在不可編程信號處理器
    發(fā)表于 10-29 14:50 ?6582次閱讀

    如何實現(xiàn)坐標邏輯的形態(tài)圖像處理器

    在闡述坐標邏輯運算的基礎上,論述了基于坐標邏輯形態(tài)學硬件實現(xiàn)的圖像處理系統(tǒng).該系統(tǒng)采用D!、P+FPGA的框架結(jié)構(gòu),利用FH礬的可重構(gòu)特性將其中一片F(xiàn)P(認作為協(xié)處理器可以實現(xiàn)不同的圖像處理
    發(fā)表于 03-30 11:28 ?4次下載
    如何實現(xiàn)坐標邏輯的<b class='flag-5'>形態(tài)</b>圖像<b class='flag-5'>處理器</b>

    如何使用FPGA實現(xiàn)順序形態(tài)圖像處理器的硬件實現(xiàn)

    該文在闡述了灰度圖像順序形態(tài)變換的基礎上,介紹了順序形態(tài)變換硬件實現(xiàn)的圖像處理系統(tǒng).該系統(tǒng)采用DSP+FPGA的框架結(jié)構(gòu),利用FPGA的可重構(gòu)特性將其中一片F(xiàn)PGA作為協(xié)處理器可以實現(xiàn)
    發(fā)表于 04-01 11:21 ?8次下載

    EE-294:Blackfin處理器上的節(jié)能編程

    EE-294:Blackfin處理器上的節(jié)能編程
    發(fā)表于 04-20 20:40 ?0次下載
    EE-294:Blackfin<b class='flag-5'>處理器</b>上的節(jié)能<b class='flag-5'>編程</b>

    ADSP-TS101 TigerSHARC處理器編程參考

    ADSP-TS101 TigerSHARC處理器編程參考
    發(fā)表于 05-13 17:11 ?9次下載
    ADSP-TS101 TigerSHARC<b class='flag-5'>處理器</b><b class='flag-5'>編程</b>參考

    ADSP-TS201 TigerSHARC處理器編程參考

    ADSP-TS201 TigerSHARC處理器編程參考
    發(fā)表于 05-18 09:21 ?1次下載
    ADSP-TS201 TigerSHARC<b class='flag-5'>處理器</b><b class='flag-5'>編程</b>參考