系統架構設計師備考之架構設計基礎

1.計算機系統基礎知識

1.1.計算機系統概述

計算機系統的定義與組成

計算機系統是指用于數據管理的計算機硬件、軟件及網絡組成的系統。
計算機系統可劃分為硬件和軟件兩部分。硬件由機械、電子元器件、磁介質和光介質等物理實體構成;
軟件是一系列按照特定順序組織的數據和指令,并控制硬件完成指定的功能。

?計算機系統分類

計算機系統的分類維度很多,也較為復雜,可以從硬件的結構、性能、規模上劃分,亦可從軟件的構成、特征上劃分,或者從系統的整體用途、服務對象等進行分類

1.2.?計算機硬件基礎知識

馮.諾依曼計算機結構

馮·諾依曼計算機結構將計算機硬件劃分為運算器、控制器、存儲器、輸入設備、輸出設備5個部分。
但在現實的硬件中,控制單元和運算單元被集成為一體,封裝為通常意義上的中央處理器(CentralProcessing Unit,CPU)。

?典型的處理器系統

?專業處理器

除了通用的處理器,用于專用目的的專用處理器芯片不斷涌現,常見的有圖形處理器(Graphics Processing Unit,GPU)、信號處理器(Digital Signal Processor,DSP)以及現場可編程邏輯門陣列(Field Programmable Gate Array,FPGA)等。GPU 常有數百個或數千個內核,經過優化可并行運行大量計算;

DSP專用于實時的數字信號處理,常采用哈佛體系結構

指令集系統?

典型的處理器根據指令集的復雜程度可分為復雜指令集(Complex Instruction Set Computers,CISC)與精簡指令集(Reduced Instruction Set Computers,RISC)兩類。CISC以Intel、AMD的x86 CPU為代表,RISC以ARM和Power為代表。國產處理器目前有龍芯、飛騰、申威等品牌,常采用RISC-V、MIPS、ARM等精簡指令集架構。

?存儲器

存儲器是利用半導體、磁、光等介質制成用于存儲數據的電子設備。根據存儲器的硬件結構可分為SRAM、DRAM、NVRAM、Flash、EPROM、Disk等。
按照與處理器的物理距離可分為4個層次:片上緩存、片外緩存、主存(內存)、外存。
其訪問速度依次降低,而容量依次提高

總線?

總線(Bus)是指計算機部件間遵循某一特定協議實現數據交換的形式,即以一種特定格式按照規定的控制邏輯實現部件間的數據傳輸。
按照總線在計算機中所處的位置劃分為內總線、系統總線和外部總線
目前,計算機總線存在許多種類,常見的有并行總線和串行總線。兩者的區別見表

?接口

接口是指同一計算機不同功能層之間的通信規則。計算機接口有多種,
常見的有輸入輸出接口如HDMI、SATA、RS-232等;網絡接口如RJ45、FC等;以及A/D轉換接口等非標準接口。

外部設備?

外部設備也稱為外圍設備,是計算機結構中的非必要設備,但從功能上又常常不可缺少,例如鍵盤、鼠標、顯示器等。雖然種類多樣,但都是通過接口實現與計算機主體的連接,并通過指令、數據實現預期的功能。

1.3.計算機軟件基礎知識?

計算機軟件

計算機軟件是指計算機系統中的程序及其文檔,是計算任務的處理對象和處理規則的描述。軟件系統是指在計算機硬件系統上運行的程序、相關的文檔資料和數據的集合。計算機軟件可用來擴充計算機系統的功能,提高計算機系統的效率。按照軟件所起的作用和需要的運行環境不同,通常將計算機軟件分為系統軟件和應用軟件兩大類。
(1)系統軟件。為整個計算機系統配置的不依賴特定應用領域的通用軟件,對計算機系統的硬件和軟件資源進行控制和管理,并提供運行服務支持
(2)應用軟件。是指為某類應用需要或解決某個特定問題而設計的軟件,常與具體領域相關聯,如教學軟件。

?操作系統

操作系統是計算機系統的資源管理者,包含對系統軟、硬件資源實施管理的一組程序。
操作系統的重要作用如下:
(1)管理計算機中運行的程序和分配各種軟、硬件資源。
(2)為用戶提供友善的人機界面。
(3)為應用程序的開發和運行提供一個高效率的平臺。
操作系統具有并發性、共享性、虛擬性和不確定性的特征。
操作系統的分類:
(1)批處理操作系統,根據同時執行的作業數又分為單道批處理和多道批處理。一個作業由用戶程序、數據和作業說明書(作業控制語言)3個部分組成。
(2)分時操作系統,將CPU的工作時間劃分為許多很短的時間片,每個時間片分別為一個終端的用戶提供服務或者執行一個作業。分時系統主要有4個特點:多路性、獨立性、交互性和及時性
(3)實時操作系統,對于外來信息能夠以足夠快的速度進行處理,并在被控對象允許的時間范圍內快速做出反應,對可靠性要求很高,并且不強制要求用戶交互。實時系統的應用非常廣泛。
(4)網絡操作系統,使聯網計算機能有效地共享網絡資源,為網絡用戶提供各種服務和接口。特征包括硬件獨立性和多用戶支持等。
(5)分布式操作系統,指為分布式計算機系統配置的操作系統。分布式操作系統是網絡操作系統的更高級形式,它保持網絡系統所擁有的全部功能,同時又有透明性、可靠性和高性能等特性。
(6)嵌入式操作系統,運行在嵌入式智能設備環境中,對整個智能硬件以及它所操作、控制的各種部件裝置等資源進行統一協調、處理、指揮和控制,特點是微型化、可定制、可靠性和易移植性。常采用硬件抽象層(Hardware Abstraction Layer,HAL)和板級支撐包(Board Support Package,BSP)來提高易移植性。
常見的嵌入式實時操作系統有VxWorks、μClinux、PalmOS、WindowsCE、μC/OS-II和eCos等。

