You are on page 1of 41

Regardless of the function performed by an embedded system, the broadest view of its

structure reveals two major, tightly coupled sets of components: a set of hardware
components that include a central processing unit, typically in the form of a
microcontroller; and a series of software programs, typically included as firmware, that
give functionality to the hardware. Figure 1.7 depicts this general view, denoting these
two major components and their interrelation. Typical inputs in an embedded system are
process variables and parameters that arrive via sensors and input/output (I/O) ports. The
outputs are in the form of control actions on system actuators or processed information
for users or other subsystems within the application. In some instances, the exchange of
input-output information occurs with users via some sort of user interface that might
include keys and buttons, sensors, light emitting diodes
(LEDs), liquid crystal displays (LCDs), and other types of display devices, depending on
the application.
Bất kể chức năng nào được thực hiện bởi một hệ thống nhúng, cái nhìn bao quát nhất về
cấu trúc của nó cho thấy hai bộ thành phần chính, được kết hợp chặt chẽ với nhau: một
tập hợp các thành phần phần cứng bao gồm bộ xử lý trung tâm, thường ở dạng vi điều
khiển; và một loạt chương trình phần mềm, thường được bao gồm dưới dạng phần sụn,
cung cấp chức năng cho phần cứng. Hình 1.7 mô tả quan điểm chung này, biểu thị hai
thành phần chính này và mối quan hệ qua lại giữa chúng. Đầu vào điển hình trong một hệ
thống nhúng là các biến quá trình và các tham số đến thông qua cảm biến và cổng đầu
vào / đầu ra (I / O). Kết quả đầu ra ở dạng các hành động điều khiển trên cơ cấu chấp
hành hệ thống hoặc thông tin đã xử lý cho người dùng hoặc các hệ thống con khác trong
ứng dụng. Trong một số trường hợp, việc trao đổi thông tin đầu vào - đầu ra xảy ra với
người dùng thông qua một số loại giao diện người dùng có thể bao gồm các phím và nút,
cảm biến, điốt phát sáng

(Đèn LED), màn hình tinh thể lỏng (LCD) và các loại thiết bị hiển thị khác, tùy thuộc vào
ứng dụng.
A subcategory of Embedded Systems is the Real Time Embedded Systems. A Real Time
Embedded System is a type of computer system with timing constraints i.e. a system
which responds to external events or input stimuli in a timely fashion (within finite and
specified time). Here, Timing Constrains include Response Time, Start Time and Finish
Time i.e. time taken to respond to the event, time at which the response to the even starts
and time at which the response is given. Based on degree of tolerance in the timing
constraints, Real Time systems are classified in to two types. They are: Hard Real Time
Systems and Soft Real Time Systems. In Hard Real Time Systems, there is no flexibility
in timing constraints i.e. they must meet all the deadlines, failing to do will result in a
catastrophic consequences. On the other hand, Soft Real Time Systems have some
relaxation in meeting the deadlines i.e. the degree of tolerance is non-zero. A Soft Real
Time System must produce response to an event within the deadline but with some
flexibility in meeting the deadlines.
Một danh mục con của Hệ thống nhúng là Hệ thống nhúng thời gian thực. Hệ thống
nhúng thời gian thực là một loại hệ thống máy tính có các ràng buộc về thời gian, tức là
hệ thống phản ứng với các sự kiện bên ngoài hoặc các kích thích đầu vào một cách kịp
thời (trong thời gian hữu hạn và được chỉ định). Ở đây, Giới hạn thời gian bao gồm Thời
gian phản hồi, Thời gian bắt đầu và Thời gian kết thúc, tức là thời gian cần thiết để phản
hồi sự kiện, thời gian mà phản hồi cho lần bắt đầu chẵn và thời gian phản hồi được đưa
ra. Dựa trên mức độ dung sai trong các ràng buộc về thời gian, hệ thống Thời gian thực
được phân loại thành hai loại. Đó là: Hệ thống thời gian thực cứng và Hệ thống thời gian
thực mềm. Trong Hệ thống thời gian thực cứng, không có sự linh hoạt trong các ràng
buộc về thời gian, tức là chúng phải đáp ứng tất cả các thời hạn, nếu không làm sẽ dẫn
đến hậu quả thảm khốc. Mặt khác, Hệ thống thời gian thực mềm có chút thoải mái trong
việc đáp ứng thời hạn, tức là mức độ khoan dung là khác không. Hệ thống thời gian thực
mềm phải tạo ra phản ứng cho một sự kiện trong thời hạn nhưng với một số linh hoạt
trong việc đáp ứng thời hạn.

An embedded system can be broadly defined as a device that contains tightly


coupled hardware and software components to perform a single function, forms part of a
larger system, is not intended to be independently programmable by the user, and is
expected to work with minimal or no human interaction. Two additional characteristics
are very common in embedded systems:reactive operation and heavily constrained.
Most embedded system interact directly with processes or the environment,
making decisions on the fly, based on their inputs. This makes necessary that the system
must be reactive, responding in real-time to process inputs to ensure proper operation.
Besides, these systems operate in constrained environments where memory, computing
power, and power supply are limited. Moreover, production requirements, in most cases
due to volume, place high cost constraints on designs.
Hệ thống nhúng có thể được định nghĩa rộng rãi là một thiết bị chứa các thành
phần phần cứng và phần mềm được kết hợp chặt chẽ với nhau để thực hiện một chức
năng duy nhất, tạo thành một phần của hệ thống lớn hơn, không nhằm mục đích lập trình
độc lập bởi người dùng và dự kiến sẽ hoạt động với mức tối thiểu hoặc không có sự
tương tác của con người. Hai đặc điểm bổ sung rất phổ biến trong các hệ thống nhúng:
hoạt động phản ứng và bị ràng buộc nhiều.
Hầu hết các hệ thống nhúng tương tác trực tiếp với các quy trình hoặc môi trường,
đưa ra quyết định nhanh chóng, dựa trên đầu vào của chúng. Điều này là cần thiết rằng hệ
thống phải phản ứng, phản hồi trong thời gian thực để xử lý đầu vào nhằm đảm bảo hoạt
động tốt. Bên cạnh đó, các hệ thống này hoạt động trong các môi trường hạn chế, nơi bộ
nhớ, khả năng tính toán và nguồn cung cấp bị hạn chế. Hơn nữa, yêu cầu sản xuất, trong
hầu hết các trường hợp do khối lượng, đặt ra ràng buộc về chi phí cao đối với thiết kế.

Đáp án đúng là 50.


