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

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

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

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

硬件/軟件/固件的區(qū)別

GReq_mcu168 ? 來(lái)源:玩轉(zhuǎn)單片機(jī) ? 2020-05-07 15:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

軟件跟硬件之間的界限已經(jīng)越來(lái)越模糊了,那么處于這個(gè)灰色地帶的,就是固件了。這就分成三類工作者。

1、軟件工程師一般指做圖形界面的程序員,工作內(nèi)容就是寫C++、JAVA、Web等。 2、硬件工程師當(dāng)然是指玩電路板的,工作內(nèi)容就是畫原理圖、PCB等。 3、固件工程師也叫單片機(jī)工程師,既寫代碼(主要是C語(yǔ)言匯編)又要畫電路圖。

玩單片機(jī)的人,可能會(huì)有個(gè)疑問(wèn),為什么我寫的C語(yǔ)言能操作到底層的硬件?其實(shí)在《計(jì)算機(jī)組成原理》已經(jīng)有很詳細(xì)的介紹了。 我這里粗略地介紹一下,這個(gè)原理。

首先你可以搜索一下“從零開(kāi)始造電腦”,這位叫Steve的大神,就告訴你,用晶體管可以做出CPU(單片機(jī)也是CPU)。

當(dāng)然,我們現(xiàn)在可不會(huì)落后到需要到晶體管來(lái)制造電腦。 接下來(lái),你可以看一部叫《喬布斯》的電影,劇中就給你展示蘋果公司的第一臺(tái)計(jì)算機(jī)。

嘿嘿,看到那些黑色的芯片沒(méi)有?還有兩個(gè)大大的變壓器。這說(shuō)明了在大學(xué)玩單片機(jī)的時(shí)代,就相當(dāng)于回到蘋果公司的初始時(shí)期!是不是很激動(dòng)人心? 其實(shí)你可以用74系列的邏輯IC、單片機(jī)等,來(lái)搭建一個(gè)屬于自己的計(jì)算機(jī)。這就是說(shuō)人們把若干個(gè)晶體管集成為一塊74系列的IC,如果集成度更高呢?那就是手機(jī)或者臺(tái)式機(jī)用的多核CPU了。 好,介紹了這些古董之后,就讓你有個(gè)認(rèn)識(shí),計(jì)算機(jī)本質(zhì)上是N個(gè)晶體管的組合,也是數(shù)字邏輯芯片的組合,更高級(jí)的,就是一塊數(shù)?;旌系男酒唧w形式是由你的工藝決定的。現(xiàn)在回到正題,介紹一下數(shù)電的基礎(chǔ)知識(shí)。 因?yàn)镃PU主要功能是計(jì)算,也就是可以直接運(yùn)用數(shù)學(xué)知識(shí)來(lái)解決問(wèn)題,這里就舉個(gè)例子介紹一下,CPU如何計(jì)算加法,也就是用數(shù)電里的門電路搭一個(gè)加法器。

怎樣用晶體管搭這些與、或、非門就不說(shuō)了,不懂的,可以翻書(shū)。上圖就告訴你,可以用這些門電路搭一個(gè)加法器。 怎樣輸入Ai=0,Bi=1,Ci=0?用74系列的IC的話,可以直接把Ai,Ci接GND,Bi接VCC,就實(shí)現(xiàn)加法了。而在CPU內(nèi)部也是一樣可以這樣做的,但是CPU可沒(méi)那么死板,只算常數(shù)的加法。

上圖中,藍(lán)色箭頭指向的1,就是接VCC的,而紅色箭頭,就是接GND。 在CPU內(nèi)部,還有ROM,它可以把你要計(jì)算的加數(shù)和被加數(shù)存進(jìn)去(ROM輸出的高低電平,跟你接GND和VCC是一樣的效果),而結(jié)果則存在寄存器(先暫存,以備后面使用)。 現(xiàn)在有個(gè)問(wèn)題,如果加完之后還要計(jì)算乘法(在信號(hào)處理領(lǐng)域的卷積運(yùn)算的核心單元就是乘加器),怎么辦?誰(shuí)來(lái)自動(dòng)完成這個(gè)動(dòng)作?幸好,CPU里面有個(gè)叫ALU(算術(shù)邏輯單元)來(lái)處理這件事情。