數據庫?

數據庫(DataBase,DB)是指長期存儲在計算機內、有組織的、統一管理的相關數據的集合。數據是按一定格式存放的,具有較小的冗余度、較高的數據獨立性和易擴展性,可為多個用戶共享。
數據庫可以分為:關系型數據庫、鍵值(Key-Value)數據庫、列存儲數據庫、文檔數據庫等

分布式數據庫系統?

分布式數據庫系統(Distributed DataBase System,DDBS)是針對地理上分散,而管理上又需要不同程度集中的需求而提出的一種數據管理信息系統。滿足分布性、邏輯相關性、場地透明性和場地自治性的數據庫系統被稱為完全分布式數據庫系統。分布式數據庫系統的特點是數據的集中控制性、數據獨立性、數據冗余可控性、場地自治性和存取的有效性。

文件系統?

文件(File)是具有符號名的、在邏輯上具有完整意義的一組相關信息項的集合。文件系統是操作系統中實現文件統一管理的一組軟件和相關數據的集合,是專門負責管理和存取文件信息的軟件機構。
文件的類型如下:
(1)按性質和用途分類可將文件分為系統文件、庫文件和用戶文件。
(2)按信息保存期限分類可將文件分為臨時文件、檔案文件和永久文件。
(3)按保護方式分類可將文件分為只讀文件、讀/寫文件、可執行文件和不保護文件。
(4)UNIX系統將文件分為普通文件、目錄文件和設備文件(特殊文件)。 文件的存取方法:通常有順序存取和隨機存取兩種方法。 文件組織方法:有連續結構、鏈接結構和索引結構,還有多重索引方式。 文件存儲空間的管理知道存儲空間的使用情況,空間管理的數據結構通常稱為磁盤分配表(Disk Allocation Table),有空閑區表、位示圖和空閑塊鏈3種。位示圖用每一位的0和1表示一個區塊空閑或被占用,如圖1.3所示。

網絡協議?

常用的網絡協議包括局域網協議(Local Area Network,LAN)、廣域網協議(Wide Area Network,WAN)、無線網協議和移動網協議。互聯網使用的是TCP/IP協議簇。

中間件?

中間件(Middleware)是應用軟件與各種操作系統之間使用的標準化編程接口和協議,是基礎中間件(分布式系統服務)軟件的一大類,屬于可復用軟件的范疇。
常見中間件的分類如下:
(1)通信處理(消息)中間件,保證系統能在不同平臺之間通信,例如MQSeries。
(2)事務處理(交易)中間件,實現協調處理順序、監視和調度、負載均衡等功能,例如Tuxedo。
(3)數據存取管理中間件,為不同種類數據的讀寫和加解密提供統一的接口。
(4)Web服務器中間件,提供Web程序執行的運行時容器,例如Tomcat、JBOSS等。
(5)安全中間件,用中間件屏蔽操作系統的缺陷,提升安全等級。
(6)跨平臺和架構的中間件,用于開發大型應用軟件。
(7)專用平臺中間件,為解決特定應用領域的開發設計問題提供構件庫。
(8)網絡中間件,包括網管工具、接入工具等。

軟件構件?

構件又稱為組件,是一個自包容、可復用的程序集,這個集合整體向外提供統一的訪問接口,構件外部只能通過接口來訪問構件,而不能直接操作構件的內部。構件的兩個最重要的特性是自包容與可重用,利用軟件構件進行搭積木式地開發。優點:易擴展、可重用、并行開發。缺點:需要經驗豐富的設計師、快速開發與質量屬性之間需要妥協、構件質量影響軟件整體的質量。
商用構件的標準規范有:
(1)OMG的公共對象請求代理架構(Common Object Request Broker Architecture,CORBA)是一個純粹的規范而不是產品,主要分為3個層次:對象請求代理(Object Request Broker,ORB)、公共對象服務和公共設施。采用IDL定義接口,并易于轉化為具體語言實現。
(2)SUN的J2EE,定義了完整的基于Java語言開發面向企業分布的應用規范,其中EJB是J2EE 的構件標準,EJB中的構件稱為Bean,可以分為會話Bean、實體Bean和消息驅動Bean。
(3)Microsoft 的 DNA 2000,采用DCOM/COM/COM+作為標準的構件。

1.4.計算機語言?

計算機語言分類

計算機語言(Computer Language)是指人與計算機之間用于交流的一種語言,主要由一套指令組成,而這套指令一般包括表達式、流程控制和集合三大部分內容。
計算機語言的分類有:
(1)機器語言。機器語言是第一代計算機語言,是計算機自身具有的“本地語”,由計算機所能直接理解和執行的所有指令組成。指令格式由操作碼和操作數兩部分組成。
(2)匯編語言。匯編語言在機器語言的基礎上采用英文字母和符號串來表達指令,是機器語言的符號化描述。每條語句均由名字、操作符、操作數和注釋4個字段(Fields)組成。偽指令語句包括數據定義偽指令DB、DW、DD,段定義偽指令SEGMENT,過程定義偽指令PROC等,編譯后不產生機器代碼。
(3)高級語言。高級語言比匯編語言更貼近于人類使用的語言,易于理解、記憶和使用。常見的高級語言包括C、C++、Java、Python等。
(4)建模語言。建模語言主要指的是統一建模語言(Unified Modeling Language,UML),UML由3個要素構成:UML的基本構造塊(事物、關系)、圖(支配基本構造塊如何放置在一起的規則)和運用于整個語言的公用機制

?事物

UML中有4種事物:結構事物、行為事物、分組事物和注釋事物。