An embedded system is a [microprocessor-based] computer hardware system with
software that is designed to perform a dedicated function, either as an independent system
or as a part of a large system. At the core is an integrated circuit designed to carry out
computation for real-time operations. The first modern, real-time embedded computing
system was the [Apollo Guidance Computer], developed in the 1960s by Dr. Charles
Stark Draper at the Massachusetts Institute of Technology for the Apollo Program. The
Apollo Guidance Computer was designed to collect data automatically and provide
mission-critical calculations for the Apollo Command Module and Lunar Module. In
1971, Intel released the first commercially available microprocessor unit -- the Intel 4004
-- an early microprocessor that still required support chips and [external memory]; in
1978 the National Engineering Manufacturers Association released a standard for
programmable microcontrollers, improving the embedded system design; and by the
early 1980s, memory, input and output system components had been integrated into the
same chip as the processor, forming a [microcontroller]. The [microcontroller-based]
embedded system would go on to be incorporated into every aspect of consumers’ daily
lives, from credit card readers and cell phones, to traffic lights and thermostats.
Hệ thống nhúng là hệ thống phần cứng máy tính [dựa trên bộ vi xử lý] với phần mềm
được thiết kế để thực hiện một chức năng chuyên dụng, dưới dạng một hệ thống độc lập
hoặc là một phần của hệ thống lớn. Cốt lõi là một mạch tích hợp được thiết kế để thực
hiện tính toán cho các hoạt động thời gian thực. Hệ thống máy tính nhúng thời gian thực
hiện đại đầu tiên là [Máy tính hướng dẫn Apollo], được phát triển vào những năm 1960
bởi Tiến sĩ Charles Stark Draper tại Viện Công nghệ Massachusetts cho Chương trình
Apollo. Máy tính Hướng dẫn Apollo được thiết kế để thu thập dữ liệu tự động và cung
cấp các tính toán quan trọng cho sứ mệnh cho Mô-đun Chỉ huy Apollo và Mô-đun Mặt
trăng. Năm 1971, Intel phát hành bộ vi xử lý thương mại đầu tiên - Intel 4004 - một bộ vi
xử lý ban đầu vẫn yêu cầu chip hỗ trợ và [bộ nhớ ngoài]; vào năm 1978, Hiệp hội các nhà
sản xuất kỹ thuật quốc gia đã phát hành một tiêu chuẩn cho bộ vi điều khiển có thể lập
trình được, cải tiến thiết kế hệ thống nhúng; và đến đầu những năm 1980, các thành phần
hệ thống bộ nhớ, đầu vào và đầu ra đã được tích hợp vào cùng một con chip với bộ vi xử
lý, tạo thành một [vi điều khiển]. Hệ thống nhúng [dựa trên vi điều khiển] sẽ tiếp tục
được tích hợp vào mọi khía cạnh của cuộc sống hàng ngày của người tiêu dùng, từ đầu
đọc thẻ tín dụng và điện thoại di động, đến đèn giao thông và bộ điều nhiệt.
Your answer is correct.
The correct answer is: System ability to be kept functional for the longest of its
mature life. → Maintainability, The system ability to perform its function on time. →
Performance, Physical space taken by a system solution. → Size, The system ability to
perform the function it was designed for. → Fuctionality, The time it takes from system
conception to deployment. → Time to Market, Energy required by a system to perform
its function. → Power and Energy,
The amount of resources needed to conceive, design, produce, maintain, and discard an
embedded system. → Cost

Câu trả lời của bạn là đúng.


Câu trả lời đúng là: Khả năng hệ thống được duy trì hoạt động lâu nhất trong thời gian
trưởng thành của nó. → Khả năng bảo trì, Khả năng hệ thống thực hiện chức năng của nó
đúng thời gian. → Hiệu suất, Không gian vật lý được thực hiện bởi một giải pháp hệ
thống. → Kích thước, Khả năng hệ thống thực hiện chức năng mà nó được thiết kế. →
Tính hư cấu, Thời gian từ khi hình thành hệ thống đến khi triển khai. → Thời gian đưa ra
thị trường, Năng lượng được yêu cầu bởi một hệ thống để thực hiện chức năng của nó. →
Năng lượng và Năng lượng,
Lượng tài nguyên cần thiết để hình thành, thiết kế, sản xuất, bảo trì và loại bỏ một hệ
thống nhúng. → Chi phí
Question 12:
Consider the development of the first iPod, by Apple and sub-contractor PortalPlayer.
Coming up with the functional product idea, defining its specifications, the product
architecture; designing the hardware for each supported feature, the software for the
desired functionality, debugging the system, planning its packaging, form factor,
manufacturing plan, production scheme, and customer support took a team of nearly 300
engineers working for about one year. A conservative estimate NRE is ten million
dollars. The recurrent costs for a first generation player can be estimated around $120,
considering that its architecture was based on two ARM7 MCUs, one audio codec, a 5GB
hard drive, lithium batteries, and miscellaneous knobs, buttons, display, and enclosure.
Apple reported selling 125,000 iPods in the first quarter 2002, so let’s assume their first
batch of units consisted of exactly that number of units—that is a least a lower bound.
With these numbers, and NRE set at $10M, What is the total cost (in dollars) for
producing that first batch of units?

Hãy xem xét sự phát triển của iPod đầu tiên của Apple và nhà thầu phụ PortalPlayer. Lên
ý tưởng về sản phẩm chức năng, xác định các thông số kỹ thuật của nó, kiến trúc sản
phẩm; Việc thiết kế phần cứng cho từng tính năng được hỗ trợ, phần mềm cho chức năng
mong muốn, gỡ lỗi hệ thống, lập kế hoạch đóng gói, hình thức, kế hoạch sản xuất, kế
hoạch sản xuất và hỗ trợ khách hàng đã mất một đội ngũ gần 300 kỹ sư làm việc trong
khoảng một năm. Một ước tính thận trọng NRE là 10 triệu đô la. Chi phí định kỳ cho một
đầu phát thế hệ đầu tiên có thể được ước tính khoảng 120 đô la, vì kiến trúc của nó dựa
trên hai MCU ARM7, một codec âm thanh, ổ cứng 5GB, pin lithium và các núm, nút
bấm, màn hình và vỏ máy khác. Apple báo cáo đã bán được 125.000 iPod trong quý đầu
tiên năm 2002, vì vậy hãy giả sử rằng lô đơn vị đầu tiên của họ bao gồm chính xác số đơn
vị đó — đó là giới hạn thấp hơn ít nhất. Với những con số này và NRE được đặt ở mức
10 triệu đô la, Tổng chi phí (tính bằng đô la) để sản xuất lô đơn vị đầu tiên đó là bao
nhiêu?
The cost given Volume (V) of units:
CT = NRE + (RP*V)
UC = CT/V = RP + NRE/V
- NRE = Non-Recurrent Engineering costs (Fixed).
+ Investment to complete all design aspects.
+ Very large and independent of volume in CT.
+ Include man-hours, infrastructure, and R&D.
- RP = Recurrent Production costs (Variable).
+ Expenses in producing each unit of a given volume.
+ Small but affected by V in CT.
+ Include components, boards, packages, and testing.

- NRE = Chi phí kỹ thuật không định kỳ (Cố định).


+ Đầu tư để hoàn thiện tất cả các khía cạnh thiết kế.
+ Rất lớn và không phụ thuộc vào khối lượng trong CT.
+ Bao gồm giờ công, cơ sở hạ tầng và R&D.
- RP = Chi phí sản xuất định kỳ (Biến đổi).
+ Chi phí sản xuất từng đơn vị của một khối lượng nhất định.
+ Nhỏ nhưng bị ảnh hưởng bởi V trong CT.
+ Bao gồm các thành phần, bo mạch, gói và thử nghiệm.

- Where NRE represent the Non-recurring Engineering (NRE) costs for that product,
(RP) represents the Variable or Recurrent Production costs, and the production volume V
is the number of marketed units.
- Trong đó NRE đại diện cho chi phí Kỹ thuật không định kỳ (NRE) cho sản phẩm đó,
(RP) đại diện cho Chi phí sản xuất biến đổi hoặc định kỳ và khối lượng sản xuất V là số
lượng đơn vị được bán trên thị trường.
=> 10m + (120*125000) = 25000000
[Computers]have been embedded into applications since the earliest days of computing.
A [microprocessor] is a [single-chip CPU]. [VLSI] (very large-scale integration)
technology has allowed us to put a complete CPU on a single chip since the 1970s, but
those CPUs were very simple. The first microprocessor, the Intel 4004, was designed for
an embedded application, namely, a calculator. The calculator was not [a general purpose
computer], it merely provided basic arithmetic functions. Automobile designers started
making use of the microprocessor soon after single chip CPUs became available. The
most important and sophisticated use of microprocessors in automobiles was to control
[the engine]. Microprocessors come in many different levels of sophistication. They are
usually classified by their word size. An 8-bit microcontroller is designed for low-cost
applications and includes [on-board memory] and I/O devices; a 16-bit
[microcontroller] is often used for more sophisticated applications that may require either
longer word lengths or off-chip I/O and memory; and a 32-bit RISC microprocessor
offers very [high performance] for computation-intensive applications.
[Máy tính] đã được nhúng vào các ứng dụng kể từ những ngày đầu tiên của máy tính. [Bộ
vi xử lý] là một [CPU chip đơn]. Công nghệ [VLSI] (tích hợp quy mô rất lớn) đã cho
phép chúng ta đặt một CPU hoàn chỉnh trên một chip duy nhất từ những năm 1970,
nhưng những CPU đó rất đơn giản. Bộ vi xử lý đầu tiên, Intel 4004, được thiết kế cho
một ứng dụng nhúng, cụ thể là máy tính. Máy tính không phải là [một máy tính đa năng],
nó chỉ cung cấp các chức năng số học cơ bản. Các nhà thiết kế ô tô bắt đầu sử dụng bộ vi
xử lý ngay sau khi có sẵn CPU chip đơn. Việc sử dụng bộ vi xử lý tinh vi và quan trọng
nhất trong ô tô là để điều khiển [động cơ]. Bộ vi xử lý có nhiều mức độ tinh vi khác nhau.
Chúng thường được phân loại theo kích thước từ của chúng. Bộ vi điều khiển 8 bit được
thiết kế cho các ứng dụng chi phí thấp và bao gồm [bộ nhớ trên bo mạch] và các thiết bị I
/ O; [vi điều khiển] 16-bit thường được sử dụng cho các ứng dụng phức tạp hơn có thể
yêu cầu độ dài từ dài hơn hoặc I / O ngoài chip và bộ nhớ; và bộ vi xử lý RISC 32-bit
mang lại [hiệu suất cao] cho các ứng dụng tính toán chuyên sâu.

