You are on page 1of 19

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN I


----------

BÁO CÁO BÀI TẬP LỚN HỌC PHẦN HỆ ĐIỀU HÀNH


Đề 2: Tìm hiểu tổng quan hệ thống nhúng và các bộ xử lý nhúng:
Xét một hệ thống nhúng dùng bộ xử lý ARM để phân tích cấu trúc,
hoạt động của hệ thống và các đặc điểm ứng dụng.

Giảng viên bộ môm: Đinh Xuân Trường


Nhóm lớp: 02
Thành viên nhóm 09:
Vũ Nguyệt Hà B20DCCN216
Dương Thị Thanh Tâm B20DCCN588
Nguyễn Thị Ánh B20DCCN084
Vũ Văn Tiến B20DCCN600

HÀ NỘI - 2022

0
LỜI CẢM ƠN
Lời đầu tiên, xin trân trọng cảm ơn thầy đã tạo điều kiện thuận lợi và tận tình hướng
dẫn chúng em trong quá trình học tập cũng như trong việc hoàn thành báo cáo bài tập
lớn. 

Xin cảm ơn các thầy đã đọc báo cáo và cho chúng em những nhận xét quý báu, chỉnh
sửa những sai sót của tôi trong bản thảo báo cáo.
Do giới hạn kiến thức nên bài báo của chúng em vẫn còn nhiều thiếu sót và hạn chế,
kính mong sự chỉ dẫn và đóng góp của thầy để bài báo cáo bài tập lớn học phần Hệ
điều hành của chúng em được hoàn thiện hơn. Xin chân thành cảm ơn!

1
Thành viên tham gia và đóng góp:
Vũ Nguyệt Hà - B20DCCN216
Dương Thị Thanh Tâm - B20DCCN588

Nguyễn Thị Ánh - B20DCCN084


Vũ Văn Tiến - B20DCCN600

2
Mục lục

Phần I: Hệ thống nhúng và các bộ xử lý nhúng..............................................4

1.Giới thiệu chung...................................................................................................................4


2.Khái niệm hệ thống nhúng...................................................................................................5
3.Lịch sử phát triển.................................................................................................................5
4.Đặc điểm..............................................................................................................................6
5.Phân loại hệ thống nhúng....................................................................................................7
6.Ứng dụng của hệ thống nhúng.............................................................................................8
7.Kiến trúc CPU-Các bộ xử lý nhúng........................................................................................9
8.Thiết bị ngoại vi..................................................................................................................10
Phần II: Bộ xử lí ARM...................................................................................11

1.Giới thiệu chung.................................................................................................................11


1.1 Bộ xử lý ARM...........................................................................................................11
1.2 Tính năng của bộ xử lý ARM....................................................................................12
1.3 Cấu trúc ARM...........................................................................................................12
2.Hoạt động..........................................................................................................................14
3.Đặc điểm của hệ thống nhúng...........................................................................................15
4.Ứng dụng bộ xử lý ARM.....................................................................................................16
Phần III: Một số tài kiệu tham khảo.............................................................17

3
Nội dung

Phần I: Hệ thống nhúng và các bộ xử lý nhúng