結構事物?

名詞、靜態部分,用于描述概念或物理元素。結構事物包括類(Class)、接口(Interface)、協作(Collaboration)、用例(UseCase)、主動類(Active Class)、構件(Component)、制品(Artifact)和節點(Node),如圖

行為事物

動詞,描述了跨越時間和空間的行為。行為事物包括交互(Interaction)、狀態機(State Machine)和活動(Activity),如圖?

?分組事物

包是最常用的分組事物,結構事物、行為事物甚至其他分組事物都可以放進包內,如圖

注釋事物

注釋即注解,用來描述、說明和標注模型的任何元素,如圖?

關系?

UML中有4種關系:依賴、關聯、泛化和實現

依賴關系

其中一個事物(獨立事物)發生變化會影響另一個事物。依賴關系是一種使用的關系?

關聯關系

是一種擁有的關系,關聯提供了不同類的對象之間的結構關系,它在一段時間內將多個類的實例連接在一起。一般認為關聯關系有2個特例:一個是聚合關系,另一個是組合關系。聚合關系表示類之間的整體與部分的關系,其含義是“部分”可能同時屬于多個“整體”,“部分”與“整體”的生命周期可以不相同組合關系也是表示類之間的整體與部分的關系。與聚合關系的區別在于,組合關系中的“部分”只能屬于一個“整體”,“部分”與“整體”的生命周期相同,“部分”隨著“整體”的創建而創建,也隨著“整體”的消亡而消亡。?

?

泛化關系

泛化是一種特殊/一般關系,特殊元素(子元素)的對象可替代一般元素(父元素)的對象。?

實現關系

在兩種情況下會使用實現關系:一種是在接口和實現它們的類或構件之間;另一種是在用例和實現它們的協作之間?

?圖

圖是一組元素的圖形表示,大多數情況下把圖畫成頂點(代表事物)和弧(代表關系)的連通圖。
UML 2.0提供了14種圖,分別是類圖、對象圖、用例圖、序列圖、通信圖、狀態圖、活動圖、構件圖、部署圖、制品圖、組合結構圖、包圖、交互概覽圖和計時圖(定時圖)。序列圖、通信圖、交互概覽圖和計時圖均被稱為交互圖。
類圖如圖1.9所示。類圖展現了一組對象、接口、協作和它們之間的關系

用例圖

用例圖(Use Case Diagram)展現了一組用例、參與者(Actor)以及它們之間的關系。用例之間有擴展關系(<<extend >>)和包含關系(<<include >>),參與者和用例之間有關聯關系,用例與用例、參與者與參與者之間有泛化關系。包含關系的特點是當兩個或多個用例中共用一組相同的動作時,可以將這組相同的動作抽出來作為一個獨立的子用例,供多個基用例所共享;擴展關系則是對基用例的擴展,基用例是一個完整的用例,即使沒有子用例的參與,也可以完成一個完整的功能。
UML中有5種視圖(View):用例視圖、邏輯視圖、進程視圖、實現視圖、部署視圖,其中的用例視圖居于中心地位。
形式化方法和形式化語言。形式化方法是把概念、判斷、推理轉化成特定的形式符號后,對形式符號表達系統進行研究的方法。形式化方法有不同的分類方法。根據描述方式分,有模型描述和性質描述兩類;根據表達能力分,有模型方法、代數方法、進程代數方法、邏輯方法和網絡模型方法5類。形式化方法的開發過程貫穿軟件工程的整個生命周期。
Z 語言是一種形式化語言,具有“狀態—操作”風格,借助模式來表達系統結構。建立于集合論和數理邏輯的基礎上,是一個強類型系統,可以使用自然語言?

?

1.5.多媒體技術

媒體與多媒體

媒體是承載信息的載體,即信息的表現形式(或者傳播形式),如文字、聲音、圖像、動畫和視頻等。多媒體有4個重要的特征:
(1)多維化,即媒體的多樣化。
(2)集成性,多媒體與設備集成,也與信息和表現集成。
(3)交互性,可向用戶提供更有效的控制和使用信息的手段。
(4)實時性,音頻和視頻等信息具有很強的時間特性。
多媒體系統通常由硬件和軟件組成,其中多媒體硬件主要包括計算機主要配置和外部設備以及與各種外部設備的控制接口;多媒體軟件主要包括多媒體驅動軟件、多媒體操作系統、多媒體數據處理軟件、多媒體創作工具軟件和多媒體應用軟件等

多媒體系統的關鍵技術

(1)視、音頻技術,視頻技術包括視頻數字化和視頻編碼技術兩個方面;音頻技術包括音頻數字化、語音處理、語音合成及語音識別4個方面
(2)通信技術,是多媒體系統中的一項關鍵技術,通常包括數據傳輸信道技術和數據傳輸技術。
(3)數據壓縮技術,包括即時壓縮和非即時壓縮、數據壓縮和文件壓縮、無損壓縮與有損壓縮等。
(4)虛擬現實(Virtual Reality,VR)/增強現實(Augmented Reality,AR)技術,虛擬現實又稱人工現實、臨境等,是一種可以創建和體驗虛擬世界的計算機仿真系統,采用計算機技術生成一個逼真的視覺、聽覺、觸覺、味覺及嗅覺的感知系統與用戶交互;增強現實技術是指把原本在現實世界的一定時間和空間范圍內很難體驗到的實體信息(視覺信息、聲音、味道和觸覺等),通過模擬仿真后,再疊加到現實世界中被人類感官所感知,從而達到超越現實的感官體驗。VR/AR 技術主要分為桌面式、分布式、沉浸式和增強式4 種


2.嵌入式基礎知識

2.1.嵌入式系統的組成及特點

定義