System Tasks: The application software in embedded systems is divided into a set of
smaller programs called Tasks. Each task handles a distinct action in the system and
requires the use of specific System Resources. Tasks submit service requests to the kernel
in order to perform their designated actions. In our microwave oven example the system
operation can be decomposed into a set of tasks that include reading the keypad to
determine user selections, presenting information on the oven display, turning on the
magnetron at a certain power level for a certain amount of time, just to mention a few.
Service requests can be placed via registers or interrupts.
System Kernel: The software component that handles the system resources in an
embedded application is called the Kernel. System resources are all those components
needed to serve tasks. These include memory, I/O devices, the CPU itself, and other
hardware components. The kernel receives service requests from tasks, and schedules
them according to the priorities dictated by the task manager. When multiple tasks
contend for a common resource, a portion of the kernel establishes the resource
management policy of the system. It is not uncommon finding tasks that need to
exchange information among them. The kernel provides a framework that enables a
reliable inter-task communication to exchange information and to coordinate
collaborative operation.

Services: Tasks are served through Service Routines. A service routine is a piece of code
that gives functionality to a system resource. In some systems, they are referred to as
device drivers. Services can be activated by polling or as interrupt service routines (ISR),
depending on the system architecture.

Nhiệm vụ hệ thống: Phần mềm ứng dụng trong hệ thống nhúng được chia thành một tập
hợp các chương trình nhỏ hơn gọi là Nhiệm vụ. Mỗi tác vụ xử lý một hành động riêng
biệt trong hệ thống và yêu cầu sử dụng Tài nguyên hệ thống cụ thể. Các tác vụ gửi các
yêu cầu dịch vụ tới hạt nhân để thực hiện các hành động được chỉ định của chúng. Trong
ví dụ về lò vi sóng của chúng tôi, hoạt động của hệ thống có thể được phân tách thành
một tập hợp các tác vụ bao gồm đọc bàn phím để xác định lựa chọn của người dùng, hiển
thị thông tin trên màn hình lò, bật nam châm ở một mức công suất nhất định trong một
khoảng thời gian nhất định, chỉ đề cập đến một số ít. Yêu cầu dịch vụ có thể được đặt qua
thanh ghi hoặc ngắt.

Kernel hệ thống: Thành phần phần mềm xử lý tài nguyên hệ thống trong một ứng dụng
nhúng được gọi là Kernel. Tài nguyên hệ thống là tất cả những thành phần cần thiết để
phục vụ các tác vụ. Chúng bao gồm bộ nhớ, thiết bị I / O, bản thân CPU và các thành
phần phần cứng khác. Kernel nhận các yêu cầu dịch vụ từ các tác vụ và lên lịch cho
chúng theo các mức độ ưu tiên do trình quản lý tác vụ chỉ định. Khi nhiều tác vụ tranh
giành một tài nguyên chung, một phần của nhân sẽ thiết lập chính sách quản lý tài nguyên
của hệ thống. Việc tìm kiếm các nhiệm vụ cần trao đổi thông tin giữa chúng không phải
là hiếm. Kernel cung cấp một khuôn khổ cho phép giao tiếp giữa các tác vụ đáng tin cậy
để trao đổi thông tin và điều phối hoạt động cộng tác.

Dịch vụ: Các công việc được phục vụ thông qua các Quy trình Dịch vụ. Quy trình dịch
vụ là một đoạn mã cung cấp chức năng cho tài nguyên hệ thống. Trong một số hệ thống,
chúng được gọi là trình điều khiển thiết bị. Các dịch vụ có thể được kích hoạt bằng cách
thăm dò hoặc dưới dạng các quy trình dịch vụ gián đoạn (ISR), tùy thuộc vào kiến trúc hệ
thống.
Question 15:

Note that in this class we are not referring to what is traditionally known as a distributed
computing system. Instead, we refer to the class of embedded systems where, due to the
nature of the data managed by these systems and the operations to be performed on them,
the CPU resides in a separate chip while the rest of components like memories, I/O, co-
processors, and other special functions are spread across one or several chips in what is
typically called the processor chipset. These are typically board-level systems where,
although robustness is not a critical issue, maintenance and updates are required, and
include some means of systems diagnosis. They typically manage multiple tasks, so the
use of RTOS for system development is not uncommon. Production volume is relatively
high, and costs are mainly driven by the expected level of performance. Applications
might require high-performance operations. Applications like video processors, video
game controllers, data loggers, and network processors are examples of this category.
Lưu ý rằng trong lớp này, chúng tôi không đề cập đến cái mà theo truyền thống được gọi
là hệ thống máy tính phân tán. Thay vào đó, chúng tôi đề cập đến loại hệ thống nhúng
trong đó, do bản chất của dữ liệu được quản lý bởi các hệ thống này và các hoạt động
được thực hiện trên chúng, CPU nằm trong một chip riêng biệt trong khi phần còn lại của
các thành phần như bộ nhớ, I / O , bộ đồng xử lý và các chức năng đặc biệt khác được trải
rộng trên một hoặc một số chip trong cái thường được gọi là chipset bộ xử lý. Đây
thường là các hệ thống cấp hội đồng quản trị, trong đó, mặc dù độ mạnh không phải là
vấn đề quan trọng, nhưng cần phải bảo trì và cập nhật, đồng thời bao gồm một số phương
tiện chẩn đoán hệ thống. Chúng thường quản lý nhiều tác vụ, vì vậy việc sử dụng RTOS
để phát triển hệ thống không phải là hiếm. Khối lượng sản xuất tương đối cao và chi phí
chủ yếu được thúc đẩy bởi mức hiệu suất dự kiến. Các ứng dụng có thể yêu cầu hoạt
động hiệu suất cao. Các ứng dụng như bộ xử lý video, bộ điều khiển trò chơi điện tử, bộ
ghi dữ liệu và bộ xử lý mạng là những ví dụ về danh mục này.
A Real Time Embedded System is a type of [computer system] with [timing
constraints] i.e. a system which responds to external events or input stimuli in a timely
fashion (within finite and specified time). Here, Timing Constrains include Response
Time, Start Time and Finish Time i.e. time taken to respond to the event, time at which
the response to the event starts and time at which the response is given. Based on the
degree of tolerance in the timing constraints, [Real Time Systems] are classified in to two
types. They are: Hard Real Time Systems and Soft Real Time Systems. In [Hard Real
Time Systems], there is no flexibility in timing constraints i.e. they must meet all the
deadlines, failing to do will result in a catastrophic consequences. On the other hand,[Soft
Real Time Systems] have some relaxation in meeting the deadlines i.e. the degree of
tolerance is non-zero. A Soft Real Time System must produce response to an event
within the deadline but with some flexibility in meeting the deadlines.

