X86基礎知識
基礎換算:
Mbps 即 Milion bit pro second(百萬位每秒);
Kbps 即 Kilobit pro second(千位每秒);
bps 即 bit pro second(位每秒);
速度單位,bit即比特,通常用b(小寫)表示,指一位二進制位,Milionbit=1000Kilobit=1000000bit;
所以1Mbps=1000 000bps;
這是通常用來衡量帶寬的單位,指每秒鐘傳輸的二進制位數;
而通常軟件上顯示的速度則是指每秒種傳輸的字節數(Byte)通常用B(大寫)表示;
MB即百萬字節也稱兆字節;
KB即千字節;
B即字節;
之間關系為1MB=1024KB=1024*1024B;
1B=8b;
所以1M帶寬即指1Mbps=1000Kbps=1000 / 8 KBps =125 KBps;
因此1M的帶寬下載的速度一般不會超過125KB每秒。
2M、3M帶寬分別是250 KBps、375 KBps;
2M、3M帶寬的下載速度分別不會超過250KB、375KB每秒。
ASCII碼: 一個英文字母(不分大小寫)占據一個字節,一個中文漢字占據2個字節,一個二進制的數字序列,作為計算機中的一個數字單元,一般為 8位二進制。
存儲單位和網速的單位,不管是 B 還是 b ,都是代表字節 Byte
帶寬的單位,不管是 B 還是 b,都是代表 比特 bit
X86的含義: X86是基于Intel處理器的系統的標準縮寫。X與處理器沒有任何關系,它是對所有*86系統的簡單的通配符定義,是Intel通用計算機系列的編號,也標識一套通用的計算機指令集合。由于早期的Intel的CPU編號都是8086,80186-80486等來編號,而且都是兼容的,所以就直接用X86標識所使用的指令集合。
X86與X64的區別
8086是16位處理器,直到1985年32位的80386開發,這個架構都維持在16位。2003年AMD對這個架構發展了64位的擴充,后來Intel也推出了與之兼容的處理器,并命名為Intel64,這種架構被稱為 IA-64,IA-64是一種嶄新的系統,和X86架構完全沒有相似性,不要混淆。
CPU的定義
中央處理器,central processing unit ,Intel 公司有 奔騰、賽揚、酷睿;AMD公司有 速龍、閃龍、翼龍
不同型號的處理器區別在于 核心數、功率、三級緩存、工藝的不同
主頻換算: 1GHz = 1000MHz, 1MHz = 1000kHz, 1kHz = 1000Hz
緩存:緩存大小是CPU的重要指標之一,緩存的容量增大,可以大幅度的提升CPU內存讀取數據中的命中率,而不需要再到內存或硬盤中尋找,以提高系統性能。
Chipset (芯片集) 的含義
Chipset是主板的核心組成部分,如果說CPU是整個電腦系統的心臟,那么芯片組將是整個身體的軀干。對于主板而言,芯片組幾乎決定了這塊主板的功能,進而影響到整個電腦系統性能的發揮,芯片組是主板的靈魂。芯片組性能的優劣,決定了主板性能的好壞與級別的高低。主板芯片組 幾乎決定著主板的全部功能,其中CPU的類型,主板的系統總線頻率,內存類型,容量和性能,顯卡插槽規格 是由芯片組中的北橋芯片決定的;而擴展槽的種類與數理、擴展接口的類型和數量(如USB,串口IEEE1394,并口)等,是由芯片組的南橋決定的。還有些芯片組由于納入了3D加速顯示(集成顯示芯片)AC 97 聲音解碼等功能,還決定著計算機的系統的顯示性能和音頻播放性能。
BIOS含義:
BIOS是英文 Basic Input Output System 的縮寫,就是 基本輸入輸出系統。其實它是一組 固化到計算機內主板上一個 ROM芯片上的程序,它保存著計算機最重要的基本輸入輸出的程序、系統設置信息、開機后自檢程序和系統自啟動程序。其主要功能是為計算機提供最底層的、最直接的硬件設置和控制。
CMOS與BIOS的區別:在計算機領域,CMOS常指 保存計算機基本啟動信息(如日期、時間、啟動設置等)的芯片。有時人們會把CMOS和BIOS混稱,其實 CMOS是主板上的一塊可讀寫的并行或串行FLASH芯片,是用來保存BIOS的硬件配置和對用戶的某些參數設定。
BIOS的分類:
目前市面上流行的主板BIOS主要有 Award BIOS、AMI BIOS、Phoenix BIOS三種類型。
開機LOGO
系統啟動時屏幕上顯示的畫面,是可以更換的,但是這個LOGO圖片需要特定的屬性的,需要 640*480,16位色BMP文件才可以。
IO:I/O 輸入輸出的縮寫,分為 IO設備 和 IO接口兩個部分。 IO的功能主要包括負責從鍵盤、鼠標、串行接口等設備傳來串行數據,將它們轉換成為 并行數據,同時也負責 并行接口、軟驅接口的數據傳輸與處理。
串口:
串行接口,也稱串行通訊接口(通常指COM接口,通常COM1使用9針D形連接器,也稱為RS-232接口),是采用串行通信方式的擴展接口。串行接口(serial interface)是指數據一位一位的順序傳送,其特點是通信線路簡單,只要一對傳輸線就可以實現雙向通信(可以直接利用電話線作為傳輸線),降低成本,特別適用于遠距離通信,但傳送速度較慢。
串口標準:典型的標準有 RS485,RS422,RS232。這種標準是一種電氣標準,它們定義了電壓,阻抗等,但不對軟件協議給予定義。
與并口的區別:
串口形容一下就是一條車道,而并口就是有8個車道同一時刻能傳送8位(一個字節)的數據。但并不是說并口快,由于8位通道直接互相干擾(串擾),傳輸速度就會受到限制,傳輸容易出錯。串口 沒有互相干擾,并口同時發送的數據量大,但要比串口慢。串口硬盤就是這樣被人們重視的。
BUS
總線BUS 是計算機各個功能部件之間傳輸信號的公共通信干線,它是由導線組成的傳輸線束。總線是一種內部結構,它是CPU、內存、輸入、輸出設備信息傳遞的公用通道,主機的各個部件通過總線相連接,外部設備通過相應的接口電路再與總線相連接,從而形成了計算機硬件系統。
BUS分類:
數據總線 data bus 地址總線 address bus 控制總線 control bus
常見總線:
USB 通用串行總線:
USB1.0: 1.5Mbps、USB2.0: 480Mbps、USB3.0: 5Gbps (640MB / s)
RAID
RAID是 redundant array of independent disk的縮寫,中文意思是 獨立冗余磁盤陣列,簡稱磁盤陣列。RAID的規范有 RAID0、RAID1、RAID5和RAID7等。
X86 架構是最早由 Intel提出的,簡單的說,CPU、主板、北橋、南橋、內存、硬盤、顯卡、網卡、聲卡、總線、接口、鍵盤、鼠標、顯示器、電源及插槽組成了PC。當主機通電時,電流會瞬間通過 CPU、南北橋芯片、內存插槽、PCI插槽、SATA接口及主板邊緣的串口、并口、PS/2接口等,然后主板根據BIOS識別硬件,進入操作系統,實現整臺PC的功能。
North Bridge
北橋是主板芯片組中起主導作用的最重要組成部分,是主板上離CPU最近的一塊芯片,主要負責處理CPU、RAM、AGP端口和南橋芯片之間的通信。
FSB、DMI、LCP
FSB:front side bus 是將CPU連接到北橋的總線。DMI: direct media interface 是連接主板南北橋的總線。 LPC: low pin count 取代ISA總線,是連接south bridge和super I/O的總線。
South bridge
南橋芯片是主板芯片組的重要組成部分,主要負責I/O總線之間的通信,如PCI總線、USB、LAN、ATA、SATA、音頻控制器、鍵盤控制器、實時時鐘控制器、高級電源管理等。
Hard Disk
硬盤是電腦主要的存儲媒介之一,分為固態應聘SSD、機械硬盤HDD、混合硬盤HHD。SSD采用閃存顆粒來存儲,HDD采用磁性碟片來存儲,混合hybrid hard disk是二者結合。
IDE
Integrated Drive Electronics,即 電子集成驅動器,是現在普遍使用的外部接口,主要接硬盤和光驅。IDE接口的優點是價格低廉、兼容性強,缺點是速度慢、線纜長度過短、連接設備少。
ACHI
Advance Central High Interface,中央高級高頻接口,它描述了一種PCI類設備,AHCI 本質是一種PCI 類設備,在系統內存總線和串行CPU設備內部 邏輯之間扮演一種通用接口的角色,它在不同操作系統和硬件中是通用的,AHCI 支持設備熱插拔已經增強性能的本地指令序列技術。
串行和并行:數據傳送方式不同,串口傳輸方式為數據排成一排,一位一位的送出,接收也一樣,并口傳送8位數據一次送出。串口針腳少,并口針腳多。串口多用于控制接口,并口多用于打印機、掃描儀等接口。串口一般指硬件上的COM接口,一般PC主板都提供兩個串口,而并口,一般就是打印機接口。串口傳輸速度慢,但費用低,并行適合短距離,但速度快。
RAID
Redundant Arrays of Independent Disks,獨立磁盤冗余陣列是把 相同的數據存儲在多個硬盤的不同的地方的方法。通過把數據放在多個硬盤上,輸入輸出操作能以平衡的方式交疊,改良性能。磁盤陣列其樣式有三種:一是外接式磁盤陣列柜、二十內接式磁盤陣列卡,三是利用軟件來仿真。
USB:Universal Serial BUS,通用串行總線是一個 外部總線標準,用于規范電腦與外部設備的連接和通訊。USB傳輸速度快(USB2.0是480Mbps,USB3.0是5Gbps),幾乎可用于所有外部設備。
SPI:
serial peripheral interface 即串行外設接口,SPI總線系統是 一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。SPI有三個寄存器分別為:控制寄存器SPCR、狀態寄存器SPSR、數據寄存器SPDR。外圍設備包括 FLASHRAM、網絡控制器、LCD顯示驅動器、A/D轉換器和MCU等。
Audio、Slots、CMOS
Audio即受南橋控制的音頻和視頻設備的接口;Slots即通過PCIE總線接口標準與南橋相連接的各種擴展槽;CMOS,complementary metal oxide semiconductor 即互補金屬氧化物半導體,電壓控制的一種放大器件,是計算機中保存基本啟動信息(如時間、日期、啟動設置)的芯片。
Ethernet
即以太網,這里是受主板上南橋控制的網絡接口
Super I/O
Super I/O芯片也叫 I/O芯片,通過LPC總線與南橋進行通信,負責提供串行、并行接口、軟盤、光驅動器USB及鍵盤鼠標等控制接口。在南橋這樣的高速設備和串行、并行接口、軟盤驅動器光驅動器USB及鍵盤鼠標等大量設備之間必定存在資源的不匹配,而需要經過轉換和管理。而Super I/O 芯片則完成了該功能。
COM、Floppy
這里的COM指的是計算機主板上的串行通訊接口,微機上的COM口通常是9針,也有25針接口,最大速率115200bps。通過用于連接鼠標(串口)及通訊設備(如外接外置式MODEM進行數據通訊或一些工廠的CNC機接口)等。Floppy指軟盤,是早期可移介質,軟盤的讀寫通過軟盤驅動器完成的。
LPT、PS/2、UART
line print terminal 即打印終端,LPT接口一般用來連接打印機或掃描儀。
PS/2是在較早電腦上的接口,接輸入裝置接口,用于鼠標、鍵盤等。
Universal Asynchronous Receiver/Transmitter 是一種異步收發傳輸器,是電腦硬件的一部分。將資料由串行通信與并行通信間作傳輸轉換,作為并行輸入成為串行輸出的芯片,通常集成與其他通訊接口的連接上。
參考文章
嵌入式系統簡介
嵌入式 定義:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,對功能、可靠性、成本、體積、功耗等嚴格要求的 專用計算機系統。嵌入式系統有時也稱為 嵌入式計算機系統,指的就是專用計算機系統。
嵌入式系統特點:
將先進的計算機技術、半導體技術、電子技術與各行各業的具體應用相結合的產物
嵌入式系統通常是面向用戶、面向產品、面向特定應用的。嵌入式的CPU都具有功耗低、體積小、集成度高的特點,能夠把通用CPU中許多由板卡完成的任務 集成在芯片內部,從而使整個系統設計趨于小型化,移動能力日益增強,與網絡的關系也越來越密切。
嵌入式系統和具體應用有機的結合在一起,其升級換代也是和具體產品同步進行的,因此嵌入式系統產品一旦進入市場,就具有較長的生存周期。
為了提高執行速度和系統的可靠性,嵌入式系統中的軟件一般都固化在存儲芯片中或單片機中,而不是存儲于磁盤等載體中,也叫固件。
嵌入式系統本身不具備在其上進一步開發的能力。
嵌入式發展歷程:第一階段主要就是 單片機時代,第二階段是 微控制器階段,主要的技術發展方向是不斷擴展對象系統要求的各種外圍電路和接口電路,突顯其對象的智能化控制能力。第三階段是片上系統SOC,主要特點是嵌入式系統能夠運行于各種不同類型的微處理器上,兼容性好,操作系統內核小,效果好。第四階段以Internet為標志的嵌入式系統。集成了網絡接口,且嵌入式設備可應用于網絡環境中。
嵌入式系統結構:
嵌入式硬件系統:包括 處理器、存儲器、輸入輸出接口
軟件系統:主要包括兩塊,嵌入式操作系統和應用軟件
BSP(板級支持包)
BSP是介于主板硬件和操作系統中驅動層程序之間的一層,一般認為它屬于操作系統的一部分,主要是實現對操作系統的支持,為上層的驅動程序提供訪問硬件設備寄存器的函數包,使之能夠更好的運行于硬件主板。在嵌入式系統軟件的組成中,就有BSP。
嵌入式的操作系統: 大致經過了4個明顯的階段,一是無操作系統,直接用匯編語言對系統進行直接控制;二是以嵌入式CPU為基礎,簡單操作系統為核心的嵌入式系統;三是通用的嵌入式實時操作系統階段,該階段嵌入式操作系統為核心;四是以基于Internet為標志的嵌入式系統,這是一個正在發展的階段。常用的嵌入式操作系統有: VxWorks、Windows CE、嵌入式 Linux等。
應用軟件:嵌入式系統領域的應用軟件是為了解決某些特定應用性問題而設計出來的軟件,如瀏覽器 播放器等。與通用計算器相比,由于嵌入式系統的資源有限,致使對應用軟件有更多苛求,要求盡量做到高效、低耗。
IEEE(國際電氣和電子工程師協會):
嵌入式系統是用于控制、監視或者輔助操作機器和設備的裝置
SCM(single chip microcomputer)單片機
一種集成電路芯片、采用超大規模集成電路技術把具有數據處理能力的CPU、RAM、ROM、多種I/O等集成到一塊硅片上構成的一個小而完善的微型計算機系統。
MCU:micro controller unit 微控制器
SoC:system on a chip 系統級芯片
IP:intellectual property 知識產權核
任務:
任務是一個具有獨立功能的無限循環的程序段一次運行活動,是實時內核調度的單位,包含代碼、數據、堆棧、程序執行的上下文環境,具有動態性(任務不斷變化);并行性(多個任務可宏觀上同時運行);異步獨立性(每個程序獨立運行)
內核(kernel)
多任務系統中,內核負責管理各個任務,或者說為每個任務分配CPU時間,并且負責任務之間的通信。
內核提供基本服務是任務切換。內核本身也增加了應用程序的額外負荷,代碼空間增加ROM用量,內核本身的數據結構增加了RAM的用量。內核本身對CPU的占用時間一般在2-5個百分點。
調度(scheduler 或 dispatcher)
內核的主要職責之一是決定那個任務運行,多數實時內核是基于優先級調度法的。每個任務根據其重要程度被賦予一定優先級,CPU總是讓處在就緒態的優先級最高的任務先運行。
嵌入式軟件開發特點:
需要交叉開發環境:交叉開發環境是指 實現編譯、鏈接和調試應用程序代碼的環境。與運行應用程序的環境不同,它分散在有通信連接的宿主機和目標機環境之中。
宿主機(Host)目標機(Target)
是一臺通用計算機,它通過串口或者網絡連接與目標機通信; 可以是嵌入應用軟件的實際運行環境,也可以是能替代實際環境的仿真環境。
Linux 開發流程
對于嵌入式開發,最初的設備是一個空白的系統,需要通過主機為它構建基本的軟件系統,并燒寫到設備中,另外,嵌入式設備的資源并不足以用來開發軟件。所以需要用到交叉開發模式,在主機上編輯、編譯軟件,然后在目標板上運行,驗證程序。一般分為三個步驟:一在主機上編譯BootLoader,然后通過Jtag燒入單板; 二在主機上編譯嵌入式Linux內核,通過BootLoader燒入單板或者直接啟動; 三是在主機上編譯各類應用程序,單板啟動內核后通過NFS運行它們,經過驗證后再燒入單板。
參考文章
自動化知識
自動控制技術 是自動化單元技術和 集成技術 及其在各類控制系統中的應用。它以自動控制理論為基礎,以電力電子技術、傳感器技術、計算機技術、網絡通信技術為 主要工具,面向工業生產中的自動控制 及 各行業各部門的自動化。它具有 控管結合,強弱并重,軟硬兼施。
PLC:
世界上第一臺PLC是由美國 DEC 公司 根據通用汽車GE的要求研發而成的。
PLC集電傳、電控、電儀 為一體,具有 性價比高,可靠性高的特點,已成為自動化工程的核心設備。