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

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

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

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

解析程序員為什么需要理解 CPU?

GReq_mcu168 ? 來源:CSDN技術社區(qū) ? 作者:碼農(nóng)的荒島求生 ? 2021-05-24 11:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天給大家?guī)硪黄獎偎萍夹g文的非技術文。 最近陸陸續(xù)續(xù)寫了幾篇關于CPU的文章,可能有的同學會問,程序員寫代碼就好了,為什么需要去理解CPU???不嫌累啊??。堪??你倒是說啊。

計算機系統(tǒng) != 漢堡包

在之前的文章中我把計算機系統(tǒng)比作一個漢堡包,這個類比不太恰當,雖然漢堡包是層級結構,但它是上下對稱的,計算機系統(tǒng)的層級結構顯然不是對稱的,你要說披薩還差不多,注意是披薩,不是餡餅,因為餡餅也是對稱的。

計算機系統(tǒng)的結構是上層基于下層,并且上層對外屏蔽下層,因此用洋蔥來比喻計算機系統(tǒng)是再恰當不過了,這兩者都是層級結構,下層對上層都不可見,最妙的是,這兩者看時間長了都會辣眼睛! 這種層級結構保證了處于上層程序員無需理解下一層。

模糊的精確你的確不需要知道底層全部的微觀細節(jié),實際上我也不相信有誰能全部知道,如果你太注重細節(jié),沒有對計算機系統(tǒng)的大局觀而是一頭扎到細節(jié)里,最終也只是徒勞,只挖掘細節(jié)很像是一種“模糊的精確”。

精確的模糊但是,如果你能知道底層的宏觀上的原理,情況就不一樣了,我把這種宏觀上的不那么細節(jié)的理解稱之為“精確的模糊”,老外有一個詞我認為很貼切:The Big Picture。 程序員這一行,個人認為精確的模糊要遠好于模糊的精確,因為前者要想進一步了解細節(jié)是很容易的(只是需不需要的問題),反之則非常困難。而且依靠這種精確的模糊已經(jīng)能解決很多問題,而后者則不能。

上帝視角每一個大家認為的高手腦海里都有這樣一種精確的模糊(或者精確的精確,高手中的高手),ta可能不知道編譯器(解釋器)、鏈接器、操作系統(tǒng)、網(wǎng)絡協(xié)議棧、CPU、內(nèi)存等等所有核心模塊的全部細節(jié),但是ta知道這些模塊“應該”怎樣工作,當你有了這種理解后,你會發(fā)現(xiàn): 你很確定的自己的每一行程序是怎么被計算機執(zhí)行的;

你清楚的知道什么時候該用多線程什么時候不該用;你清楚的知道自己的線程什么時候該加鎖、什么時候該等待,怎樣解決互斥問題,怎樣解決同步問題;你清楚的知道自己的每一段代碼大概可能會執(zhí)行多長時間;

你清楚的知道自己的每次函數(shù)調用從上層到底層是如何執(zhí)行的,因此你很清楚該選擇使用什么樣的函數(shù),傳遞什么樣的參數(shù)才能達到自己想要的效果;

你清楚的理解計算機系統(tǒng),當你的程序出現(xiàn)問題后無頭蒼蠅般瞎試一通并期待自己的程序能奇跡般正常工作時;當編譯器提示奇怪的錯誤時;當鏈接器莫名其妙的提示‘undefined reference to ***’時;當程序運行起來就core時;

當程序運行一段時間被OOM kill掉時;當你的程序內(nèi)存泄漏時;當你的程序莫明奇妙耗時非常高時;如果在這些時刻你能做的僅僅是等待別人來幫忙,那么就不要說程序員不需要理解底層了。

編輯:jq

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

    關注

    68

    文章

    11295

    瀏覽量

    225400
  • 計算機
    +關注

    關注

    19

    文章

    7816

    瀏覽量

    93293
  • 程序
    +關注

    關注

    117

    文章

    3846

    瀏覽量

    85325
  • 編譯器
    +關注

    關注

    1

    文章

    1672

    瀏覽量

    51756

