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

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

今天給大家帶來一篇勝似技術文的非技術文。 最近陸陸續續寫了幾篇關于CPU的文章,可能有的同學會問,程序員寫代碼就好了,為什么需要去理解CPU啊?不嫌累啊?啊?啊?你倒是說啊。

計算機系統 != 漢堡包

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

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

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

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

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

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

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

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

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

編輯:jq

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

    關注

    68

    文章

    11080

    瀏覽量

    217050
  • 計算機
    +關注

    關注

    19

    文章

    7662

    瀏覽量

    90784
  • 程序
    +關注

    關注

    117

    文章

    3826

    瀏覽量

    82976
  • 編譯器
    +關注

    關注

    1

    文章

    1662

    瀏覽量

    50216

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    程序設計與數據結構

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

    阿里云升級通義靈碼AI程序員,全面上線

    和JetBrains IDEs兩大主流開發環境,這意味著開發者可以在自己熟悉的開發平臺上,無縫接入并使用這款AI工具。 除了支持主流開發環境外,通義靈碼AI程序員還引入了多項新特性,如多文件代碼修改和上下文感知等。這些特性使得AI能夠更好地理解開發者的意圖和需
    的頭像 發表于 01-09 11:16 ?715次閱讀

    TMS320C6000程序員指南

    電子發燒友網站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發燒友網站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發表于 12-21 11:36 ?3次下載
    TMS320C55x DSP <b class='flag-5'>CPU</b><b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發燒友網站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    深入理解C語言:循環語句的應用與優化技巧

    程序設計中,我們常常需要重復執行某一段代碼。為了提高效率和簡化代碼,循環語句應運而生。C語言作為一門經典的編程語言,提供了多種循環控制結構,幫助程序員高效地實現重復操作。掌握循環語句的使用,不僅
    的頭像 發表于 12-07 01:11 ?635次閱讀
    深入<b class='flag-5'>理解</b>C語言:循環語句的應用與優化技巧

    機械革命發布CODE AI程序員

    近日,英特爾新質生產力技術生態大會在成都舉行,機械革命作為重要參展商帶來了多款明星產品引爆全場!其中更是在AI PC軟件生態產品發布分論壇上,Intel、智譜、機械革命三方聯合發布了專為程序員設計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發表于 11-30 10:34 ?1103次閱讀

    汽車制動系統原理解析 如何檢查汽車制動系統

    汽車制動系統原理解析 汽車制動系統是車輛安全行駛的重要組成部分,它的作用是在需要時使車輛減速或停止。現代汽車的制動系統通常包括以下幾個部分:制動踏板、制動總泵、制動分泵、制動盤或制動鼓以及制動液
    的頭像 發表于 11-28 09:40 ?1069次閱讀

    Linux驅動程序程序員指南

    電子發燒友網站提供《Linux驅動程序程序員指南.pdf》資料免費下載
    發表于 11-22 15:53 ?0次下載
    Linux驅動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發表于 11-08 10:17 ?529次閱讀

    軟通動力子公司鴻湖萬聯助陣鴻蒙1024程序員節成功舉辦

    10月24日,在武漢、成都、深圳等地政府指導下,鴻蒙生態服務公司舉辦了一場面向廣大開發者的盛會——鴻蒙1024程序員節暨鴻蒙原生應用交流會。軟通動力子公司鴻湖萬聯作為開源鴻蒙生態的重要參與者和貢獻者
    的頭像 發表于 10-29 15:49 ?752次閱讀
    軟通動力子公司鴻湖萬聯助陣鴻蒙1024<b class='flag-5'>程序員</b>節成功舉辦

    第五屆長沙·中國1024程序員節開幕

    據官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節在湖南湘江新區開幕;本次中國1024程序員節以“智能應用新生態”為主題。設置有岳麓對話、技術英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發表于 10-25 15:42 ?498次閱讀

    CPU主要參數有哪些

    CPU(Central Processing Unit,中央處理器)是計算機系統的核心部件,負責執行程序指令、處理數據和進行邏輯運算。CPU的參數繁多,但其中一些關鍵參數對于理解和選擇
    的頭像 發表于 09-10 11:51 ?3055次閱讀

    CPU線程和程序線程的區別

    CPU的線程與程序的線程在概念、作用、實現方式以及性能影響等方面存在顯著差異。以下是對兩者區別的詳細闡述,旨在深入探討這一技術話題。
    的頭像 發表于 09-02 11:18 ?2130次閱讀

    技術干貨驛站 ▏深入理解C語言:掌握程序結構知識

    在計算機編程的世界中,C語言被廣泛認可為一門強大而高效的編程語言,其簡潔的語法和直接的指令使得它成為了許多程序員的首選。了解C語言的程序結構和基本語法對于初學者來說至關重要。從一個簡單
    的頭像 發表于 07-27 08:45 ?1859次閱讀
    技術干貨驛站 ▏深入<b class='flag-5'>理解</b>C語言:掌握<b class='flag-5'>程序</b>結構知識