嵌入式系統(Embedded System)是以特定應用為中心、以計算機技術為基礎,并將可配置與可裁剪的軟、硬件集成于一體的專用計算機系統。嵌入式系統的組成結構是:
(1)嵌入式處理器,除滿足低功耗、體積小等需求外,工藝可分為民用、工業和軍用等三個檔次,民用級器件的工作溫度范圍是0~70℃、工業級的是?40~85℃、軍用級的是?55~150℃。其應用環境常常非常惡劣,比如有高溫、寒冷、電磁、震動、煙塵等環境因素。
(2)相關支撐硬件,指除處理器以外的其他硬件,如存儲器、定時器、總線等。
(3)嵌入式操作系統,與通用操作系統不同,嵌入式操作系統應具備實時性、可裁剪性和安全性等特征。
(4)支撐軟件,其中的公共服務通常運行在操作系統之上,以庫的方式被應用軟件所引用。
(5)應用軟件,是指為完成嵌入式系統的某一專用目標所開發的軟件

?特點

(1)專用性強,常常面向特定應用需求,配備多種傳感器。
(2)技術融合,將先進的計算機技術、通信技術、半導體技術和電子技術與各個行業的具體應用緊密結合難以拆分。
(3)軟硬一體軟件為主,在通用的嵌入式系統版本基礎上裁剪冗余,高效設計。
(4)資源受限,由于低功耗、體積小和集成度高等要求,系統的資源非常少。
(5)程序代碼固化在ROM中,以提高執行速度和系統可靠性。
(6)需專門開發工具和環境,見2.3節。
(7)體積小、價格低、工藝先進、性能價格比高、系統配置要求低、實時性強。
(8)對安全性和可靠性的要求高。

?2.2.嵌入式系統的分類

分類

根據不同用途可將嵌入式系統劃分為嵌入式實時系統和嵌入式非實時系統兩種。而實時系統又可分為強實時(Hard Real-Time)系統和弱實時(Weak Real-Time)系統。從安全性要求看,嵌入式系統還可分為安全攸關(Safety-Critical或Life-Critical)系統和非安全攸關系統

實時系統?

實時系統(Real-Time System,RTS)是指能夠在規定的時間內完成系統功能和做出響應的系統

安全攸關系統?

安全攸關系統(Safety-Critical System)是指其不正確的功能或者失效會導致人員傷亡、財產損失等嚴重后果的計算機系統

2.3.嵌入式軟件的組成及特點?

基本概念

大多數嵌入式系統都具備實時特征,這種嵌入式系統的典型架構可概括為兩種模式,即層次化模式架構和遞歸模式架構。嵌入式系統的最大特點就是系統的運行和開發是在不同環境中進行的,通常將運行環境稱為“目標機”環境,稱開發環境為“宿主機”環境,宿主機與目標機之間通過串口、網絡或JTAG接口連接。由于宿主機和目標機的指令往往是不同的,嵌入式系統的開發通常需要交叉平臺開發環境支持,基本開發工具是交叉編譯器、交叉鏈接器和源代碼調試器。還需要注意實時性、安全性和可靠性、代碼規模、軟/硬件協同工作的效率和穩定性、特定領域的需求等

組成與特點?

從細節上看,嵌入式系統可以分為:
(1)硬件層,包括處理器、存儲器、總線、I/O接口及電源、時鐘等。
(2)抽象層,包括硬件抽象層(HAL),為上層應用(操作系統)提供虛擬的硬件資源;板級支持包(BSP),是一種硬件驅動軟件,為上層操作系統提供對硬件進行管理的支持。
(3)操作系統層,由嵌入式操作系統、文件系統、圖形用戶接口、網絡系統和通用組件等可配置模塊組成。
(4)中間件層,是連接兩個獨立應用的橋梁,常用的有嵌入式數據庫、OpenGL、消息中間件、Java 中間件、虛擬機(VM)、DDS/CORBA和Hadoop等。
(5)應用層,包括不同的應用軟件。
嵌入式軟件的主要特點有:
(1)可剪裁性:設計方法包括靜態編譯、動態庫和控制函數流程實現功能控制等。
(2)可配置性:設計方法包括數據驅動、靜態編譯和配置表等。
(3)強實時性:設計方法包括表驅動、配置、靜/動態結合、匯編語言等。
(4)安全性(Safety):設計方法包括編碼標準、安全保障機制、FMECA(故障模式、影響及行低功耗設計。主要技術有編譯優化技術、軟硬件協同設計、算法優化。危害性分析)。
(5)可靠性:設計方法包括容錯技術、余度技術和魯棒性設計等。
(6)高確定性:設計方法包括靜態分配資源、越界檢查、狀態機、靜態任務調度等。
綜上所述,嵌入式軟件的開發也與傳統的軟件開發方法差異較大。在嵌入式系統設計時,要進行低功耗設計。主要技術有編譯優化技術、軟硬件協同設計、算法優化。

2.4.嵌入式系統硬件體系結構?

組成結構

傳統的嵌入式系統主要由嵌入式微處理器、存儲器、總線邏輯、定時/計數器、看門狗電路、I/O 接口和外部設備等部件組成。

嵌入式微處理器分類?