Hệ thống nhúng theo thời gian thực là một loại [hệ thống máy tính] có [các ràng buộc về
thời gian] tức là hệ thống phản ứng với các sự kiện bên ngoài hoặc các kích thích đầu vào
một cách kịp thời (trong thời gian hữu hạn và được chỉ định). Ở đây, Giới hạn thời gian
bao gồm Thời gian phản hồi, Thời gian bắt đầu và Thời gian kết thúc, tức là thời gian cần
thiết để phản hồi sự kiện, thời gian bắt đầu phản hồi cho sự kiện và thời gian phản hồi
được đưa ra. Dựa trên mức độ dung sai trong các ràng buộc thời gian, [Hệ thống thời gian
thực] được phân loại thành hai loại. Đó là: Hệ thống thời gian thực cứng và Hệ thống thời
gian thực mềm. Trong [Hệ thống thời gian thực cứng], không có sự linh hoạt trong các
ràng buộc về thời gian, tức là chúng phải đáp ứng tất cả các thời hạn, nếu không làm sẽ
dẫn đến hậu quả thảm khốc. Mặt khác, [Hệ thống thời gian thực mềm] có chút thoải mái
trong việc đáp ứng thời hạn, tức là mức độ khoan dung là khác không. Hệ thống thời gian
thực mềm phải tạo ra phản ứng cho một sự kiện trong thời hạn nhưng với một số linh
hoạt trong việc đáp ứng thời hạn.
Status Register
The SR register of MSP430 CPU has the common flags of [Carry] (C), [Zero] (Z), Sign
or [Negative] (N), [overflow] (V) and [general interrupt enable] (GIE). It contains in
addition a set of bits,[CPUOFF], OSCOFF, SCG1 and SCG0, used to configure the CPU,
oscillator and power mode operations. These bits are explained in later sections and
chapters. The bit distribution in the SR is shown in Fig. 3.5. in the textbook.
Đăng kí trạng thái
Thanh ghi SR của CPU MSP430 có các cờ chung là [Carry] (C), [Zero] (Z), Sign hoặc
[Negative] (N), [tràn] (V) và [cho phép ngắt chung] (GIE). Ngoài ra, nó còn chứa một tập
hợp các bit, [CPUOFF], OSCOFF, SCG1 và SCG0, được sử dụng để cấu hình các hoạt
động của CPU, bộ dao động và chế độ nguồn. Các bit này được giải thích trong các phần
và chương sau. Sự phân bố bit trong SR được thể hiện trong Hình 3.5. trong sách giáo
khoa.

The CPU interacts with only one memory register or peripheral device at a time. Each
register, either in memory or a peripheral device, is uniquely identified with an
[identifier] called address. The set of lines transporting this address information form
the [address] bus. These lines are usually [unidirectional] and coming out from the CPU.
Addresses are usually named in [hexadecimal] notation. The width of the address bus
determines the size of the [largest memory space] that the CPU can address. An address
bus of m bits will be able to address at most 2m

different memory locations, which are referred to by hex notation. For example, with a
16-bit address bus, the CPU can access up to 216 = 64K locations named 0x0000,
0x0001, . . ., 0xFFFF. Notice that the bits of the address bus lines work as [a group],
called address word, and are not considered meaningful individually.

CPU chỉ tương tác với một thanh ghi bộ nhớ hoặc thiết bị ngoại vi tại một thời điểm. Mỗi
thanh ghi, trong bộ nhớ hoặc một thiết bị ngoại vi, được nhận dạng duy nhất với một [mã
định danh] được gọi là địa chỉ. Tập hợp các đường vận chuyển thông tin địa chỉ này tạo
thành xe buýt [địa chỉ]. Các dòng này thường là [một chiều] và đi ra từ CPU. Địa chỉ
thường được đặt tên theo ký hiệu [hexadecimal]. Chiều rộng của bus địa chỉ xác định
kích thước của [không gian bộ nhớ lớn nhất] mà CPU có thể định địa chỉ. Một bus địa chỉ
gồm m bit sẽ có thể định địa chỉ tối đa là 2m

các vị trí bộ nhớ khác nhau, được gọi bằng ký hiệu hex. Ví dụ, với bus địa chỉ 16 bit,
CPU có thể truy cập tới 216 = 64K vị trí có tên 0x0000, 0x0001 ,. . ., 0xFFFF. Lưu ý rằng
các bit của các đường bus địa chỉ hoạt động như [một nhóm], được gọi là từ địa chỉ, và
không được coi là có ý nghĩa riêng lẻ.
The register PC holds the [address of the instruction] to be fetched from memory by the
CPU. It is sometimes also called the [instruction pointer] (IP). Every time an instruction
is fetched and decoded, the control unit increments the value of the PC to point to the
[next instruction] in memory. This behavior may be altered, among others, by jump
instructions which, when executed, replace the contents of the PC with [a new address].
Being the PC an address register, its width may also determine the size of the largest
[program memory space] directly addressable by the CPU. The [PC] is usually not meant
to be directly manipulated by programs. This rule is enforced in many traditional
architectures by making the PC not accessible as an operand to general instructions.
Newer RISC architectures have relaxed this rule in an attempt to make programming
more flexible. Nevertheless, this flexibility has to be used with caution to maintain a
correct program flow.
Máy tính đăng ký giữ [địa chỉ của lệnh] được CPU tìm nạp từ bộ nhớ. Nó đôi khi còn
được gọi là [con trỏ hướng dẫn] (IP). Mỗi khi một lệnh được tìm nạp và giải mã, khối
điều khiển sẽ tăng giá trị của PC để trỏ đến [lệnh tiếp theo] trong bộ nhớ. Hành vi này có
thể được thay đổi, trong số những hành vi khác, bằng các lệnh nhảy, khi được thực hiện,
sẽ thay thế nội dung của PC bằng [một địa chỉ mới]. Là PC là một thanh ghi địa chỉ,
chiều rộng của nó cũng có thể xác định kích thước của [không gian bộ nhớ chương trình]
lớn nhất mà CPU có thể định địa chỉ trực tiếp. [PC] thường không được sử dụng để điều
khiển trực tiếp bởi các chương trình. Quy tắc này được thực thi trong nhiều kiến trúc
truyền thống bằng cách làm cho PC không thể truy cập được dưới dạng toán hạng đối với
các lệnh chung. Các kiến trúc RISC mới hơn đã nới lỏng quy tắc này để cố gắng làm cho
việc lập trình trở nên linh hoạt hơn. Tuy nhiên, tính linh hoạt này phải được sử dụng một
cách thận trọng để duy trì một dòng chương trình chính xác.
[CPU registers] provide temporary storage for data, memory addresses, and control
information in a way that can be quickly accessed. They are the [fastest] form of
information storage in a computer system, while at the same time they are
the [smallest] in capacity. Register contents is [volatile], meaning that it is lost when the
CPU is de-energized. CPU registers can be broadly classified as general purpose and
specialized. [General purpose registers] (GPR) are those not tied to specific processor
functions and may be used to hold data, variables, or address pointers as needed. Based
on this usage, some authors classify them also as data or address registers. Depending on
the processor architecture, a CPU can contain from as few as two to several dozen GPRs.
[Special purpose registers] perform specific functions that give functionality to the CPU.
The most basic CPU structure includes the following four specialized
registers:Instruction Register (IR), [Program Counter] (PC), also called [Instruction
Pointer] (IP), [Stack Pointer] (SP), [Status Register] (SR).
[Thanh ghi CPU] cung cấp khả năng lưu trữ tạm thời cho dữ liệu, địa chỉ bộ nhớ và thông
tin điều khiển theo cách có thể được truy cập nhanh chóng. Chúng là hình thức lưu trữ
thông tin [nhanh nhất] trong hệ thống máy tính, đồng thời chúng là hình thức lưu trữ
thông tin [nhỏ nhất]. Nội dung thanh ghi là [dễ bay hơi], có nghĩa là nó bị mất khi CPU bị
khử năng lượng. Thanh ghi CPU có thể được phân loại rộng rãi thành mục đích chung và
chuyên biệt. [Thanh ghi mục đích chung] (GPR) là những thanh ghi không gắn với các
chức năng cụ thể của bộ xử lý và có thể được sử dụng để lưu giữ dữ liệu, biến hoặc con
trỏ địa chỉ khi cần thiết. Dựa trên cách sử dụng này, một số tác giả phân loại chúng cũng
như dữ liệu hoặc thanh ghi địa chỉ. Tùy thuộc vào kiến trúc bộ xử lý, một CPU có thể
chứa từ hai đến vài chục GPR. [Thanh ghi mục đích đặc biệt] thực hiện các chức năng cụ
thể cung cấp chức năng cho CPU. Cấu trúc CPU cơ bản nhất bao gồm bốn thanh ghi
chuyên biệt sau: Thanh ghi lệnh (IR), [Bộ đếm chương trình] (PC), còn được gọi là [Con
trỏ lệnh] (IP), [Con trỏ ngăn xếp] (SP), [Thanh ghi trạng thái] (SR ).
Hardware memory is classified according to two main criteria: [storage
permanence] and [write ability]. The first criterion refers to the ability of memory to hold
its bits after these have been written. Write ability, on the other hand, refers on how
easily the contents of memory can be written by the embedded system itself. All
memory is readable, since otherwise it would be useless. From the storage permanence
point of view, the two basic subcategories are the [non-volatile] and volatile groups. The
first group encompasses those memories that can hold the data after [power] is no longer
supplied. Volatile memory, on the other hand, looses its contents when [power is
removed]. The nonvolatile category includes the different read only memory ([ROM])
structures as well as Ferro electric RAM (FRAM or FeRAM). The volatile group includes
the [static RAM] (SRAM) and the dynamic RAM ([DRAM]).
Bộ nhớ phần cứng được phân loại theo hai tiêu chí chính: [tính lâu dài của lưu trữ] và
[khả năng ghi]. Tiêu chí đầu tiên đề cập đến khả năng bộ nhớ giữ các bit của nó sau khi
chúng được ghi. Mặt khác, khả năng ghi đề cập đến việc nội dung của bộ nhớ có thể được
ghi bởi chính hệ thống nhúng dễ dàng như thế nào. Tất cả bộ nhớ đều có thể đọc được, vì
nếu không nó sẽ vô dụng. Từ quan điểm về tính lâu dài của bộ nhớ, hai danh mục con cơ
bản là nhóm [không bay hơi] và dễ bay hơi. Nhóm đầu tiên bao gồm những bộ nhớ có thể
giữ dữ liệu sau khi [nguồn] không còn được cung cấp. Mặt khác, bộ nhớ dễ bay hơi sẽ
mất nội dung của nó khi [nguồn điện bị ngắt]. Loại không bay hơi bao gồm các cấu trúc
bộ nhớ chỉ đọc ([ROM]) khác nhau cũng như RAM điện Ferro (FRAM hoặc FeRAM).
Nhóm dễ bay hơi bao gồm [RAM tĩnh] (SRAM) và RAM động ([DRAM]).