原文標題:程序員為什么需要理解 CPU?

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    芯盾時代SDP助力企業(yè)應對核心機密泄露危機

    無論你是程序員、文案、財務,無論你想擼代碼、出海報、做報表,各式各樣的AI總能滿足你的需求,讓你的工作更加輕松。
    的頭像 發(fā)表于 12-26 11:49 ?713次閱讀

    大理的AI野心藏不住了——風花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應用國際開發(fā)者大會在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?750次閱讀
    大理的AI野心藏不住了——風花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    解析Linux的進程、線程和協(xié)程

    )用戶態(tài)線程:協(xié)程不依賴于操作系統(tǒng)的線程管理,由程序員手動控制。 (2)輕量級:協(xié)程切換的開銷非常小,適用于高并發(fā)的場景。 (3)高度可控性:程序員可以精確控制協(xié)程的執(zhí)行流程。 二、進程、線程
    發(fā)表于 12-22 11:00

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個功能沒問題,可以上線了。 29別擔心,這個問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點
    發(fā)表于 12-10 08:24

    裸機方式的缺點有哪些

    進行的: 應用程序程序員必須確保數(shù)據(jù)一致性。 超級循環(huán)可以與系統(tǒng)計時器輕松同步,但: 如果系統(tǒng)需要多種不同的周期時間,則會很難實現(xiàn)。 超過超級循環(huán)周期的耗時函數(shù)需要做拆分。 增加軟件
    發(fā)表于 11-17 06:11

    軟通國際亮相2025沙中開源與AI科技峰會

    2025年11月11日,由沙特程序員協(xié)會(parmg)主辦的"2025沙中開源與AI科技峰會"在利雅得盛大啟幕。
    的頭像 發(fā)表于 11-14 17:45 ?1512次閱讀

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官

    1024程序員日”系列活動至此劃上了一個圓滿句號。本屆1024程序員節(jié)以“AI構建世界,智能引領未來”為主題,廣邀技術大咖、產(chǎn)業(yè)領袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?804次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    開鴻智谷“以賽促學、以賽選才”|1024程序員節(jié)暨開源鴻蒙構建大會圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構建大會在長沙圓滿落幕。本次活動以“湘聚長沙,共赴熱AI”為主題,通過技術分享與實戰(zhàn)競賽相結合的方式,著力培養(yǎng)“開源鴻蒙+AI”領域
    的頭像 發(fā)表于 10-27 17:58 ?736次閱讀
    開鴻智谷“以賽促學、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構建大會圓滿落幕!

    程序設計與數(shù)據(jù)結構

    的地址)出發(fā),采用推導的方式,深入淺出的分析了廣大C程序員學習和開發(fā)中遇到的難點。 2. 從方法論的高度對C語言在數(shù)據(jù)結構和算法方面的應用進行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    CPU的各種指令和執(zhí)行流程

    、數(shù)據(jù)傳輸?shù)裙δ?。要深?b class='flag-5'>理解CPU的指令,我們需要從多個維度進行分析,尤其是指令的構成、分類、執(zhí)行流程以及與不同架構的關系。
    的頭像 發(fā)表于 04-18 11:24 ?2732次閱讀

    Linux權限管理解析

    權限指的是某一個用戶針對某一個文件的權限(root超級管理擁有全部權限)
    的頭像 發(fā)表于 04-09 10:06 ?862次閱讀
    Linux權限管<b class='flag-5'>理解析</b>

    計算機網(wǎng)絡排錯思路總結

    明人不說暗話,這篇文章我們來聊一個非常有用,同時也是程序員必備的技能,那就是網(wǎng)絡排錯思路大總結。
    的頭像 發(fā)表于 04-01 17:32 ?933次閱讀
    計算機網(wǎng)絡排錯思路總結

    如何在 樹莓派 上編寫和運行 C 語言程序

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗豐富的程序員和想學習C語
    的頭像 發(fā)表于 03-25 09:28 ?1213次閱讀
    如何在 樹莓派 上編寫和運行 C 語言<b class='flag-5'>程序</b>?

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?2105次閱讀
    零基礎入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?

    Gemini Vision + Raspberry Pi 化身“數(shù)字導盲犬”?

    本文討論了一位程序員利用樹莓派、攝像頭、Gemini和Python構建PeregrineEye設備,使其成為“數(shù)字導盲犬”為視障者服務的項目經(jīng)歷,包括項目靈感、功能、構建過程、遇到的挑戰(zhàn)及未來計劃等
    的頭像 發(fā)表于 03-25 09:20 ?1976次閱讀
    Gemini Vision + Raspberry Pi 化身“數(shù)字導盲犬”?