91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

軟件跟硬件之間的灰色地帶:固件

GReq_mcu168 ? 來源:玩轉單片機 ? 作者:玩轉單片機 ? 2020-10-13 17:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

軟件跟硬件之間的界限已經越來越模糊了,那么處于這個灰色地帶的,就是固件了。這就分成三類工作者。

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

玩單片機的人,可能會有個疑問,為什么我寫的C語言能操作到底層的硬件?其實在《計算機組成原理》已經有很詳細的介紹了。 我這里粗略地介紹一下,這個原理。
首先你可以搜索一下“從零開始造電腦”,這位叫Steve的大神,就告訴你,用晶體管可以做出CPU(單片機也是CPU)。

當然,我們現在可不會落后到需要到晶體管來制造電腦。 接下來,你可以看一部叫《喬布斯》的電影,劇中就給你展示蘋果公司的第一臺計算機。

嘿嘿,看到那些黑色的芯片沒有?還有兩個大大的變壓器。這說明了在大學玩單片機的時代,就相當于回到蘋果公司的初始時期!是不是很激動人心? 其實你可以用74系列的邏輯IC、單片機等,來搭建一個屬于自己的計算機。這就是說人們把若干個晶體管集成為一塊74系列的IC,如果集成度更高呢?那就是手機或者臺式機用的多核CPU了。 好,介紹了這些古董之后,就讓你有個認識,計算機本質上是N個晶體管的組合,也是數字邏輯芯片的組合,更高級的,就是一塊數模混合的芯片,具體形式是由你的工藝決定的。現在回到正題,介紹一下數電的基礎知識。 因為CPU主要功能是計算,也就是可以直接運用數學知識來解決問題,這里就舉個例子介紹一下,CPU如何計算加法,也就是用數電里的門電路搭一個加法器。

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

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

這里的控制單元,就把ROM里面的數據取出來,再用選擇器,來調用加法器和乘法器,最終把結果存到寄存器中。 如果ROM里面只存數據,那是無法讓控制單元知道,你要執行加法還是乘法,要解決這個問題,就需要在ROM里面再劃分一個區域,存放指令碼。 這個指令碼,跟數據是一樣,都是0、1的二進制數,只是用途不同,所以起了不同的名字。

其實這個指令碼,對應在單片機里面的匯編語言,就是操作碼(如:MOV);而操作數就是數據(如:01H)。具體的,可以看看單片機的教材。 根據指令碼的設計方法來分,有四種,分別是CISC、RISC、VLIW、TTA,具體區別可以看計算機組成原理。 而PC(程序計數器)就是控制ROM的地址,現在你要知道PC是不能出錯的,一旦出錯,就意味著單片機不按照你的代碼來工作。 現在,我在8位的CPU的ROM里面,第一個地址存了0x03這個指令碼來代表加法,而在第二、三個地址存了加數和被加數,然后在第四個地址存了0x05代表乘法,在第五、六個地址存了乘數和被乘數。那么,按照一定的規則來設計控制單元(這個規則可以自己定義的),它就知道0x03是要執行加法。 那么這個規則如何設計?最簡單的,就是用與門了,然后輸出一個使能信號,讓加法器工作,就跟上面的74LS160差不多。 但是CPU可沒那么簡陋,它可以使用狀態機、流水線等,來控制這些基本單元(如:加法器、乘法器),如下圖所示。

說到這里,你至少應該知道,我們只要改變ROM的內容,就可以操作CPU內部的ALU,從而操作CPU的各個硬件單元了。 下面給個相對完整一點的ALU內部結構圖。

ROM的內容本質上是一些電荷量(電容上有、無電荷,代表二進制的1和0),也就是固件、軟件工程師寫的代碼。而硬件,就是由晶體管搭建的數字、模擬電路(如:單片機內部的比較器ADC等)。所以硬件是物理器件,不容易更改;而ROM的內容完全可以用燒錄器就輕松改變它,修改成本非常低,而且很靈活。 在這里,你很難表述,這些電荷量是軟件還是硬件,但是CPU的這種結構,導致了兩種不同類型的工作者,我們稱他們為軟件工程師和硬件工程師。而單片機程序員寫的代碼,跟硬件密切相關,而且一旦完成之后,很少需要修改的(不像軟件工程師修改的那么頻繁),我們稱之為固件。

責任編輯:xj

原文標題:軟硬件之間其實還有一個固件! 你知道嗎?

文章出處:【微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。

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

    關注

    11

    文章

    3481

    瀏覽量

    67459
  • 軟件
    +關注

    關注

    69

    文章

    5150

    瀏覽量

    89182
  • 固件
    +關注

    關注

    10

    文章

    566

    瀏覽量

    23887