Embedded systems programmers need to consider both the hardware and software issues.
Hence, they need to look at the system both from a hardware point of view,
the [hardware model], as well as a software point of view, the [programmer’s model]. In
the hardware model, the user focuses on the hardware [characteristics] and subsystems
that support the instructions and the interactions with the outer world. This knowledge is
indispensable from the beginning especially because of the intimate relationship with the
programming possibilities. In this model we speak of hardware subsystems,
characteristics of peripherals, interfacing with memory, peripherals and outer world,
timing, and so on. The hardware supports the programmer’s model. In the programmer’s
model, we focus on the [instruction set] and syntaxis, [addressing modes], the [memory
map], transfers and execution time, and so on. Very often, when a microcontroller is
designed from scratch, the process starts with the desired instruction set.
Các nhà lập trình hệ thống nhúng cần xem xét cả vấn đề phần cứng và phần mềm. Do đó,
họ cần xem xét hệ thống cả từ quan điểm phần cứng, [mô hình phần cứng], cũng như
quan điểm phần mềm, [mô hình của lập trình viên]. Trong mô hình phần cứng, người
dùng tập trung vào [đặc điểm] phần cứng và hệ thống con hỗ trợ các hướng dẫn và tương
tác với thế giới bên ngoài. Kiến thức này là không thể thiếu ngay từ đầu, đặc biệt vì mối
quan hệ mật thiết với các khả năng lập trình. Trong mô hình này, chúng ta nói về hệ
thống con phần cứng, đặc điểm của thiết bị ngoại vi, giao tiếp với bộ nhớ, thiết bị ngoại
vi và thế giới bên ngoài, thời gian, v.v. Phần cứng hỗ trợ mô hình của lập trình viên.
Trong mô hình của lập trình viên, chúng tôi tập trung vào [tập lệnh] và cú pháp, [chế độ
định địa chỉ], [bản đồ bộ nhớ], thời gian truyền và thực thi, v.v. Thông thường, khi một
bộ vi điều khiển được thiết kế từ đầu, quá trình bắt đầu với tập lệnh mong muốn.

The [control] bus groups all the lines carrying the [signals] that regulate the system
activity. Unlike the address and data buses lines which are usually interpreted as a group
(address or data), the control bus signals usually work and are interpreted [separately].
Control signals include those used to indicate whether the CPU is performing a [read or
write access], those that synchronize transfers saying when the transaction [begins and
ends], those requesting services to the CPU, and other tasks. Most control lines are
[unidirectional] and enter or leave the CPU, depending on their function. The number and
function of the lines in a control bus will vary depending on the CPU architecture and
capabilities.

Bus [điều khiển] nhóm tất cả các đường mang [tín hiệu] điều chỉnh hoạt động của hệ
thống. Không giống như các đường bus địa chỉ và dữ liệu thường được hiểu là một nhóm
(địa chỉ hoặc dữ liệu), các tín hiệu bus điều khiển thường hoạt động và được diễn giải
[riêng biệt]. Các tín hiệu điều khiển bao gồm các tín hiệu được sử dụng để cho biết CPU
có đang thực hiện [quyền truy cập đọc hoặc ghi] hay không, các tín hiệu đồng bộ hóa
chuyển giao cho biết khi nào giao dịch [bắt đầu và kết thúc], các yêu cầu dịch vụ tới CPU
và các tác vụ khác. Hầu hết các đường điều khiển là [một chiều] và đi vào hoặc rời khỏi
CPU, tùy thuộc vào chức năng của chúng. Số lượng và chức năng của các dòng trong một
bus điều khiển sẽ khác nhau tùy thuộc vào kiến trúc và khả năng của CPU.

A [Microprocessor] Unit, commonly abbreviated MPU, fundamentally contains a general


purpose CPU in its die. To develop a basic system using an MPU, all components other
than the [CPU], i.e., the [buses], [memory], and [I/O] interfaces,are implemented
[externally]. Other characteristics of MPUs include an optimized architecture to move
code and data from external memory into the chip such as queues and [caches], and the
inclusion of architectural elements to accelerate processing such as multiple functional
units, ability to issue multiple instructions at once, and other features such as branch
prediction units and numeric co-processors. The most common examples of systems
designed around an MPUs are [personal computers] and mainframes. But these are not
the only ones. There are many other systems developed around traditional MPUs.
Microprocessor design has advanced from the initial models in the early 1970s to present
day technology. Intel’s initial 4004 in 1971 was built using 10μm technology, ran at
400kHz and contained 2,250 transistors. Intel’s Xeon E7 MPU, released in 2011, was
built using 32 nm technology, runs at 2GHz and contains 2.6×109 transistors. MPUs
represent the most powerful type of processing components available to implement a
microcomputer. Most [small embedded systems], however, do not need the large
computational and processing power that characterize microprocessors, and hence the
[microcontrollers] are oriented for these systems.

