一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

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

GReq_mcu168 ? 來源:CSDN技術社區(qū) ? 作者:碼農的荒島求生 ? 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é)是很容易的(只是需不需要的問題),反之則非常困難。而且依靠這種精確的模糊已經能解決很多問題,而后者則不能。

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

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

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

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

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

編輯:jq

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

    關注

    68

    文章

    11080

    瀏覽量

    217120
  • 計算機
    +關注

    關注

    19

    文章

    7663

    瀏覽量

    90825
  • 程序
    +關注

    關注

    117

    文章

    3826

    瀏覽量

    83002
  • 編譯器
    +關注

    關注

    1

    文章

    1662

    瀏覽量

    50232

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

    TMS320C6000程序員指南

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

    TMS320C55x DSP CPU程序員參考補充

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

    UCD3138A64/UCD3138128程序員手冊

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

    深入理解C語言:循環(huán)語句的應用與優(yōu)化技巧

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

    機械革命發(fā)布CODE AI程序員

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

    汽車制動系統(tǒng)原理解析 如何檢查汽車制動系統(tǒng)

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

    Linux驅動程序程序員指南

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

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

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

    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024程序員節(jié)成功舉辦

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

    第五屆長沙·中國1024程序員節(jié)開幕

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

    CPU主要參數(shù)有哪些

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

    CPU線程和程序線程的區(qū)別

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

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

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