原文標題:軟硬件之間其實還有一個固件! 你知道嗎?

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    硬件為DC890B+DC2222A-A,PSCOPE軟件閃退的原因?如何解決?

    軟件,并給硬件系統正確供電,PSCOPE 軟件 閃退,換不同電腦情況一樣。 對PSCOPE軟件閃退錄屏幕,可以看 PSCOPE
    發表于 07-11 08:16

    芯盾時代解決方案助力企業阻斷數據泄密風險

    與內部員工相比,外包人員的管理存在天然的“灰色地帶”,其數據泄密風險更具隱蔽性和突發性。
    的頭像 發表于 07-07 14:49 ?370次閱讀

    求助,CYBT-243053-02 EZ固件問題求解

    我們正在嘗試將 CYBT-243053-02 作為我們新硬件的潛在藍牙模塊,我們對 CYBT-243053-02 的 EZ 固件和一般模塊幾乎沒有疑問. 1)。 我們一直在嘗試通過 Cypress
    發表于 07-04 07:50

    請問EZ-Serial固件是否使用任何OSS(開源軟件)庫或軟件

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

    Vector MICROSAR HSM固件通過ISO/SAE 21434認證

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

    CYPD5235的CC Pin功能異常,還可能會什么有關?

    /VSYS/VDDD/V5V_P1的電都是正常的。 請教問題: 1。CYPD5235的CC Pin功能異常,還可能會什么有關? 2。去掉的MP8859,會影響CYPD5235的軟件代碼執行嗎?如果會
    發表于 05-30 07:04

    硬件好還是學軟件好?

    學習軟件可能更適合你。軟件行業的就業機會非常廣泛,涵蓋了互聯網、游戲開發、金融、醫療等多個領域。 此外,硬件軟件之間也存在一定的交叉領域。
    發表于 04-07 15:27

    一個匯川西門子PLC之間通訊項目調試的筆記

    剛完成了一個匯川西門子PLC之間通訊項目,采集IGT-DSER智能網關,兩邊的PLC內都不用編程的; 支持字節順序的調整,通訊速度是毫秒級別的,與總線無差異; 該方法也可以實現西門子PLC三菱、歐姆龍、羅克韋爾AB等PLC
    發表于 03-26 14:24

    DLP寄存器該如何配置,如何生成自己的固件、用DLP的燒錄工具軟件進行固件合成燒寫?

    DLP寄存器該如何配置,如何生成自己的固件、用DLP的燒錄工具軟件進行固件合成燒寫?
    發表于 02-28 07:09

    AD采樣硬件軟件濾波問題如何解決

    AD采樣硬件軟件濾波問題 ADS1115我用ADS1115采樣 原理上完全可以精確到1mV 可是實際上有10mV的波動 請問大家對采樣的硬件軟件都是怎樣濾波的啊 采集很簡單的直
    發表于 01-20 09:38

    RAID 5 硬件軟件 RAID 的區別

    RAID 5硬件RAID與軟件RAID之間存在顯著的差異,這些差異主要體現在實現方式、性能、數據安全性、靈活性以及成本等方面。 一、實現方式 硬件RAID : 依賴于專用的
    的頭像 發表于 12-27 18:05 ?1208次閱讀

    【OTA升級】無需數據線,一條命令即可完成固件升級!

    OTA無線升級過程視頻演示:OTA介紹OTA(Over-The-Air,空中升級)是一種通過無線通信技術實現遠程更新設備固件軟件的方法。設備批量投入使用后,由于部署范圍太廣、設備數量太多、部署
    的頭像 發表于 12-11 01:00 ?3746次閱讀
    【OTA升級】無需數據線,一條命令即可完成<b class='flag-5'>固件</b>升級!

    C2000軟件控制的固件更新過程

    電子發燒友網站提供《C2000軟件控制的固件更新過程.pdf》資料免費下載
    發表于 09-19 11:30 ?0次下載
    C2000<b class='flag-5'>軟件</b>控制的<b class='flag-5'>固件</b>更新過程

    揭秘:單片機硬件軟件延時之大不同!

    在嵌入式項目中,軟件開發基本上都會使用到延時,那么,該用軟件延時還是硬件延時?它們又有什么區別呢?今天就來講講關于硬件延時和軟件延時的內容,
    的頭像 發表于 07-25 08:11 ?1377次閱讀
    揭秘:單片機<b class='flag-5'>硬件</b>與<b class='flag-5'>軟件</b>延時之大不同!
    主站蜘蛛池模板: 天天色天天色天天色 | 中文字幕一二三区 | 日本不卡视频一区二区 | 性网站免费 | 欧美18在线| 四虎影院免费网址 | 性色综合 | 一级做a爰片久久毛片鸭王 一级做a爰片久久毛片一 | 深点再深一点好爽好多水 | 国产h在线 | 免费观看做网站爱 | 亚洲1314 | 美日韩中文字幕 | 69久久夜色精品国产69小说 | 国产午夜免费一区二区三区 | 国产视频一区二 | 国模啪啪一区二区三区 | 羞羞视频靠逼视频大全 | 欧美成人一区二区三区在线视频 | 深爱婷婷网| 夜夜操操操 | 怡红院精品视频 | 色偷偷91综合久久噜噜 | 扒开双腿猛进入jk校视频 | 国产最新网站 | 521色香蕉网在线观看免费 | 国产精品青草久久久久福利99 | 免费看黄色的网站 | 亚洲综合色吧 | 日本免费黄色网址 | 久久亚洲综合中文字幕 | 天天摸天天看天天做天天爽 | 人人干视频| 樱桃磁力bt天堂 | 在线观看亚洲一区二区 | 日韩一级特黄毛片在线看 | 免费看大美女大黄大色 | 一级毛片在线播放 | 丁香婷婷成人 | 四虎黄色影院 | 操美女网址 |