Đơn vị [Bộ vi xử lý], thường được viết tắt là MPU, về cơ bản chứa một CPU có mục đích
chung trong khuôn của nó. Để phát triển một hệ thống cơ bản sử dụng MPU, tất cả các
thành phần khác ngoài [CPU], tức là, các giao diện [bus], [bộ nhớ] và [I / O], đều được
triển khai [bên ngoài]. Các đặc điểm khác của MPU bao gồm kiến trúc được tối ưu hóa
để di chuyển mã và dữ liệu từ bộ nhớ ngoài vào chip chẳng hạn như hàng đợi và [bộ nhớ
đệm], và bao gồm các phần tử kiến trúc để tăng tốc xử lý như nhiều đơn vị chức năng,
khả năng đưa ra nhiều lệnh cùng một lúc, và các tính năng khác như đơn vị dự đoán
nhánh và bộ đồng xử lý số. Các ví dụ phổ biến nhất về các hệ thống được thiết kế xung
quanh MPU là [máy tính cá nhân] và máy tính lớn. Nhưng đây không phải là những cái
duy nhất. Có nhiều hệ thống khác được phát triển xung quanh các MPU truyền thống.
Thiết kế bộ vi xử lý đã tiên tiến từ các mô hình ban đầu vào đầu những năm 1970 cho đến
công nghệ ngày nay. 4004 ban đầu của Intel vào năm 1971 được chế tạo bằng công nghệ
10μm, chạy ở 400kHz và chứa 2.250 bóng bán dẫn. Intel’s Xeon E7 MPU, phát hành
năm 2011, được chế tạo bằng công nghệ 32 nm, chạy ở tốc độ 2GHz và chứa bóng bán
dẫn 2,6 × 109. MPU đại diện cho loại thành phần xử lý mạnh nhất hiện có để triển khai
một máy tính vi mô. Tuy nhiên, hầu hết [các hệ thống nhúng nhỏ] không cần sức mạnh
tính toán và xử lý lớn đặc trưng cho các bộ vi xử lý, và do đó [vi điều khiển] được định
hướng cho các hệ thống này.
In embedded systems, programs are fixed and must always be accessible to the CPU to
allow the system to operate correctly. Thus, when power is removed from the system and
later restored, programs must still be there to allow the system to function properly. This
implies that [program] is usually stored in [nonvolatile memory]. [Program
memory] capacity in typical embedded systems is in the [order of kilo-words]. Some
microcontroller models may run a program from the RAM portion while others enforce
using only ROM sections. [Data memory] is used for storing [variables] and data
expected to change during [program execution]. Therefore, this type of memory should
allow for easily modifying its contents. Most embedded systems implement data memory
in RAM (Random-Access Memory). Since data memory is meant to hold temporary
information, like operation results or measurements for making decisions, the volatility of
RAM is not an inconvenience for system functionality. The [average amount of
RAM] needed in most embedded applications is relatively [small]. For this reason it is
quite common to find embedded systems with data memory capacity measured in only [a
few hundreds words].

Trong các hệ thống nhúng, các chương trình được cố định và phải luôn có thể truy cập
được vào CPU để cho phép hệ thống hoạt động chính xác. Do đó, khi nguồn điện bị ngắt
khỏi hệ thống và sau đó được khôi phục, các chương trình vẫn phải ở đó để cho phép hệ
thống hoạt động bình thường. Điều này ngụ ý rằng [chương trình] thường được lưu trữ
trong [bộ nhớ không thay đổi]. Dung lượng [bộ nhớ chương trình] trong các hệ thống
nhúng điển hình theo [thứ tự của kilo từ]. Một số kiểu bộ vi điều khiển có thể chạy
chương trình từ phần RAM trong khi những kiểu máy khác chỉ thực thi bằng cách sử
dụng phần ROM. [Bộ nhớ dữ liệu] được sử dụng để lưu trữ [biến] và dữ liệu dự kiến sẽ
thay đổi trong quá trình [thực thi chương trình]. Do đó, loại bộ nhớ này sẽ cho phép dễ
dàng sửa đổi nội dung của nó. Hầu hết các hệ thống nhúng đều triển khai bộ nhớ dữ liệu
trong RAM (Random-Access Memory). Vì bộ nhớ dữ liệu được dùng để lưu giữ thông
tin tạm thời, chẳng hạn như kết quả hoạt động hoặc các phép đo để đưa ra quyết định, sự
biến động của RAM không phải là một sự bất tiện cho chức năng hệ thống. [Lượng RAM
trung bình] cần thiết trong hầu hết các ứng dụng nhúng là tương đối [nhỏ]. Vì lý do này,
khá phổ biến khi tìm thấy các hệ thống nhúng có dung lượng bộ nhớ dữ liệu chỉ được đo
bằng [vài trăm từ].

From the write ability point of view, memory is classified into [write/read] or in-system
[programmable] and [read only] memories. The first group refers to those memories that
can be written to by [the processor] in the embedded system using the memory. Most
volatile memories, SRAM and DRAM, can be written to during [program execution], and
therefore these memory sections are useful for temporary data or data that will be
generated or modified by the program. The FRAM memory is [non-volatile], but the
writing speed is faster than the DRAM. Hence, microcontrollers with FRAM memory are
very convenient in this aspect. Most in-system programmable nonvolatile memories are
written only when [loading the program], but not during execution. One reason is the
writing speed, too slow for the program. Another aspect of Flash memory
and [EEPROM] is the fact that writing requires [higher voltages] than the ones used
during the program execution, thereby consuming power and requiring special power
electronics hardware to increase voltage levels. The FRAM, on the other side, is writable
at the program execution voltage levels. As a marginal note, for historical reasons, in the
embedded community [volatile read/write] memories are referred to as [RAM] (random
access memories) while the [ROM] term is used for non volatile memory.
Theo quan điểm khả năng ghi, bộ nhớ được phân loại thành bộ nhớ [ghi / đọc] hoặc trong
hệ thống [có thể lập trình] và [chỉ đọc]. Nhóm đầu tiên đề cập đến những bộ nhớ có thể
được ghi bởi [bộ xử lý] trong hệ thống nhúng bằng bộ nhớ. Hầu hết các bộ nhớ dễ bay
hơi, SRAM và DRAM, có thể được ghi vào trong quá trình [thực thi chương trình], và do
đó các phần bộ nhớ này hữu ích cho dữ liệu tạm thời hoặc dữ liệu sẽ được tạo hoặc sửa
đổi bởi chương trình. Bộ nhớ FRAM [không bay hơi], nhưng tốc độ ghi nhanh hơn
DRAM. Do đó, vi điều khiển có bộ nhớ FRAM rất tiện lợi về mặt này. Hầu hết các bộ
nhớ không thay đổi có thể lập trình trong hệ thống chỉ được ghi khi [tải chương trình],
chứ không phải trong khi thực thi. Một lý do là tốc độ ghi chương trình quá chậm. Một
khía cạnh khác của bộ nhớ Flash và [EEPROM] là việc ghi cần [điện áp cao hơn] so với
điện áp được sử dụng trong quá trình thực thi chương trình, do đó tiêu thụ điện năng và
yêu cầu phần cứng điện tử công suất đặc biệt để tăng mức điện áp. Mặt khác, FRAM có
thể ghi được ở các mức điện áp thực thi chương trình. Như một lưu ý bên lề, vì lý do lịch

sử, trong cộng đồng nhúng, bộ nhớ [đọc / ghi dễ bay hơi] được gọi là [RAM] (bộ nhớ
truy cập ngẫu nhiên) trong khi thuật ngữ [ROM] được sử dụng cho bộ nhớ không bay
hơi.

Arithmetic-Logic Unit: The MSP430 CPU ALU has a [16-bit operand] capacity; the
CPUX has 16- or 20-bit operand capacity. It handles the [arithmetic operations] of
addition with and without carry, decimal addition with carry (BCD addition), subtraction
with and without carry. These operations affect the overflow, [zero], negative, and carry
flags. The [logical operations] AND and XOR affect the flags, but other ones do not, like
the [Bit Set] (OR) or Bit Clear. Like many microcontrollers, the MSP430 ALU does not
handle multiplications or divisions, which may be programmed. Several models contain
a [hardware multiplier] peripheral for faster operation.