1.Giới thiệu chung
Hệ thống nhúng được biết đến là yếu tố quan trọng trong sự phát triển của lĩnh
vực công nghệ và nền sản xuất công nghiệp hiện đại. Bởi vì các hệ thống nhúng được
ứng dụng nhiều và đã trở nên phổ biến trong hầu hết các thiết bị điện tử, các hệ thống
dây chuyền máy móc sản xuất và khuynh hướng này vẫn còn tiếp tục cho đến nay. Với
một hệ thống nhúng, sẽ thường đảm nhận một chức năng chuyên biệt, hoạt động với
mức tiêu thụ điện năng rất ít. Chính vì hệ thống chỉ đảm nhận một số nhiệm vụ chuyên
biệt nên các nhà thiết kế có thể tối ưu hóa hệ thống nhúng làm cho kích thước hệ thống
được giảm thiểu tối đa, và rất phù hợp với không gian nhỏ so với các thành phần khác
trong hệ thống mẹ. Điều này khiến giá thành hệ thống rất rẻ, hệ thống đã trở thành giải
pháp hữu hiệu để kiểm soát các thiết bị và rất hấp dẫn để xây dựng các hệ thống
chuyên dụngVới một hệ thống nhúng, sẽ thường đảm nhận một chức năng chuyên biệt,
hoạt động với mức tiêu thụ điện năng rất ít.
Hệ thống nhúng có tính hoạt động ổn định nên cũng rất bảo trì, cũng chính lý
do này, nên dễ dàng tích hợp vào các thiết bị mà không cần dịch vụ người dùng cuối.
Và khả năng xử lý của các hệ thống nhúng phát triển mạnh mẽ.
Hầu hết các chuyên gia đều nhận định hệ thống nhúng đang sở hữu tiềm năng
phát triển rất mạnh mẽ. Thống kê trên thế giới ghi nhận, trong các server, máy PC,
mạng WAN,mạng LAN,internet số chip chỉ chiểm không đầy 10% trong tổng số các
chip vi xử lý trên thế giới. Theo đó 99% vi xử lý ở trong hệ thống nhúng.

Hình 1: Các loại của hệ thống nhúng


4
2.Khái niệm hệ thống nhúng
Hệ thống nhúng (Tiếng Anh: embedded system) là một thuật ngữ để chỉ một hệ
thống có khả năng tự trị được nhúng vào trong một môi trường hay hệ thống mẹ. Đó là
các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng
trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin. Đặc
điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao.
Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt
nào đó. Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ
thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với
những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng
mà ta không tìm thấy trong một máy tính đa năng nói chung. Vì hệ thống chỉ được xây
dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm
giảm thiểu kích thước và chi phí sản xuất. Các hệ thống nhúng thường được sản xuất
hàng loạt với số lượng lớn. Hệ thống nhúng rất đa dạng, phong phú về chủng loại. Đó
có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kĩ thuật số và máy chơi nhạc
MP3, hoặc những sản phẩm lớn như đèn giao thông, bộ kiểm soát trong nhà máy hoặc
hệ thống kiểm soát các máy năng lượng hạt nhân. Xét về độ phức tạp, hệ thống nhúng
có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết
bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn.
Các thiết bị PDA hoặc máy tính cầm tay cũng có một số đặc điểm tương tự với
hệ thống nhúng như các hệ điều hành hoặc vi xử lý điều khiển chúng nhưng các thiết
bị này không phải là hệ thống nhúng thật sự bởi chúng là các thiết bị đa năng, cho
phép sử dụng nhiều ứng dụng và kết nối đến nhiều thiết bị ngoại vi.

3.Lịch sử phát triển


Những cột mốc quan trọng trong lịch sử đánh dấu sự phát triển của hệ thống
nhúng:
 Năm 1960, hệ thống nhúng lần đầu tiên được sử dụng để phát triển hệ
thống hướng dẫn Apollo bởi Charles Stark Draper tại MIT.
 Năm 1965, Autonetics đã phát triển D-17B, máy tính được sử dụng trong
hệ thống dẫn đường tên lửa Minuteman.
 Năm 1968, hệ thống nhúng đầu tiên cho một chiếc xe được phát hành.
5
 Texas Instruments đã phát triển bộ vi điều khiển đầu tiên vào năm 1971.
 Năm 1987, hệ điều hành nhúng đầu tiên VxWorks, được phát hành bởi
Wind River.
 Windows của Microsoft được nhúng CE vào năm 1996.
 Cuối những năm 1990, hệ thống Linux nhúng đầu tiên xuất hiện.
 Thị trường nhúng đạt 140 tỷ đô la vào năm 2013.
 Các nhà phân tích đang dự đoán một thị trường Nhúng lớn hơn 40 tỷ đô