(1)微處理器(Microprocessor Unit,MPU):微處理器+專門設計的電路板,集成度低、可靠性高,主要有:Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。
(2)微控制器(Microcontroller Unit,MCU):又稱單片機,把核心存儲器和部分外設封裝在片內。優點是單片化、體積小、功耗和成本下降,可靠性提高。包括 8501,P5IXA,MCS-251,MCS-96/196/296,C166/167,MC68HC05/11/12/16,68300 和數目眾多的 ARM 系列。
(3)數字信號處理器(Digital Signal Processing,DSP):采用哈佛結構,對系統結構和指令進行了特殊設計,適合執行大量數據處理。包括 TMS320 系列(含 C2000、C5000、C6000、C8000系列)、DSP56000系列、實時DSP處理器等。
(4)圖形處理器(Graphics Processing Unit,GPU):與CPU相比大幅加強了浮點運算能力和多核并行計算能力,因此常用于AI技術的深度學習的數據運算。
(5)片上系統(System on Chip,SoC):由多個具有特定功能的集成電路組合在一個芯片上形成的系統或產品,其中包含完整的硬件系統,如處理器、IP(Intellectual Property)核、存儲器等及其承載的嵌入式軟件,如操作系統和定制的用戶軟件。

存儲器分類?

隨機存取存儲器(Random Access Memory,RAM)

工作需要持續電力提供,可隨機讀寫。
1)動態隨機存取存儲器(Dynamic RAM,DRAM),采用電容存儲信息,優點是集成度高、容量大、成本低,缺點是訪問速度較慢、需要定期刷新。常作主存。
2)靜態隨機存取存儲器(Static RAM,SRAM),采用多個晶體管自鎖的方式保存狀態,優點是訪問速度快、不需要刷新,缺點是集成度低、容量小、成本高。常用作高速緩存。

只讀存儲器(Read Only Memory,ROM)

存儲的數據不會因掉電而丟失,讀取的速度比RAM快,常見的有以下幾種:
1)掩膜型只讀存儲器(Mask Programmed ROM,MROM),優點是通過掩膜大批量制造、成本低,缺點是同批數據全部一致且不可修改,只適合大批量生產。
2)可編程只讀存儲器(Programmable ROM,PROM),可以用專用編程設備一次性燒錄數據,適合少量制造。
3)可擦可編程只讀存儲器(Erasable Programmable ROM,EPROM),優點是寫入的數據可以通過紫外線擦除重寫。
4)電可擦可編程只讀存儲器(Electrically Erasable Programmable ROM,EEPROM),優點是寫入的數據可以通過電壓來清除,但是清除的速度很慢。
5)快閃存儲器(Flash Memory),優點是可以聯機擦寫數據且擦寫的次數多、速度快,缺點是讀取的速度慢(相對其他ROM的速度而言)。?

內(外)總線邏輯

1)根據傳輸的信息種類分類,可分為以下幾種。
①數據總線,用于傳送需要處理或者需要存儲的數據。
②地址總線,用于指定在RAM之中存儲的數據的地址。
③控制總線,將微處理器控制單元的信號傳送到周邊設備。
2)根據連接部件分類,可分為以下幾種。
①片內總線,連接芯片內部各元件。
②系統總線或板級總線,連接計算機系統的核心組件。
③局部總線,連接局部少數組件。
④通信總線,主機連接外設的總線。
各類總線在嵌入式系統的位置如圖2.2所示。
3)按照數據傳輸的方向,總線可以分為單工總線和雙工總線。單工總線只能從一端向另一端傳輸而不能反向;雙工總線能在兩個方向傳輸。雙工總線又分為半雙工總線和全雙工總線。半雙工總線只能輪流向兩個方向傳輸;全雙工總線可以同時在兩個方向傳輸。
4)按照總線使用的信號類型,總線可以分為并行總線和串行總線。并行總線包含多位傳輸線,在同一時刻可以傳輸多位數據,但一致性要求高,傳輸距離較近;而串行總線只使用一位傳輸線,同一時刻只傳輸一位數據,但距離可以較遠。?

看門狗電路

看門狗電路,是嵌入式系統必須具備的一種系統恢復能力,可防止程序出錯或者死鎖。主要由輸入端、寄存器、計數器和狗叫模塊構成。通過寄存器對看門狗進行基本設置,計數器計算狗叫時間,狗叫模塊決定看門狗超時后發出的中斷或復位方式。程序正常運行時MCU會在輸入端定期“喂狗”,超時不“喂狗”就會觸發狗叫模塊,一般是重啟MCU。?

?2.5.安全攸關軟件的安全性設計

定義

IEEE 定義安全攸關軟件是“用于一個系統中,可能導致不可接受的風險的軟件”。

DO-178B標準?

該標準的目的是為制造機載系統和設備的機載軟件提供指導,使其能夠提供在滿足符合適航要求的安全性水平下完成預期功能。DO-178B標準將軟件生命周期分為“軟件計劃過程”“軟件開發過程”和“軟件綜合過程”,其中軟件開發過程細分為軟件需求過程、軟件設計過程、軟件編碼過程和集成過程4個子過程;軟件綜合過程細分為軟件驗證過程、軟件配置管理過程、軟件質量保證過程、審定聯絡過程4個子過程。DO-178B 根據軟件在系統中的重要程度將軟件的安全等級分為A~E五級,分別對應災難級(A)、危害級(B)、嚴重級(C)、不嚴重級(D)和沒有影響級(E)


3.計算機網絡基礎?

3.1.網絡的基本概念

網絡有關指標

(1)性能指標:從速率、帶寬、吞吐量和時延等不同方面來度量計算機網絡的性能。
(2)非性能指標:從費用、質量、標準化、可靠性、可擴展性、可升級性、易管理性和可維護性等來度量。

3.2.通信技術?

數據與信道

在通信中的數據包括模擬信號和數字信號,通過信道來傳輸,信息傳輸就是信源和信宿通過信道收發信息的過程。信道可分為邏輯信道和物理信道。邏輯信道是指在數據發送端和接收端之間存在的一條虛擬線路,可以是有連接的或無連接的,以物理信道為載體。信號在信源端和信宿端都需要經過信號變換,中間經過編碼、交織、調制和解碼等過程。

復用技術?