這里的控制單元,就把ROM里面的數(shù)據(jù)取出來(lái),再用選擇器,來(lái)調(diào)用加法器和乘法器,最終把結(jié)果存到寄存器中。 如果ROM里面只存數(shù)據(jù),那是無(wú)法讓控制單元知道,你要執(zhí)行加法還是乘法,要解決這個(gè)問(wèn)題,就需要在ROM里面再劃分一個(gè)區(qū)域,存放指令碼。 這個(gè)指令碼,跟數(shù)據(jù)是一樣,都是0、1的二進(jìn)制數(shù),只是用途不同,所以起了不同的名字。 其實(shí)這個(gè)指令碼,對(duì)應(yīng)在單片機(jī)里面的匯編語(yǔ)言,就是操作碼(如:MOV);而操作數(shù)就是數(shù)據(jù)(如:01H)。具體的,可以看看單片機(jī)的教材。 根據(jù)指令碼的設(shè)計(jì)方法來(lái)分,有四種,分別是CISC、RISC、VLIW、TTA,具體區(qū)別可以看計(jì)算機(jī)組成原理。 而PC(程序計(jì)數(shù)器)就是控制ROM的地址,現(xiàn)在你要知道PC是不能出錯(cuò)的,一旦出錯(cuò),就意味著單片機(jī)不按照你的代碼來(lái)工作。 現(xiàn)在,我在8位的CPU的ROM里面,第一個(gè)地址存了0x03這個(gè)指令碼來(lái)代表加法,而在第二、三個(gè)地址存了加數(shù)和被加數(shù),然后在第四個(gè)地址存了0x05代表乘法,在第五、六個(gè)地址存了乘數(shù)和被乘數(shù)。那么,按照一定的規(guī)則來(lái)設(shè)計(jì)控制單元(這個(gè)規(guī)則可以自己定義的),它就知道0x03是要執(zhí)行加法。 那么這個(gè)規(guī)則如何設(shè)計(jì)?最簡(jiǎn)單的,就是用與門了,然后輸出一個(gè)使能信號(hào),讓加法器工作,就跟上面的74LS160差不多。 但是CPU可沒(méi)那么簡(jiǎn)陋,它可以使用狀態(tài)機(jī)、流水線等,來(lái)控制這些基本單元(如:加法器、乘法器),如下圖所示。

說(shuō)到這里,你至少應(yīng)該知道,我們只要改變ROM的內(nèi)容,就可以操作CPU內(nèi)部的ALU,從而操作CPU的各個(gè)硬件單元了。 下面給個(gè)相對(duì)完整一點(diǎn)的ALU內(nèi)部結(jié)構(gòu)圖。

ROM的內(nèi)容本質(zhì)上是一些電荷量(電容上有、無(wú)電荷,代表二進(jìn)制的1和0),也就是固件、軟件工程師寫的代碼。而硬件,就是由晶體管搭建的數(shù)字、模擬電路(如:?jiǎn)纹瑱C(jī)內(nèi)部的比較器、ADC等)。所以硬件是物理器件,不容易更改;而ROM的內(nèi)容完全可以用燒錄器就輕松改變它,修改成本非常低,而且很靈活。 在這里,你很難表述,這些電荷量是軟件還是硬件,但是CPU的這種結(jié)構(gòu),導(dǎo)致了兩種不同類型的工作者,我們稱他們?yōu)檐浖こ處熀陀布こ處?。而單片機(jī)程序員寫的代碼,跟硬件密切相關(guān),而且一旦完成之后,很少需要修改的(不像軟件工程師修改的那么頻繁),我們稱之為固件。

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

    關(guān)注

    6077

    文章

    45522

    瀏覽量

    671979
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5341

    瀏覽量

    91710
  • 晶體管
    +關(guān)注

    關(guān)注

    78

    文章

    10412

    瀏覽量

    148107