la vào năm 2030.

4.Đặc điểm

Hình 2: Đặc điểm của hệ thống nhúng

 Hiệu suất thời gian thực


 Phải có tính khả dụng và độ tin cậy, độ ổn định cao.
 Được phát triển dựa trên hệ điều hành thời gian thực
 Được thiết kế cho một nhiệm vụ cụ thể
 Nó phải được kết nối với các thiết bị ngoại vi để kết nối các thiết bị đầu
vào và đầu ra.
 Giao diện người dùng (nếu cần thiết)
 Bộ nhớ hạn chế, chi phí thấp, tiêu thụ ít điện năng
 Nó không cần bất kỳ bộ nhớ phụ nào trong máy tính.

6
5.Phân loại hệ thống nhúng
Có một số loại hệ thống nhúng về cơ bản là giống nhau nhưng lại khác nhau về
yêu cầu chức năng của chúng.
 Hệ thống nhúng di động (Mobile embedded systems) là các hệ thống có
kích thước nhỏ được thiết kế dành cho các thiết bị di động như máy ảnh
kỹ thuật số, điện thoại di động.
 Hệ thống nhúng kết nối mạng lưới (Networked embedded systems) được
kết nối với một mạng để cung cấp đầu ra cho các hệ thống khác. Ví dụ
bao gồm hệ thống an ninh gia đình và hệ thống điểm bán hàng (POS).
 Hệ thống nhúng độc lập (Standalone embedded systems) là một hệ thống
nhúng không phụ thuộc vào hệ thống máy chủ. Giống như bất kỳ hệ
thống nhúng nào, chúng thực hiện một nhiệm vụ chuyên biệt. Tuy nhiên,
chúng không nhất thiết phải thuộc về một hệ thống chủ, không giống
như các hệ thống nhúng khác. Máy tính hoặc máy nghe nhạc MP3 là một
ví dụ.
 Hệ thống nhúng thời gian thực (Real-time embedded systems) cung cấp
đầu ra cần thiết trong một khoảng thời gian xác định. Chúng thường
được sử dụng trong các lĩnh vực y tế, công nghiệp và quân sự vì chúng
đảm nhận trách nhiệm cho các nhiệm vụ quan trọng, nghiêm ngặt về thời
gian. Hệ thống kiểm soát giao thông là một ví dụ.
 Ngoài ra, hệ thống nhúng cũng có thể được phân loại theo yêu cầu hiệu
suất của chúng:
 Các hệ thống nhúng quy mô nhỏ (Small-scale embedded systems)
thường sử dụng không quá một bộ vi điều khiển 8-bit.
 Các hệ thống nhúng quy mô trung bình (Medium-scale embedded
systems) sử dụng một bộ vi điều khiển lớn hơn (16-32 bit) và thường
liên kết các bộ vi điều khiển với nhau.
 Các hệ thống nhúng quy mô phức tạp (Sophisticated-scale embedded
systems) thường sử dụng một số thuật toán dẫn đến sự phức tạp của phần
mềm và phần cứng và có thể yêu cầu phần mềm phức tạp hơn, bộ xử lý
có thể cấu hình và mảng logic có thể lập trình được.

7
 Một số kiến trúc phần mềm hệ thống nhúng phổ biến, chúng trở nên cần
thiết khi các hệ thống nhúng phát triển và phức tạp hơn về quy mô. Bao
gồm:
 Các vòng điều khiển đơn giản (Simple control loops) gọi các chương
trình con, chương trình này quản lý một phần cụ thể của phần cứng hoặc
lập trình nhúng.
 Hệ thống điều khiển ngắt (Interrupt controlled systems) bao gồm hai