是指在一條信道上同時傳輸多路數據的技術,如TDM時分復用、FDM頻分復用和CDM碼分復用等。即一條路上行駛多輛貨車。

多址技術?

是指在一條線上同時傳輸多個用戶數據的技術,在接收端把多個用戶的數據分離,如TDMA時分多址、FDMA頻分多址和CDMA碼分多址等。即一輛車上的貨物屬于不同用戶。

5G通信網絡?

作為新一代的移動通信技術,網絡結構、網絡能力和應用場景等都與過去有很大不同,具有高速率、低時延、接入用戶數高等優點。

?3.3.網絡技術

局域網(LAN)

是指在有限地理范圍內將若干計算機通過傳輸介質互聯成的封閉型的計算機網絡。局域網有總線型、星型、樹型、環型、網狀五種拓撲結構,如圖

以太網(Ethernet)?

是一種計算機局域網組網技術,由IEEE 802.3定義。以太網數據幀的最小長度必須不小于64字節,最大長度一般是1518字節。設置最小幀長是為了避免沖突,最小幀長是根據網絡中檢測沖突的最長時間來定的。

無線局域網(Wireless Local Area Networks,WLAN)?

利用無線技術在空中傳輸數據、話音和視頻信號。WLAN采用IEEE 802.11標準,有a、b、g、n、ac等子標準,802.11n傳輸速率可達200Mb/s,802.11ac則可達1Gb/s。WLAN拓撲結構有點對點型、Hub型和完全分布型。

點對點型用于網絡互聯和延長;

HUB型用于終端接入;

完全分布型則處于理論探討階段無具體應用。

?廣域網(WAN)

是一種將分布于更廣區域的計算機設備聯接起來的網絡,需要使用路由器和網關設備。廣域網由通信子網與資源子網組成。廣域網可以分為公共傳輸網絡、專用傳輸網絡和無線傳輸網絡3類。廣域網相關技術有同步光網絡(SONET)、同步數字體系(SDH)、數字數據網(DDN)、幀中繼(FR)和異步傳輸技術(ATM)

?城域網(Metropolitan Area Network,MAN)

是在單個城市范圍內所建立的計算機通信網,采用IEEE 802.6標準。通常分為3個層次:核心層、匯聚層和接入層

移動通信網?

其發展經歷了1G模擬信號傳輸、2G數字通信技術、3G擴展頻譜、4G快速發展繁榮、5G多業務、多技術融合等5代。5G網絡的主要特征為服務化架構和網絡切片
1)服務化架構(Service-Based Architecture,SBA)可以實現網絡功能的靈活定制和按需組合,以及軟件快速迭代和升級。
2)網絡切片技術可以在單個物理網絡中切分出多個分離的邏輯網絡用于不同業務。5G還引入了基于靈活以太網(Flexible Ethernet,FlexE)的硬切片技術。

3.4.組網技術

網絡設備及其工作層級?

(1)集線器(Hub)和中繼器(Repeater)工作在物理層。
(2)網橋(Bridge)和交換機(Switcher)工作在數據鏈路層。
(3)路由器(Router)和防火墻(Firewall)主要工作在網絡層。防火墻是網絡中一種重要的安全設備,作為網絡對外的門戶。

網絡協議?

OSI/RM七層模型見表

Internet協議的主要協議及其層次關系見表

?應用層協議

文件傳輸協議(File Transport Protocol,FTP)

是網絡上兩臺計算機傳送文件的協議,運行在TCP之上,是通過Internet將文件從一臺計算機傳輸到另一臺計算機的一種途徑。FTP在客戶機和服務器之間需建立兩條TCP連接,一條用于傳送控制信息(使用21號端口),另一條用于傳送文件內容(使用20號端口)

簡單文件傳輸協議(Trivial File Transfer Protocol,TFTP)?

是用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。TFTP建立在UDP之上,69號端口;提供不可靠的數據流傳輸服務,不提供存取授權與認證機制,使用超時重傳方式來保證數據的到達。

超文本傳輸協議(Hypertext Transfer Protocol,HTTP)

是用于從WWW服務器傳輸超文本到本地瀏覽器的傳送協議。HTTP建立在TCP之上,使用80號端口。?

安全超文本傳輸協議(Hypertext Transfer Protocol Secure,HTTPS)

是以安全為目標的HTTP通道,在HTTP的基礎上通過傳輸加密和身份認證保證了傳輸過程的安全性。HTTPS在HTTP的基礎下加入安全套接層(Secure Socket Layer,SSL)或TLS,HTTPS使用的443號端口。?

動態主機配置協議(Dynamic Host Configuration Protocol,DHCP)

通常被應用在大型的局域網絡環境中,主要作用是集中地管理、分配IP地址,使網絡環境中的主機動態地獲得IP地址、網關地址、DNS服務器地址等信息,并能夠提升地址的使用率。在網絡范圍內可能存在多個DHCP服務器,各自負責不同的網段,也可能由同一個DHCP服務器,負責多個不同網段的地址分配。如果網絡中有多個DHCP服務器發送OFFER報文,客戶端只根據第一個收到的OFFER報文,返回REQUEST報文。?

域名系統(Domain Name System,DNS)

DNS把主機域名解析為IP地址的系統,而PTR(Pointer Record)負責將IP地址映射到域名的解析。
DNS查詢過程有兩種方法,見表?

?傳輸層協議

傳輸控制協議(Transmission Control Protocol,TCP)

TCP是可靠的、面向連接的網絡協議。具有差錯校驗和重傳、流量控制、擁塞控制等功能。適用于數據量比較少,且對可靠性要求高的場合。

用戶數據報協議(User Datagram Protocol,UDP)

UDP是不可靠的、無連接的網絡協議。UDP適合數據量大,對可靠性要求不是很高,但要求速度快的場合。?

