0
1
00:00:04,010 --> 00:00:11,410
您好，歡迎閱讀本章。在本章中，我們將討論cortex M架構。
1

2
00:00:11,750 --> 00:00:17,390
顧名思義，架構是描述規則功能的一組規則。
2

3
00:00:17,390 --> 00:00:25,880
cortexM。Cortex具有獨立的數據和指令總線。因此，這是一個哈佛體系結構。
3

4
00:00:26,300 --> 00:00:31,780
有兩種計算機體系結構，它們在訪問內存的方式上有所不同。
4

5
00:00:31,790 --> 00:00:35,650
這兩種架構是馮·諾依曼架構，
5

6
00:00:35,810 --> 00:00:41,200
也被稱為普林斯頓建築和哈佛建築。
6

7
00:00:41,810 --> 00:00:48,320
此外，兩種架構的總線結構也不同，因為哈佛架構具有獨立的
7

8
00:00:48,560 --> 00:00:50,810
數據和指令總線。
8

9
00:00:50,890 --> 00:00:58,450
它允許同時傳輸數據和指令。馮·諾伊曼建築
9

10
00:00:58,460 --> 00:01:07,070
僅具有一條用於數據和指令的總線。因此，數據和說明具有
10

11
00:01:07,070 --> 00:01:14,940
計劃轉移。在這裡我們談論的是寄存器和寄存器可快速訪問
11

12
00:01:14,940 --> 00:01:21,310
處理器內核和Cortex M處理器內部的存儲器在處理器內部具有許多寄存器
12

13
00:01:21,310 --> 00:01:21,860
核心。
13

14
00:01:22,000 --> 00:01:28,180
這些寄存器的作用是執行數據處理和數據控制，其中大多數
14

15
00:01:28,180 --> 00:01:34,600
收銀機分組在一個稱為“註冊銀行”的單元中，我們將看幾個部分
15

16
00:01:34,600 --> 00:01:35,680
下面。
16

17
00:01:36,280 --> 00:01:44,710
皮質M的另一個特徵是它是一個負載存儲架構。在負載存儲架構中，如果
17

18
00:01:45,000 --> 00:01:47,670
內存中的數據將被處理，
18

19
00:01:47,670 --> 00:01:55,810
它首先從存儲器加載到寄存器組中的寄存器。然後在那之前處理
19

20
00:01:55,810 --> 00:01:56,340
書面
20

21
00:01:56,350 --> 00:01:59,170
如果需要，返回內存。
21

22
00:01:59,170 --> 00:02:05,530
這與寄存器存儲器架構不同，後者允許在存儲器中執行操作
22

23
00:02:05,610 --> 00:02:07,900
以及在寄存器中。
23

24
00:02:08,380 --> 00:02:14,290
讓我們通過此插圖看到負載存儲體系結構的示例。在這裡，我們要去
24

25
00:02:14,290 --> 00:02:17,500
看看如何將兩個數字相加。
25

26
00:02:18,520 --> 00:02:20,090
讓我們構造處理器
26

27
00:02:20,140 --> 00:02:23,740
假設我們有一個寄存器庫，這是一個基本處理器。
27

28
00:02:23,740 --> 00:02:30,720
讓我們添加一些內存和一些外圍設備，然後添加一些端口，我們有一個基本的微控制器。
28

29
00:02:30,970 --> 00:02:33,420
假設我們要添加兩個數字。
29

30
00:02:33,510 --> 00:02:37,450
三百四十二。
30

31
00:02:37,660 --> 00:02:44,050
這些數字存儲在內存RAM中。這些數字在Load Store架構中會發生什麼
31

32
00:02:44,050 --> 00:02:52,340
要添加的是，它們首先從存儲器加載到寄存器組中的寄存器。每個操作數是
32

33
00:02:52,350 --> 00:02:56,200
放在寄存器庫中的一個寄存器中。
33

34
00:02:56,410 --> 00:03:06,670
因此，我們有300加420。在我們記得的數學中，操作數是一個運算的數量
34

35
00:03:06,670 --> 00:03:07,630
被執行。
35

36
00:03:07,630 --> 00:03:09,610
因此，這裡有兩個操作數。
36

37
00:03:09,610 --> 00:03:17,020
第一個操作數為三百，加號為運算符，第二個操作數為420。所以第一個
37

38
00:03:17,080 --> 00:03:24,550
操作數被加載到寄存器組中的寄存器中。第二個操作數被加載到另一個
38

39
00:03:24,550 --> 00:03:28,590
在註冊銀行註冊。執行該操作，
39

40
00:03:28,600 --> 00:03:37,860
答案將被加載到寄存器組中的另一個寄存器中，如果需要，將其帶回內存中。這個
40

41
00:03:37,920 --> 00:03:45,210
是負載存儲架構。在加載存儲體系結構中，兩個操作數都必須在寄存器中。
41

42
00:03:45,870 --> 00:03:51,500
在寄存器存儲體系結構中，它們可以在內存中或在寄存器中。
42

43
00:03:51,840 --> 00:03:55,920
並記住，Cortex M是負載存儲架構。