vòng lặp là vòng lặp chính và vòng lặp thứ cấp. Sự gián đoạn trong các
vòng lặp sẽ kích hoạt các tác vụ.
 Đa nhiệm tác vụ (Cooperative multitasking) thực chất là một vòng điều
khiển đơn giản nằm trong một giao diện lập trình ứng dụng (API -
Application Programming Interface).
 Đa nhiệm ưu tiên hoặc đa luồng (Preemptive multitasking or
multithreading) thường được sử dụng với RTOS và có các chiến lược
đồng bộ hóa và chuyển đổi tác vụ.

6.Ứng dụng của hệ thống nhúng


Các ứng dụng cơ bản của hệ thống
nhúng mà ta có thể dễ dàng thấy
được như trong các thẻ thông minh,
mạng máy tính, vệ tinh, viễn thông,
thiết bị điện tử tiêu dùng kỹ thuật
số, tên lửa, v.v.
Hệ thống nhúng được ứng dụng
trong ngành công nghiệp ô tô như
điều khiển động
cơ, kiểm soát,theo dõi hành trình,
việc bảo an toàn cho thân xe, sự an
toàn cho động cơ, điều khiển robot trong các chuyền lắp ráp, trình đa phương tiện trên
ô tô, hệ thống giải trí trên ô tô, truy cập E-com, kết nối với điện thoại di động, v.v …

8
Các hệ thống nhúng trong viễn thông thuộc các mạng lưới viễn thông, ứng dụng
điện toán di động và hệ thống truyền thông không dây, v.v.
Các hệ thống nhúng ứng dụng trong thẻ thông minh thuộc các hệ thống ngân
hàng, hệ thống ứng dụng điện thoại di động và bảo mật.
Hệ thống nhúng ứng dụng trong vệ tinh và tên lửa thuộc các đơn vị quốc phòng,
truyền thông và hàng không vũ trụ.
Các hệ thống nhúng trong hệ thống mạng và các thiết bị ngoại vi máy tính nằm
trong các ứng dụng xử lý hình ảnh, hệ thống mạng lưới, các máy in, các thẻ mạng,
màn hình và các vật hiển thị.
Các hệ thống nhúng ứng dụng trong các thiết bị điện tử tiêu dùng kỹ thuật số có
thể thấy được như đầu DVD, các loại tivi với độ phân giải cao và máy ảnh kỹ thuật.
Xu hướng phát triển: Ngành công nghiệp cho các hệ thống nhúng dự kiến sẽ
tiếp tục phát triển nhanh chóng, được thúc đẩy bởi sự phát triển liên tục của Trí tuệ
nhân tạo (AI – Artificial Intelligence), Thực tế ảo (VR – Virtual reality) và Thực tại
tăng cường (AR – Augmented reality), học máy (Machine learning), học sâu (Deep
learning) và Internet vạn vật (IoT – Internet of things).
Theo báo cáo năm 2018 do QYResearch công bố, thị trường toàn cầu cho ngành công
nghiệp hệ thống nhúng được định giá 68,9 tỷ đô la trong năm 2017 và dự kiến sẽ tăng
lên 105,7 tỷ đô la vào cuối năm 2025.

7.Kiến trúc CPU-Các bộ xử lý nhúng

Hình 3: Cấu trúc cơ bản của 1 hệ thống nhúng