原文標(biāo)題:解讀:談?wù)動(dòng)布?軟件/固件的區(qū)別

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    固件版本錯(cuò)配:一個(gè)讓老工程師都栽過(guò)跟頭的“低級(jí)錯(cuò)誤”

    :使用“final_v2_new.hex”等模糊命名,無(wú)法從文件名追溯其對(duì)應(yīng)的硬件基準(zhǔn)與軟件變更。2.變更同步失效:硬件工程師進(jìn)行設(shè)計(jì)變更后,未通過(guò)正式流程(如變更通知單)更新受影響的固件
    發(fā)表于 12-18 10:31

    智能雙卡設(shè)計(jì)實(shí)戰(zhàn)指南:硬件電路與軟件配置詳解!

    在智能雙卡設(shè)計(jì)中,硬件電路的可靠性與軟件配置的精準(zhǔn)性直接決定雙卡功能的穩(wěn)定性。本文基于實(shí)際項(xiàng)目經(jīng)驗(yàn),詳細(xì)拆解硬件設(shè)計(jì)中SIM卡供電電路、時(shí)鐘信號(hào)匹配及卡槽復(fù)用設(shè)計(jì)的實(shí)現(xiàn)細(xì)節(jié),并同步講解軟件
    的頭像 發(fā)表于 12-16 15:13 ?509次閱讀
    智能雙卡設(shè)計(jì)實(shí)戰(zhàn)指南:<b class='flag-5'>硬件</b>電路與<b class='flag-5'>軟件</b>配置詳解!

    ADC模數(shù)轉(zhuǎn)換實(shí)戰(zhàn):硬件設(shè)計(jì)與軟件開(kāi)發(fā)要點(diǎn)指南!

    為實(shí)現(xiàn)高精度、高穩(wěn)定性的ADC模數(shù)轉(zhuǎn)換,硬件軟件設(shè)計(jì)均需遵循特定原則。硬件層面需優(yōu)化信號(hào)調(diào)理、參考電壓及抗干擾設(shè)計(jì);軟件層面需合理配置采樣參數(shù)、實(shí)現(xiàn)數(shù)據(jù)濾波及異常處理。本文將結(jié)合實(shí)際
    的頭像 發(fā)表于 12-16 13:25 ?462次閱讀
    ADC模數(shù)轉(zhuǎn)換實(shí)戰(zhàn):<b class='flag-5'>硬件</b>設(shè)計(jì)與<b class='flag-5'>軟件</b>開(kāi)發(fā)要點(diǎn)指南!

    芯源的CRC硬件計(jì)算誰(shuí)用過(guò)嗎?MCU的CRC你們喜歡用硬件的還是軟件的???

    芯源的CRC硬件計(jì)算誰(shuí)用過(guò)嗎?MCU的CRC你們喜歡用硬件的還是軟件的啊?
    發(fā)表于 12-01 08:25

    嵌入式系統(tǒng)profinet轉(zhuǎn)devicenet固件硬件接口的連接案例

    與貨物信息采集。核心需求是基于網(wǎng)關(guān)的嵌入式固件,實(shí)現(xiàn)硬件接口的適配與數(shù)據(jù)的高效處理。 Profinet從站(網(wǎng)關(guān))與西門子PLC的博圖組態(tài)步驟 硬件接口與固件版本確認(rèn):打開(kāi)TIAPor
    的頭像 發(fā)表于 11-18 14:11 ?1066次閱讀
    嵌入式系統(tǒng)profinet轉(zhuǎn)devicenet<b class='flag-5'>固件</b>與<b class='flag-5'>硬件</b>接口的連接案例

    音響中軟件分頻和硬件分頻區(qū)別解析以及對(duì)音質(zhì)和成本的影響

    ? ? ? 要理解藍(lán)牙音響中 軟件分頻 與 硬件分頻 的區(qū)別,需先明確 “分頻” 的核心目的:將音頻信號(hào)(20Hz-20kHz)拆分為不同頻段(如低頻、中頻、高頻),分別驅(qū)動(dòng)對(duì)應(yīng)頻段的喇叭單元
    的頭像 發(fā)表于 11-18 10:34 ?1284次閱讀

    廣凌智慧教室建設(shè)內(nèi)容:硬件軟件介紹

    廣凌科技(廣凌股份)憑借“硬件+平臺(tái)+數(shù)據(jù)”的深度融合,推出智慧教室整體解決方案,全面覆蓋智慧教室建設(shè)的硬件配置、軟件平臺(tái)、數(shù)據(jù)驅(qū)動(dòng)及場(chǎng)景適配需求,一起來(lái)看看廣凌智慧教室建設(shè)需要搭建什么硬件
    的頭像 發(fā)表于 11-11 16:17 ?1294次閱讀
    廣凌智慧教室建設(shè)內(nèi)容:<b class='flag-5'>硬件</b>與<b class='flag-5'>軟件</b>介紹

    程序線性補(bǔ)償和傳感器本身硬件補(bǔ)償有什么區(qū)別

    程序線性補(bǔ)償和傳感器硬件補(bǔ)償,涉及到傳感器信號(hào)處理的兩種核心思路。我們來(lái)詳細(xì)拆解一下它們的區(qū)別。簡(jiǎn)單來(lái)說(shuō):傳感器本身硬件補(bǔ)償:是在物理層面,通過(guò)額外的硬件元件或?qū)S眯酒?,直接在傳感器?nèi)
    的頭像 發(fā)表于 10-29 12:02 ?498次閱讀
    程序線性補(bǔ)償和傳感器本身<b class='flag-5'>硬件</b>補(bǔ)償有什么<b class='flag-5'>區(qū)別</b>?

    硬件融合拼接器與軟件融合拼接的區(qū)別?

    硬件融合拼接器和軟件融合拼接是兩種不同的圖像拼接技術(shù),它們?cè)趯?shí)現(xiàn)方式、效果和應(yīng)用場(chǎng)景等方面存在一些區(qū)別。 1、實(shí)現(xiàn)方式 硬件融合拼接器通常是通過(guò)硬件
    的頭像 發(fā)表于 09-28 14:33 ?561次閱讀

    求助,CYBT-243053-02 EZ固件問(wèn)題求解

    我們正在嘗試將 CYBT-243053-02 作為我們新硬件的潛在藍(lán)牙模塊,我們對(duì) CYBT-243053-02 的 EZ 固件和一般模塊幾乎沒(méi)有疑問(wèn). 1)。 我們一直在嘗試通過(guò) Cypress
    發(fā)表于 07-04 07:50

    請(qǐng)問(wèn)EZ-Serial固件是否使用任何OSS(開(kāi)源軟件)庫(kù)或軟件?

    EZ-Serial 固件是否使用任何 OSS(開(kāi)源軟件)庫(kù)或軟件?
    發(fā)表于 07-02 08:14

    Vector MICROSAR HSM固件通過(guò)ISO/SAE 21434認(rèn)證

    Vector針對(duì)汽車ECU硬件安全模塊(HSM)的固件產(chǎn)品——MICROSAR HSM,已正式通過(guò) ISO/SAE 21434認(rèn)證。作為一家國(guó)際軟件供應(yīng)商,此次認(rèn)證彰顯Vector致力于提供符合最高國(guó)際標(biāo)準(zhǔn)信息安全解決方案的承諾
    的頭像 發(fā)表于 06-12 17:33 ?1535次閱讀
    Vector MICROSAR HSM<b class='flag-5'>固件</b>通過(guò)ISO/SAE 21434認(rèn)證

    硬件輔助驗(yàn)證(HAV) 對(duì)軟件驗(yàn)證的價(jià)值

    硬件輔助驗(yàn)證 (HAV) 有著悠久的歷史,如今作為軟件驅(qū)動(dòng)驗(yàn)證的必備技術(shù),再度受到關(guān)注。 RISC-V 可能是說(shuō)明這一點(diǎn)的最好例子。HAV 能夠執(zhí)行多個(gè)周期的軟件驅(qū)動(dòng)驗(yàn)證,是加速 RISC-V
    的頭像 發(fā)表于 05-13 18:21 ?2122次閱讀

    RISC-V核低功耗MCU硬件安全特性

    ? ? ? ? RISC-V核低功耗MCU通過(guò)硬件級(jí)完整性校驗(yàn)、抗輻照設(shè)計(jì)、安全啟動(dòng)鏈等特性,全面覆蓋工業(yè)控制、汽車電子、物聯(lián)網(wǎng)等領(lǐng)域的安全需求,兼顧高可靠性與低功耗?。 一、?數(shù)據(jù)完整性驗(yàn)證與固件
    的頭像 發(fā)表于 04-23 15:49 ?987次閱讀

    學(xué)硬件好還是學(xué)軟件好?

    學(xué)硬件好還是學(xué)軟件好? 選擇學(xué)習(xí)硬件還是軟件取決于個(gè)人興趣、職業(yè)目標(biāo)以及對(duì)不同工作方式的偏好。以下是兩者的一些比較,幫助你做出更合適的選擇。 學(xué)習(xí)
    發(fā)表于 04-07 15:27