女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

淺談處理器形態對于編程的影響

要長高 ? 來源: deepcoder ? 作者: deepcoder ? 2022-04-20 17:09 ? 次閱讀

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

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

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

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

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

我們假設我們訪問百度,百度不可能只有一個機房,一個機房不可能只有一個服務器。這些從百度的網址找到具體的服務器(通常肯定是多個,然后負載均衡)。我們就假設找到了一個服務器,然后這個服務器的形態是怎樣的會好呢。我們猜測的硬件形態如下圖:

poYBAGJfzBWAaL_lAABGQdS90Ck236.png

注意這里的cpu1,2,3表示的不是core,而是一顆多核心的cpu。由于我們假設是多系統的,那么我們就假設這幾個cpu都跑linux,系統在各自cpu的local memory里面。然后global memory是每個cpu都可以訪問的。這樣這幾個cpu之間就可以通過共享內存來通信,至于gloabl memory里面是什么結構來組織的實現共享內存通信,這個是實現問題。假設global里面有一個內存數據庫。這樣相當于多個cpu使用了一個內存數據庫。或者是一個內存文件系統,那么多個cpu之間共享了一個文件系統。或者更簡單的一些消息通信機制,比如就是個類似ringbuffer的東西,這樣cpu之間可以根據定義的ringbuffer的結構通信。

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

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

pYYBAGJfzB2AY6HXAABGfJgYiTM272.png

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

那么我做一個猜想有沒有這樣一種memory,比如可以提供2,4,8個通道,這樣多個cpu使用不同的通道,只要訪問地址不同,就在硬件上,不會爭奪總線。或者難以實現的話,我們弱化一些,每4K為一個地址范圍。比如這20G的地址空間是0-20G,那么假設一個cpu訪問的地址是0《addr《4K,如果另外一個cpu也訪問這個內存條,那么如果地址范圍也在0-4K那么就要總線互斥,但是如果訪問的是4k-8k,那么就可以不需要總線互斥,在微觀上,硬件上確實做到一定程度的并發訪問。猜測的可能的硬件形態如下圖:

pYYBAGJfzCSANkxpAABH90k8d-4971.png

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

異構內存文件系統 :可能沒有這個概念,是我臆造的,不知道是否存在。

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

poYBAGJfzCyAW8qXAABM49HzPeI510.png

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

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

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

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

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

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

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

    關注

    68

    文章

    11048

    瀏覽量

    216121
  • 服務器
    +關注

    關注

    13

    文章

    9717

    瀏覽量

    87369
  • 量子計算機
    +關注

    關注

    4

    文章

    535

    瀏覽量

    26252
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

    ARM微處理器編程模型

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

    ARM微處理器編程模型

    ARM微處理器編程模型 目錄ARM微處理器的工作狀態ARM體系結構的存儲格式指令長度及數據類型ARM微處理器的工作模式ARM體系結構的
    發表于 02-21 09:14 ?50次下載

    順序形態圖像處理器的硬件實現

    順序形態圖像處理器的硬件實現,下來看看。
    發表于 09-17 07:26 ?7次下載

    基于坐標邏輯的形態圖像處理器的硬件實現

    基于坐標邏輯的形態圖像處理器的硬件實現,下來看看
    發表于 09-18 15:22 ?11次下載

    淺談ARM處理器基礎知識

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

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

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

    淺談數字信號處理器的分類及選擇

    在數字信號處理器之間,如果由于其可編程性,通常可以分為可編程和不可編程這兩個類別。 在不可編程信號處理器
    發表于 10-29 14:50 ?6538次閱讀

    如何實現坐標邏輯的形態圖像處理器

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

    如何使用FPGA實現順序形態圖像處理器的硬件實現

    該文在闡述了灰度圖像順序形態變換的基礎上,介紹了順序形態變換硬件實現的圖像處理系統.該系統采用DSP+FPGA的框架結構,利用FPGA的可重構特性將其中一片FPGA作為協處理器可以實現
    發表于 04-01 11:21 ?8次下載

    EE-294:Blackfin處理器上的節能編程

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

    ADSP-TS101 TigerSHARC處理器編程參考

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

    ADSP-TS201 TigerSHARC處理器編程參考

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