Các bộ xử lý trong hệ thống nhúng có thể được chia thành 2 loại: Vi xử ký và vi
điều khiển. Các vi điều khiển thường có các thiết bị ngoại vi được tích hợp trên chip
9
nhằm giảm kích thước của hệ thống. Có rất nhiều loại kiến trúc CPU được sử dụng
trong thiết kế hệ nhúng như ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051,
Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80, Z8 … Điều này trái ngược
với các loại máy tính để bàn, thường bị hạn chế với một vài kiến trúc máy tính nhất
định. Các hệ thống nhúng có kích thước nhỏ và được thiết kế để hoạt động trong môi
trường công nghiệp thường lựa chọn PC/104 và PC/104++ làm nền tảng. Những hệ
thống này thường sử dụng DOS, Linux, NetBSD hoặc các hệ điều hành nhúng thời
gian thực như QNX hay VxWorks. Còn các hệ thống nhúng có kích thước rất lớn
thường sử dụng một cấu hình thông dụng là hệ thống on chip (System on a chip –
SoC), một bảng mạch tích hợp cho một ứng dụng cụ thể (an application-specific
integrated circuit – ASIC). Sau đó nhân CPU được mua và thêm vào như một phần của
thiết kế chip. Một chiến lược tương tự là sử dụng FPGA (field-programmable gate
array) và lập trình cho nó với những thành phần nguyên lý thiết kế bao gồm cả CPU.
Nhúng hoạt động bằng cách kết nối một bảng máy tính vào một công nghiệp có
I / O để thực hiện một chức năng trong môi trường nhúng. Phần tử điện toán là một bo
mạch chủ nhúng trong CPU, một yếu tố bao gồm các tính năng, bộ xử lý là trái tim của
một hệ thống nhúng.

8.Thiết bị ngoại vi
Hệ thống nhúng giao tiếp với bên ngoài thông qua các thiết bị ngoại vi, ví dụ
như:
• Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485...
• Synchronous Serial Communication Interface: I2C, JTAG, SPI, SSC và ESSI
• Universal Serial Bus (USB)
• Networks: Controller Area Network, LonWorks...
• Bộ định thời: PLL(s), Capture/Compare và Time Processing Units
• Discrete IO: General Purpose Input/Output (GPIO)

10
Phần II: Bộ xử lí ARM
1.Giới thiệu chung
1.1 Bộ xử lý ARM
Bộ xử lý ARM là một CPU dựa trên kiến trúc RISC (máy tính tập lệnh giảm)
được phát triển bởi Advanced RISC Machines. Công nghệ này đã góp phần vào sự
phát triển nhanh chóng vào đầu những năm 2010 và vẫn có tác động đáng kể đến các
thiết bị công nghệ.
ARM sản xuất bộ vi xử lý đa nhân RISC 32 bit và 64 bit. Các bộ xử lý RISC
được thiết kế để thực hiện một số lượng nhỏ hơn các loại lệnh máy tính để chúng có
thể hoạt động ở tốc độ cao hơn, thực hiện nhiều lệnh mỗi giây (MIPS). Bằng cách loại
bỏ các hướng dẫn không cần thiết và tối ưu hóa các đường dẫn, bộ xử lý RISC cung
cấp hiệu suất vượt trội nhưng mức tiêu thụ điện năng ở mức thấp.

Hình 2: Bộ xử lý ARM
Bộ xử lý ARM được sử dụng rộng rãi trong các thiết bị điện tử như
smartphone, máy tính bảng, trình phát đa phương tiện và các thiết bị di động khác. Bộ
vi xử lý ARM được thiết kế để hiệu quả nhất có thể, chỉ chấp nhận các lệnh có thể
được thực hiện trong một chu kỳ bộ nhớ. Quá trình phổ biến đối với CPU là tìm nạp,
giải mã và thực thi các lệnh.
Thiết kế đơn giản của bộ xử lý ARM cho phép xử lý đa lõi hiệu quả hơn và mã
hóa dễ dàng hơn cho các nhà phát triển. Mặc dù chúng không có cùng thông lượng

11
tính toán thô như các sản phẩm của Intel dẫn đầu thị trường x86, bộ vi xử lý ARM đôi
khi vượt quá hiệu suất của bộ xử lý Intel cho các ứng dụng tồn tại trên cả hai kiến trúc.

1.2 Tính năng của bộ xử lý ARM