Đơn vị số học-lôgic: ALU CPU MSP430 có dung lượng [toán hạng 16 bit]; CPUX có
dung lượng toán hạng 16 hoặc 20 bit. Nó xử lý [các phép toán số học] của phép cộng có
và không có mang, cộng số thập phân có mang (phép cộng BCD), phép trừ có và không
có mang. Các hoạt động này ảnh hưởng đến các cờ tràn, [không], phủ định và mang. [Các
phép toán logic] AND và XOR ảnh hưởng đến các cờ, nhưng các cờ khác thì không, như
[Bộ bit] (OR) hoặc Xóa bit. Giống như nhiều bộ vi điều khiển khác, MSP430 ALU không
xử lý các phép nhân hoặc phép chia mà có thể được lập trình. Một số kiểu máy có thiết bị
ngoại vi [hệ số phần cứng] để hoạt động nhanh hơn.

Memory and I/O devices are accessed by the CPU through the [system] buses. A bus is
simply a group of lines that perform a similar function. Each line carries a bit of
information and the group of bits may be interpreted as a whole. The system buses are
grouped in three clases: [address], data, and control buses. The set of lines carrying data
and instructions to or from the CPU is called the [data] bus. A [read] operation occurs
when information is being transferred into the CPU. A data bus transfer out from the CPU
into memory or into a peripheral device, is called a [write] operation. Note that the
designation of a transfer on the data bus as read or write is always made with respect to
the CPU. This convention holds for every system component. Data bus lines are
generally [bi-directional] because the same set of lines allows us to carry information to
or from the CPU. One transfer of information is referred to as data bus transaction.
Bộ nhớ và thiết bị I/O được CPU truy cập thông qua các bus [hệ thống]. Bus chỉ đơn giản
là một nhóm các đường thực hiện một chức năng giống nhau. Mỗi dòng mang một bit
thông tin và nhóm bit có thể được hiểu như một tổng thể. Các bus hệ thống được nhóm
lại thành 3 nhóm: [địa chỉ], dữ liệu và bus điều khiển. Tập hợp các dòng mang dữ liệu và
hướng dẫn đến hoặc đi từ CPU được gọi là bus [dữ liệu]. Hoạt động [đọc] xảy ra khi
thông tin đang được chuyển vào CPU. Một bus dữ liệu truyền ra từ CPU vào bộ nhớ hoặc
vào thiết bị ngoại vi, được gọi là hoạt động [ghi]. Lưu ý rằng việc chỉ định truyền trên
bus dữ liệu là đọc hoặc ghi luôn được thực hiện đối với CPU. Quy ước này áp dụng cho
mọi thành phần hệ thống. Các đường bus dữ liệu nói chung là [hai chiều] vì cùng một tập
hợp các đường cho phép chúng ta mang thông tin đến hoặc từ CPU. Một lần chuyển giao
thông tin được gọi là giao dịch xe buýt dữ liệu.

MSP430 CPU registers: There are [sixteen 16-bit] registers in the MSP430 CPU named
R0, R1…, R15. Registers R4 to R15 are [general purpose] registers. The [special
purpose] registers are:
• Program Counter register, named [R0] or PC.
• Stack Pointer Register, named R1 or [SP].
• Status Register, with a dual function also as Constant Generator. It is named R2, SR
or [CG1].
• Constant Generator, named [CG2] or R3.
Register R3 is exclusively used as a constant generator supplying instruction constants,
and is not used for data storage. Its function is normally [transparent] to the user. The PC
and SP registers always point to [an even address] and have the [least significant
bit] hardwired to 0. A particular feature in the MSP430 family is that these two registers
can be used as [operands] in instructions, allowing programmers to develop applications
with simpler software [algorithms].

Thanh ghi CPU MSP430: Có [mười sáu thanh ghi 16 bit] trong CPU MSP430 có tên là
R0, R1…, R15. Thanh ghi R4 đến R15 là thanh ghi [mục đích chung]. Các thanh ghi
[mục đích đặc biệt] là:
• Thanh ghi Bộ đếm chương trình, có tên [R0] hoặc PC.
• Thanh ghi con trỏ ngăn xếp, có tên là R1 hoặc [SP].
• Thanh ghi trạng thái, với một chức năng kép cũng như Bộ tạo không đổi. Nó được đặt
tên là R2, SR hoặc [CG1].
• Máy phát điện không đổi, được đặt tên là [CG2] hoặc R3.
Thanh ghi R3 được sử dụng riêng như một bộ tạo không đổi cung cấp các hằng lệnh và
không được sử dụng để lưu trữ dữ liệu. Chức năng của nó thường [trong suốt] đối với
người dùng. Thanh ghi PC và SP luôn trỏ đến [địa chỉ chẵn] và có [bit ít quan trọng nhất]
được nối cứng thành 0. Một tính năng cụ thể trong họ MSP430 là hai thanh ghi này có thể
được sử dụng như [toán hạng] trong hướng dẫn, cho phép người lập trình phát triển các
ứng dụng với các [thuật toán] phần mềm đơn giản hơn.

CISC (Complex Instruction Set Computing) machines are characterized by [variable


length] of instruction words, i.e., with different number of bits, small code sizes, and
multiple clocked-complex instructions at machine level. CISC architecture focuses in
accomplishing as much as possible with each instruction, in order to generate simple
[programs]. This focus helps the [programmer’s task] while augmenting
hardware [complexity]. RISC (Reduced Instruction Set Computing) machines, on the
other hand, are designed with focus on simple [instructions], even if that results
in longer programs. This orientation simplifies the [hardware] structure. The design
expects that any single instruction execution is reduced—at most a single data memory
cycle—when compared to the “complex instructions” of a CISC system.
Máy CISC (Máy tính tập lệnh phức hợp) được đặc trưng bởi [độ dài thay đổi] của các từ
lệnh, tức là với số lượng bit khác nhau, kích thước mã nhỏ và nhiều lệnh phức tạp có
xung nhịp ở cấp độ máy. Kiến trúc CISC tập trung vào việc hoàn thành càng nhiều càng
tốt mỗi lệnh, để tạo ra các [chương trình] đơn giản. Trọng tâm này giúp ích cho [nhiệm
vụ của lập trình viên] trong khi tăng cường [độ phức tạp] của phần cứng. Mặt khác, máy
RISC (Máy tính tập hợp lệnh giảm) được thiết kế tập trung vào [hướng dẫn] đơn giản,
ngay cả khi điều đó dẫn đến các chương trình dài hơn. Định hướng này đơn giản hóa cấu
trúc [phần cứng]. Thiết kế kỳ vọng rằng bất kỳ việc thực thi lệnh đơn lẻ nào cũng được
giảm bớt — nhiều nhất là một chu kỳ bộ nhớ dữ liệu duy nhất — khi so sánh với “các
lệnh phức tạp” của hệ thống CISC.
The status register, also called the Processor Status Word (PSW), or [Flag Register] contains a set of indicator bits called [flags],
as well as other bits pertaining to or controlling the CPU status. A flag is a single bit that indicates the occurrence of a particular
condition. The number of flags and conditions indicated by a status register depends on the MCU model. Most flags in the SR
reflect the situation just after an operation is executed by the ALU, although in general they can also be manipulated by
software. These are the most common flags to be found in almost all MCUs:
• [Zero Flag] (ZF): Also called the zero bit. It is set when the result of an ALU operation is zero, and cleared otherwise. It may
also be tied to other instructions.
• [Carry Flag] (CF): This flag is set when an arithmetic ALU operation produces a carry. Some non arithmetic operations may
affect the carry without having a direct relation to it.
• [Negative or sign flag] (NF): This flag is set if the result of an ALU operation is negative and cleared otherwise. This flag in
fact reflects the most significant bit of the result.
• [Overflow Flag] (VF): This flag signals overflow in addition or subtraction with signed numbers. The flag is set if the operation
produces an overflow, and cleared otherwise.
Thanh ghi trạng thái, còn được gọi là Từ trạng thái bộ xử lý (PSW), hoặc [Thanh ghi cờ]
chứa một tập hợp các bit chỉ báo được gọi là [cờ], cũng như các bit khác liên quan đến
hoặc điều khiển trạng thái CPU. Cờ là một bit đơn cho biết sự xuất hiện của một điều
kiện cụ thể. Số lượng cờ và điều kiện được chỉ ra bởi một thanh ghi trạng thái phụ thuộc
vào mô hình MCU. Hầu hết các cờ trong SR phản ánh tình huống ngay sau khi một hoạt
động được thực thi bởi ALU, mặc dù nói chung chúng cũng có thể được thao tác bằng
phần mềm. Đây là những cờ phổ biến nhất được tìm thấy trong hầu hết các MCU:
• [Zero Flag] (ZF): Còn được gọi là bit 0. Nó được đặt khi kết quả của một hoạt động
ALU bằng 0 và sẽ bị xóa nếu không. Nó cũng có thể bị ràng buộc với các hướng dẫn
khác.
• [Cờ mang] (CF): Cờ này được đặt khi một phép toán ALU số học tạo ra một lượt mang.
Một số phép toán phi số học có thể ảnh hưởng đến việc thực hiện mà không có liên quan
trực tiếp đến nó.
• [Âm hoặc cờ dấu] (NF): Cờ này được đặt nếu kết quả của một phép toán ALU là âm và
bị xóa theo cách khác. Cờ này trên thực tế phản ánh phần quan trọng nhất của kết quả.
• [Cờ tràn] (VF): Cờ này báo hiệu tràn trong phép cộng hoặc phép trừ với các số có dấu.
Cờ được đặt nếu hoạt động tạo ra tràn và bị xóa nếu không.
The minimal set of components required to establish a computing system is denominated
a [Microcomputer]. The minimal hardware configuration of a microcomputer system is
composed of three fundamental components: a [Central Processing Unit] (CPU),
the [system memory], and some form of [Input/Output] (I/O) Interface. These
components are interconnected by multiple sets of lines grouped according to their
functions, and globally denominated the [system buses]. An additional set of components
provide the necessary power and timing synchronization for system operation. The
components of a microcomputer can be implemented in diverse ways. They could be
deployed with multiple chips on a board-level microcomputer or integrated into a single
chip, in a structure named a microcomputer-on-a-chip, or simply
a [Microcontroller]. Nowadays most embedded systems are developed around
microcontrollers.