網絡層協議?

IPv6被稱為“下一代互聯網協議”,IP數據報的目的地址有單播、多播/組播、任播。IPv4 to IPv6過渡技術主要有:雙協議棧技術、隧道技術、NAT-PT 技術

?交換機

交換機功能包括集線功能、中繼功能、橋接功能、隔離沖突域功能。交換機協議有:
(1)生成樹協議(STP),可以很好地解決鏈路環路問題。
(2)鏈路聚合協議,可以提升與鄰接交換設備之間的端口帶寬和提高鏈路可靠性。

路由器?

路由功能由路由器(Router)來提供,包括異種網絡互連、子網協議轉換、數據路由、速率適配、隔離網絡、報文分片和重組、備份和流量控制。路由器協議主要有:
(1)內部網關協議(Interior Gateway Protocol,IGP):指在一個自治系統(Autonomous System,AS)內運行的路由協議。
(2)外部網關協議(Exterior Gateway Protocol,EGP):指在 AS之間的路由協議。EGP是為簡單的樹型拓撲結構設計的。
(3)邊界網關協議(Border Gateway Protocol,BGP):Internet的網絡規模龐大,網絡情況復雜,EGP已不適用,在EGP的經驗之上制定了新的網關協議即BGP,也是Internet上唯一的網關協議。

3.5.網絡工程?

網絡建設工程

可分為網絡規劃、網絡設計和網絡實施3個環節。
(1)網絡規劃以需求為導向,兼顧技術和工程可行性。
(2)網絡設計包括邏輯設計和物理設計,邏輯設計指網絡結構設計、網絡技術選型、IP地址和路由設計、網絡冗余設計以及網絡安全設計等;物理設計指布線設計、機房設計、設備選型等。網絡冗余設計的目的就是避免網絡組件單點失效造成應用失效;備用路徑是在主路徑失效時啟用,其和主路徑承擔不同的網絡負載;負載分擔是網絡冗余設計中的一種設計方式,其通過并行鏈路提供流量分擔來提高性能;網絡中存在備用鏈路時,可以考慮加入負載分擔設計來減輕主路徑負擔。
(3)網絡實施包括工程實施計劃、網絡設備驗收、設備安裝和調試、系統試運行和切換、用戶培訓等。

?分層設計

網絡設計一般采用分層的方式,分為接入層、匯聚層、核心層

?接入層

直接面向用戶連接或訪問網絡的部分,主要解決相鄰用戶之間的互訪需求,并且為這些訪問提供足夠的帶寬,接入層還應當適當負責一些用戶管理功能(如地址認證、用戶認證、計費管理等),以及用戶信息收集工作(如用戶的IP地址、MAC地址、訪問日志等)

匯聚層

是核心層和接入層的分界面,完成網絡訪問策略控制、數據包處理、過濾、尋址,以及其他數據處理的任務。匯聚層的存在與否要視網絡規模大小而定。?

核心層

網絡主干部分稱為核心層,核心層的主要目的在于通過高速轉發通信,提供優化、可靠的骨干傳輸結構,因此,核心層交換機應擁有更高的可靠性、性能和吞吐量。核心層的設備采用雙機冗余熱備份是非常必要的,也可以使用負載均衡功能來改善網絡性能。??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86972.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86972.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86972.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

針對華為云服務器使用率過大

從這兩張監控圖可以看出&#xff0c;服務器在大約上午 10:30 前后經歷了一次明顯的負載變化&#xff1a; 1. 圖表解讀 CPU 使用率 從凌晨到上午約 10:00 前&#xff0c;CPU 基本處于 0–2% 的閑置狀態。10:00–14:00 之間&#xff0c;CPU 利用率逐步攀升&#xff0c;多次沖擊 3…

記dwz(JUI)前端框架使用之--服務端響應提示框

目錄 前言 一、DWZ服務器端響應種類 二、如何增加info級別的消息提示 1.打開項目的BaseController.java類 2.打開項目的dwz.min.js文件 3.最后在前端DWZ的主加載頁面或者js文件中添加如下代碼&#xff1a; 前言 本篇文章沒有講太多東西&#xff0c;主要是個人工作記錄保…

leetcode 295. 數據流的中位數

時間復雜度分析&#xff1a;為什么你的中位數查找方案會超時&#xff1f; 分析你提供的MedianFinder實現&#xff0c;其時間復雜度較高的原因主要在于findMedian函數的實現方式。讓我詳細解釋&#xff1a; 代碼時間復雜度分析 你的代碼中兩個主要函數的時間復雜度如下&#…

大語言模型介紹

隨著2022年底 ChatGPT 再一次刷新 NLP 的能力上限&#xff0c;大語言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;開始接替傳統的預訓練語言模型&#xff08;Pre-trained Language Model&#xff0c;PLM&#xff09; 成為 NLP 的主流方向&#xff0c;基于…

STM32 CCR寄存器

?1. CCR寄存器在輸入捕獲模式下的特性? ?只讀屬性?&#xff1a; 當定時器通道配置為輸入捕獲模式&#xff08;如捕獲上升沿/下降沿&#xff09;時&#xff0c;CCR寄存器硬件自動變為只讀?。軟件寫入操作無效&#xff0c;只能在捕獲事件發生時由硬件自動更新為當前CNT值。…

【JS-6-ES6中的let和const】深入理解ES6中的let和const:塊級作用域與變量聲明的新范式

在ES6(ECMAScript 2015)之前&#xff0c;JavaScript中只有var一種變量聲明方式&#xff0c;這導致了許多作用域相關的問題。ES6引入了let和const兩種新的變量聲明方式&#xff0c;徹底改變了JavaScript的作用域規則。本文將深入探討let和const的特性、優勢以及它們與var的區別。…