- ARM sở hữu những tính năng tuyệt vời như:
 ARM được sử dụng để tải xuống và lưu lại những dữ liệu cần thiết.
 Thiết kế tiết kiệm năng lượng điện sẽ được thực hiện khi áp dụng ARM.
 Mang đến hiệu suất cao hơn, mở rộng nhiều chức năng hơn với hệ thống
32bit và 64bit.
 Công việc ảo hóa phần cứng được hỗ trợ triệt để.
- Vì sao nên sử dụng bộ xử lý ARM?
 Sức mạnh xử lý: Năng lượng thực hiện sẽ tăng lên một tầm cao mới khi
áp dụng kiến trúc 32bit bởi kiến trúc này có khả năng nhanh hơn 8 lần so
với những kiến thức bình thường khác. Ngoài ra, con chip của ARM sẽ
có thể thao tác được thuật toán nhanh, hiệu quả hơn rất nhiều những con
cip khác.
 Tốc độ đáp ứng: Các thiết bị lựa chọn ARM thay cho kiến thức thông
thường bởi ARM có khả năng thực hiện các phản ứng nhanh, hệ thống
xử lý ngắt kết nối hiệu quả, năng lượng điện được tiết kiệm tối đa.

1.3 Cấu trúc ARM


Với các mô hình RISC của Berkeley RISC I và II, Stanford MIPS, ARM kế
thừa:
Cấu trúc cơ bản:
 Cấu trúc load-store
 Chỉ lệnh có chiều dài cố định
 Cấu trúc chỉ lệnh có 3 địa chỉ.
 Thay vì chỉ dùng 1 chu kì xung nhịp cho tất cả các chỉ lệnh, ARM thiết
kế để sao cho tối giản số chu kì xung nhịp cho một chỉ lệnh, do đó tăng
được sự phức tạp cho các chỉ lệnh đơn lẻ

12
Mô hình thiết kế ARM: Để phục vụ mục đích của người dùng: r0-r14: 15 thanh
ghi đa dụng, r15 là thanh ghi PC, thanh ghi trạng thái chương trình hiện tại (CPSR).
Các thanh ghi khác được giữ lại cho hệ thống

Hình 3: Các thanh ghi trong lõi ARM


Lõi ARM có 37 thanh ghi trong đó có 31 thanh ghi đa dụng.Tuy nhiên tại một
thời điểm chỉ có 16 thanh ghi đa dụng và 2 thanh ghi hiển thị.Các thanh ghi khác ở
dạng ẩn chỉ hiển thị ở một số chế độ hoạt đông riêng.
Các thanh ghi đa dụng có thể lưu trữ dữ liệu hoặc địa chỉ .Các thanh ghi này
được đánh dấu bằng kí hiệu r.Tất cả các thanh ghi đều là 32 bit
Trong các thanh ghi đa dụng trên, có 3 thanh ghi còn được dùng để các chức
năng hoặc nhiệm vụ đăc biệt riêng:r13, r14,r15.
 Các thanh ghi từ R0 đến R12 (13 thanh ghi) là những thanh ghi được sử
dụng với nhiều mục đích chung như lưu trữ dữ liệu của các phép tính
toán, lưu trữ địa chỉ… Tất cả những thanh ghi này đều có độ rộng 32bit.
 Thanh ghi R13 được gọi là StackPointer (SP). Thanh ghi này được sử
dụng để theo dõi bộ nhớ stack. Và bên cạnh thanh ghi R13, có 2 thêm 2
thanh ghi nữa được chỉ ra trên hình là PSP (Processor Stack Pointer) và
MSP (Main Stack pointer), những thanh ghi này được gọi là Banked
version of SP.
 Thanh ghi R14 được gọi là Link Register (LR). Nó lưu thông tin của
subroutines, function call và exceptions.

13
 Thanh ghi R15 là thanh ghi Program Counter(PC). Thanh ghi này chứa
địa chỉ câu lệnh sẽ được thực thi. Khi reset, vi xử lý sẽ nạp thanh ghi PC
với giá trị reset là 0x00000004.
 Ngoài các thanh ghi được sử dụng với nhiều mục đích chung (R0-R12),