Tập hợp tối thiểu các thành phần cần thiết để thiết lập một hệ thống máy tính được gọi là
[Máy vi tính]. Cấu hình phần cứng tối thiểu của hệ thống máy tính vi mô bao gồm ba
thành phần cơ bản: [Bộ xử lý trung tâm] (CPU), [bộ nhớ hệ thống] và một số dạng của
Giao diện [Đầu vào / Đầu ra] (I / O). Các thành phần này được kết nối với nhau bằng
nhiều bộ đường được nhóm theo chức năng của chúng và được ký hiệu chung là [bus hệ
thống]. Một tập hợp các thành phần bổ sung cung cấp nguồn điện và thời gian đồng bộ
cần thiết cho hoạt động của hệ thống. Các thành phần của máy vi tính có thể được thực
hiện theo nhiều cách khác nhau. Chúng có thể được triển khai với nhiều chip trên một
máy vi tính cấp bo mạch hoặc được tích hợp vào một chip duy nhất, trong một cấu trúc
được đặt tên là vi máy tính trên chip hoặc đơn giản là [Vi điều khiển]. Ngày nay hầu hết
các hệ thống nhúng được phát triển xung quanh vi điều khiển.
[Microcontrollers] share a number of characteristics with general
purpose [microprocessors]. Yet, the core architectural components in a typical MCU are
less complex and more application oriented than those in a general purpose
microprocessor. Microcontrollers are usually marketed as family members.
Each [family] is developed around a basic architecture which defines the common
characteristics of all [members]. These include, among others, the data and program path
widths, architectural style, [register] structure, base [instruction] set,
and [addressing] modes. Features differentiating family members include the amount of
on-chip data and program [memory] and the assortment of [on-chip] peripherals. There
are literally hundreds, perhaps thousands, of microprocessors and microcontrollers on the
market. We will concentrate on the [MSP430] family for practical hands on introduction.

[Vi điều khiển] chia sẻ một số đặc điểm với [vi xử lý] mục đích chung. Tuy nhiên, các
thành phần kiến trúc cốt lõi trong MCU điển hình ít phức tạp hơn và hướng ứng dụng
nhiều hơn so với các thành phần trong bộ vi xử lý đa năng. Các bộ vi điều khiển thường
được bán trên thị trường như các thành viên trong gia đình. Mỗi [gia đình] được phát
triển xung quanh một kiến trúc cơ bản xác định các đặc điểm chung của tất cả các [thành
viên]. Chúng bao gồm, trong số những thứ khác, độ rộng đường dẫn chương trình và dữ
liệu, kiểu kiến trúc, cấu trúc [đăng ký], bộ [lệnh] cơ sở và chế độ [định địa chỉ]. Các tính
năng phân biệt các thành viên trong gia đình bao gồm lượng dữ liệu trên chip và chương
trình [bộ nhớ] và các loại thiết bị ngoại vi [trên chip]. Thực sự có hàng trăm, có lẽ hàng
nghìn bộ vi xử lý và vi điều khiển trên thị trường. Chúng tôi sẽ tập trung vào họ
[MSP430] để giới thiệu thực tế.
The memory subsystem stores instructions and data. [Memory] consists of a large
number of hardware components which can store one bit each. These bits are organized
in n-bit words, working as [a register], usually referred to as [cell or location]. The
contents of cells is a basic unit of information called [memory word]. In addition, each
memory location is identified by a unique identifier, its [memory address], which is used
by the [CPU] to either read or write over the memory word stored at the location.
Usually, addresses are sequentially numbered. The CPU uses the [address bus] to select
only the cell with which it will interact. The interaction with the contents is realized
through the [data bus]. In a [write operation], the CPU modifies the information
contained in the cell, while in a [read operation] it retrieves this word without changing
the contents. The CPU uses [control bus] signals to determine the type of operation to be
realized, as well the direction in which the data bus will operate—remember that the data
bus lines are [bidirectional].

Hệ thống con bộ nhớ lưu trữ các hướng dẫn và dữ liệu. [Bộ nhớ] bao gồm một số lượng
lớn các thành phần phần cứng có thể lưu trữ mỗi thành phần một bit. Các bit này được tổ
chức theo các từ n bit, hoạt động như [một thanh ghi], thường được gọi là [ô hoặc vị trí].
Nội dung của các ô là một đơn vị thông tin cơ bản được gọi là [từ bộ nhớ]. Ngoài ra, mỗi
vị trí bộ nhớ được xác định bởi một số nhận dạng duy nhất, [địa chỉ bộ nhớ] của nó, được
[CPU] sử dụng để đọc hoặc ghi qua từ bộ nhớ được lưu trữ tại vị trí đó. Thông thường,
các địa chỉ được đánh số thứ tự. CPU sử dụng [bus địa chỉ] để chỉ chọn ô mà nó sẽ tương
tác. Tương tác với nội dung được thực hiện thông qua [bus dữ liệu]. Trong [thao tác ghi],
CPU sửa đổi thông tin có trong ô, trong khi trong [thao tác đọc], nó lấy từ này mà không
thay đổi nội dung. CPU sử dụng các tín hiệu [bus điều khiển] để xác định loại hoạt động
được thực hiện, cũng như hướng mà bus dữ liệu sẽ hoạt động — hãy nhớ rằng các đường
bus dữ liệu là [hai chiều].

A [Microcontroller] Unit, abbreviated MCU, is developed using a [microprocessor


core] or central processing unit (CPU), usually less complex than that of an MPU. This
basic CPU is then surrounded with [memory] of both types (program and data) and
several types of [peripherals], all of them embedded into a [single integrated circuit], or
chip. This blending of [CPU], memory, and I/O within a single chip is what we call a
microcontroller. The assortment of components embedded into amicrocontroller allows
for implementing complete applications requiring only a minimal number of external
components or in many cases solely using the MCU chip. Peripheral [timers],
input/output (I/O) ports, interrupt [handlers], and data [converters] are among those
commonly found in most microcontrollers. The provision of such an assortment of
resources inside the same chip is what has gained them the denomination
of [computers-on-a-chip].

You might also like