[C語言]數據類型關鍵字詳解

基本數據類型 關鍵字說明存儲大小(通常)取值范圍(通常)示例int聲明整型變量4字節(32位系統)-2,147,483,648 到 2,147,483,647int count 100;char聲明字符型變量1字節-128 到 127 或 0 到 255char grade ‘A’;float聲明單精度浮點數4字節1.2e-38 到 3.4e38 (約6-7位有效數字…

黑馬python(二十二)

目錄&#xff1a; 1.Python操作Mysql基礎使用 2.Python操作Mysql數據插入 3.綜合案例 1.Python操作Mysql基礎使用 2.Python操作Mysql數據插入 3.綜合案例 代碼復用 黑馬python&#xff08;二十一&#xff09;章節的的代碼&#xff0c;讀取文件內容

課堂筆記:吳恩達的AI課(AI FOR EVERYONE)-W1 深度學習的非技術性解釋

深度學習的非技術性解釋 &#xff08;1&#xff09;示例1&#xff1a;以商場為主買T恤為例&#xff0c;價格和需求的關系怎么樣&#xff1f; 一般來說&#xff0c;價格越高&#xff0c;需求越少 這里輸入A是 價格&#xff0c;輸出B是需求&#xff0c;其中的映射關系是神經元&a…

dlib檢測視頻中的人臉并裁剪為圖片保存

環境要求 找個帶有基本cv配置的虛擬環境安裝上dlib依賴的人臉檢測的基礎環境即可&#xff0c;主要是&#xff1a; pip install boost dlib opencv-python缺的按提示安裝。 demo 設置好視頻路徑和圖像保存路徑&#xff0c;裁剪尺寸&#xff08;默認256&#xff09;以及裁剪幀…

真的!ToDesk遠程控制已上線原生鴻蒙系統!

2025年5月&#xff0c;ToDesk遠程控制正式宣布完成對PC鴻蒙系統的適配&#xff0c;成為業界首批原生支持HarmonyOS OS的跨端遠控工具。 作為國內支持上億設備的遠程控制軟件&#xff0c;ToDesk以無縫互聯、快速響應、安全無界為核心&#xff0c;重新定義了跨設備遠程協作的界限…

Java-58 深入淺出 分布式服務 ACID 三階段提交3PC 對比2PC

點一下關注吧&#xff01;&#xff01;&#xff01;非常感謝&#xff01;&#xff01;持續更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持續更新中&#xff01;&#xff08;長期更新&#xff09; 目前2025年06月16日更新到&#xff1a; AI煉丹日志-29 - 字節…

matplotlib 繪制餅圖

1、功能介紹&#xff1a; 使用 python 的 matplotlib 庫來創建一個簡單的餅圖。 2、代碼部分&#xff1a; import matplotlib.pyplot as plt# 示例數據 labels [A, B, C, D, E] # 類別標簽 sizes [15, 30, 45, 5, 5] # 每個類別對應的數值&#xff08;百分比&#xff09…

用Rust寫平衡三進制除法器

1、除法的本質 除法的本質是減法&#xff0c;也就是一個大的數減去一個小的數&#xff0c;比如:10/2&#xff0c;也就是10-2-2-2-2-20&#xff0c;所以商5余0&#xff0c;10/3&#xff0c;也就是10-3-3-31&#xff0c;所以商3余1&#xff0c;這也是很常見的方法&#xff0c;但如…

深入探索WordPress Multisite:構建與管理多站點網絡

隨著互聯網的快速發展&#xff0c;越來越多的企業和個人開始使用內容管理系統來搭建和維護自己的網站。WordPress作為全球最受歡迎的CMS之一&#xff0c;因其強大的功能和靈活性&#xff0c;成為了許多網站管理員的首選平臺。而在一些特定需求的場景下&#xff0c;WordPress Mu…

.Net Core 獲取文件路徑

在 .NET Core 中獲取文件路徑的方法取決于你要獲取的文件的位置和上下文。這里將介紹幾種常見的方式來獲取文件路徑。 1. 獲取當前工作目錄 你可以使用 Directory.GetCurrentDirectory() 方法來獲取當前工作目錄的路徑&#xff1a; using System; using System.IO; class P…

順序表整理和單項鏈表01 day20

二&#xff1a;各個主要函數 一&#xff1a;CreatSeqList SeqList *CreateSeqList(int len); -------------------------------------------------------------/*** brief Create a Seq List object 創建一個順序表** param n 是順序表的大小* return SeqList* 指向順序表的…

電商導購app平臺的緩存策略與性能優化方案:架構師的實踐經驗

電商導購app平臺的緩存策略與性能優化方案&#xff1a;架構師的實踐經驗 大家好&#xff0c;我是阿可&#xff0c;微賺淘客系統及省賺客APP創始人&#xff0c;是個冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 緩存策略的重要性 在電商導購APP平臺中&#xff…

學習C++、QT---12(C++的繼承、權限對繼承的影響)

每日一言 你的價值&#xff0c;由你自己定義&#xff0c;無需他人評判。 C的繼承 直接上案例 繼承是什么意思呢&#xff0c;就是我本來這個類我叫他基類、我希望創建我的下一個類有我這之前的類的屬性和方法&#xff0c;那么我如果不用繼承的話&#xff0c;就需要多寫很多一樣…

(6)Wireshark的TCP包詳解-上篇

1.簡介 上一篇中通過介紹和講解&#xff0c;應該知道要講解和介紹的內容在哪里了吧&#xff0c;沒錯就是介紹OSI七層模型的傳輸層。因為只有它建立主機端到端的連接如&#xff1a;TCP、UDP。 2.TCP是什么? tcp是工作在傳輸層&#xff0c;也就是網絡層上一層的協議。 它是面…