SP, LR, PC thì vi xử lý ARM Cortex-M4 còn có 5 thanh ghi đặc biệt.
Trong đó, thanh ghi Program status (PSR) bao gồm các thanh ghi cung
cấp thông tin trạng thái của chương trình Application với các cờ
N,Z,C,V,Q, chương trình Interrupt và các thanh ghi liên quan đến stack
của vi xử lý. Những thanh ghi còn lại, các bạn tìm đọc trong tài liệu đã
được đề cập đến ở phần trên.

2.Hoạt động
Vi xử lý ARM Cortex-Mx hoạt động ở 2 chế độ:
 Thread mode: Tất cả các code chương trình mà bạn viết trong main() sẽ
được thực thi dưới chế độ Thread mode của vi xử lý. Chế độ này còn
được gọi là “user mode.” Mặc định, vi xử lý luôn bắt đầu ở chế độ
Thread mode.
 Handler mode: Tất cả các xử lý System Exception và Interrupt sẽ được
thực thi dưới chế độ Handler mode của vi xử lý. Bất cứ khi nào vi xử lý
gặp System Exception hoặc Interrupt đến từ bất cứ ngoại vi nào, thì vi
xử lý sẽ ngay lập tức chuyển từ Thread mode thành Handler mode và
trình phục vụ tương ứng sẽ được thực thi ở Handle mode.
Vi xử lý ARM Cortex – M sử dụng kiến trúc bus Harvard, điều này có nghĩa là
nó có bus chuyên dụng dành cho việc lấy lệnh (instruction fetch) và lấy dữ liệu (data
fetch). Ưu điểm của kiến trúc này là trong khi fetch instruction thì vi xử lý có thể fetch
data một cách đồng thời, điều này làm tăng hiệu năng của vi xử lý, vi xử lý không cần
phải đợi cho đến khi data được fetch trước khi nó muốn lấy instruction tiếp theo và
ngược lại. Vi xử lý ARM Cortex cung cấp các BUS như I-BUS, D-BUS và S-BUS để
giao tiếp với phần còn lại của vi điều khiển. 

14
3.Đặc điểm của hệ thống nhúng
Cấu trúc ARM (viết tắt từ tên gốc là Acorn RISC Machine)
là một loại cấu trúc vi xử lý 32-bit kiểu RISC được sử dụng rộng rãi trong các thiết kế
nhúng. Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong
các sản phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là
một mục tiêu thiết kế quan trọng hàng đầu.
Để đạt được một thiết kế gọn, đơn giản và nhanh, các nhà thiết kế ARM xây
dựng nó theo kiểu nối cứng không có vi chương trình, giống với bộ vi xử lý 8-bit 6502
đã từng được dùng trong các máy vi tính trước đó của hãng Acorn.
Cấu trúc ARM bao gồm các đặc tính của RISC như sau:








Cấu trúc nạp/lưu trữ.
 Không cho phép truy xuất bộ nhớ
không thẳng hàng (bây giờ đã cho
phép trong lõi Arm v6).
 Tập lệnh trực giao
 File thanh ghi lớn gồm 16 x 32-bit.
 Chiều dài mã máy cố định là 32 bit để dễ giải mã và thực hiện
pipeline, để đạt được điều này phải chấp nhận giảm mật độ mã máy.
 Hầu hết các lệnh đều thực hiện trong vòng một chu kỳ đơn.
Các ưu điểm của bộ xử lý ARM:
 Được xây dựng theo kiểu cấu trúc mở: quy trình xử lý các thuật toán
hiệu quả hơn để bảo vệCPU không bị quá tải, tiết kiệm bộ nhớ và năng
lượng,- Thumb ® -2 - Cải thiện đáng kể mật độ code- DSP - Xử lý tín

15
hiệu trực tiếp trong lõi RISC- Jazelle ® - Java tăng tốc;- TrustZone ® -
Môi trường phần cứng/phần mềm được bảo mật tối đa.
 Bộ xử lý: Thông qua những ứng dụng mạnh mẽ và đa năng, các vi xử lý
chạy từ 1MHz đến1 GHz có cải tiến về cấu trúc nên mang lại hiệu năng
xử lý cao trong các ứngdụng Multimedia và Java.
 Công cụ lựa chọn (Tools of choice): Bộ vi xử lý ARM có phạm vi ứng
dụng rộng rải nhấtvì luôn có sẵn các Tools hỗ trợ phần cứng và phần
mềm cho bất kỳ cấu trúc 32-bit nào.
 Tiêu thụ điện năng thấp: Các giải pháp dùng vi xử lý ARM luôn tiêu thụ
thấp nhất điệnnăng trong ngành công nghiệp và MIPS mỗi Watt. Điều
này cho phép pin chạy lâu hơn vớicác tính năng rất tiên tiến.
 Chi phí silicon thấp: Bộ xử lý ARM và các sản phẩm IP khác làm cho
việc sử dụng siliconvà bộ nhớ hiệu quả hơn để tương thích với của các
thiết bị không dây. Các đặc tính của cấutrúc như công nghệ lõi Thumb
và Thumb-2 làm giảm kích thước code, tối thiểu footprint vàchi phí của
silicon.
 Hỗ trợ rộng khắp: ARM là cấu trúc vi xử lý được luôn có được sự hỗ trợ
tốt nhất. Vì có mộtloạt các hệ điều hành OS, Middleware và Tools đáp
ứng sự lựa chọn phong phú của các giảipháp multimedia codec đã được
tối ưu hóa cho bộ vi xử lý ARM, tất cả đều có sẵn trongARM Connected
Community

4.Ứng dụng bộ xử lý ARM


Một số ứng dụng hiện nay:
 Ổ cứng máy tính  Máy in
 Thẻ nhớ  VoIP
 Hệ thống mạng trong nhà  Mạng không dây
Xu hướng phát triển: So với các đối thủ thiết kế chip bán dẫn khác, ARM sở
hữu những thế mạnh khó ai có thể sánh bằng. Không chỉ giới hạn ở việc được lắp đặt
để xử lý các ứng dụng trên điện thoại, ARM còn hỗ trợ hoạt động cho các thiết bị cảm
biến thế hệ mới. Ở quy mô lớn hơn, chúng có thể được dùng để phát triển hệ thống đèn

16
tự giám sát. Ban đầu chúng sẽ có các tính năng cơ bản như việc cảnh báo cơ quan quản
lý khi bóng đèn không hoạt hoạt động. Trong giai đoạn tiếp theo, các hệ thống đèn này
có thể tắt/mở tự động khi không có xe hoạt động trên đường, nhằm tiết kiệm điện năng
ở mức tối đa. Đi xa hơn nữa, sự hiện của các thiết bị cảm biến tiên tiến cho phép sản
phẩm bóng đèn điện có phản xạ và vận hành tốt hơn. Cảm biến tăng khả năng quan sát
điểm mù cho xe hơi ARM hứa hẹn sẽ mang đến một bước đột phá cho công nghệ xe
hơi. Với một số ứng dụng tuyệt vời như cảnh báo lệch làn, hệ thống phanh tự động,
phát hiện điểm mù giúp tài xế tránh được những va chạm không đáng có.

Phần III: Một số tài kiệu tham khảo


1. Embedded Controller Hardware Design
2. Programming Embedded Systems
3. ARM HOLDINGS, Annual Report 2013: Strategic Report.
4. ARM-SoC Architecture - Steve Furber- Addison Wesley Publishing-
ISBN: 0-201-67519-6
5. ARM Developer Suite -Assemler Guide – ©2001 ARM Limited

17
18

You might also like