Notes 1
Notes 1
Notes 1
ARM processors
Ans. ARM Holdings has grown from a small Acorn in Cambridge - maker of some of the
earliest home computers - into one of the world's most important designers of
semiconductors, providing the brains for Apple's must-have iPhones and iPads.
ARM designs and licenses semiconductors to power devices such as Apple iPhones, and
Microsoft have announced it will also base the next Windows system on ARM's chips. It does
not actually make or sell semiconductors themselves.
1978 - Acorn Computers is established in Cambridge, and produces computers which are
particularly successful in the UK. Acorn's BBC Micro computer was the most widely-used
computer in school in the 1980s.
1985 - Acorn Computer Group develops the world's first commercial RISC processor - enabling
a computer system which uses simpler commands in order to operate faster, an advance on the
early computer systems which were created using machine code and tried to pack as many
actions into each command as possible.
The company was taken over by Olivetti, after coming close to bankruptcy following the
collapse of the UK home computer market the previous year.
1987 - Acorn's ARM processor is the first RISC processor available in a low-cost PC.
1990 - ARM is founded as a spin-off from Acorn and Apple, after the two companies started
collaborating on the ARM processor as part of the development of Apple's new Newton
computer system.
1992 - Sharp and GEC Plessy both sign up to use ARM's technology.
1998 - ARM Holdings floats on the London Stock Exchange and the Nasdaq.
2001 - ARM has 76.8pc share of the 32-bit embedded RISC chip market.
2007 - About 98pc of the more than 1bn mobile phones sold each year use at least one ARM
processor.
The RISC processors first conceived by Acorn back in the 1980s were designed to be simple,
and this made them relatively low-power. That has made ARM's chip designs dominant in the
mobile device market, because they use less battery and don't take up much space.
2011 - Steve Ballmer, Microsoft’s chief executive, announces plans to base the next generation
of Microsoft’s Windows operating system on microchips designed by ARM. Until now
Microsoft’s PC software has been based on chips design by Intel of the US.
Ans.
ARM Processor Families
ARM has designed a number of processors that are grouped into different families according to
the core they use. The families are based on the ARM7, ARM9, ARM10, and ARM11 cores. The
postfix numbers 7, 9, 10, and 11 indicate different core designs. The ascending number equates
to an increase in performance and sophistication. ARM8 was developed but was soon
superseded. Table 2.9 shows a rough comparison of attributes between the ARM7, ARM9,
ARM10, and ARM11 cores. The numbers quoted can vary greatly and are directly dependent
upon the type and geometry of the manufacturing process, which has a direct effect on the
frequency (MHz) and power consumption (watts).
Within each ARM family, there are a number of variations of memory management, cache, and
TCM processor extensions. ARM continues to expand both the number of families available and
the different variations within each family. You can find other processors that execute the ARM
ISA such as StrongARM and XScale. These processors are unique to a particular semiconductor
company, in this case Intel. Table 2.10 summarizes the different features of the various
processors. The next subsections describe the ARM families in more detail, starting with the
ARM7 family.
ARM7 Family
The ARM7 core has a Von Neumann–style architecture, where both data and instructions use the
same bus. The core has a three-stage pipeline and executes the architecture ARMv4T instruction
set.
The ARM7TDMI was the first of a new range of processors introduced in 1995 by ARM. It is
currently a very popular core and is used in many 32-bit embedded processors. It provides a very
good performance-to-power ratio. The ARM7TDMI processor core has been licensed by many
of the top semiconductor companies around the world and is the first core to include the Thumb
instruction set, a fast multiply instruction, and the Embedded ICE debug technology.
One significant variation in the ARM7 family is the ARM7TDMI-S. The ARM7TDMI-S has the
same operating characteristics as a standard ARM7TDMI but is also synthesizable. ARM720T is
the most flexible member of the ARM7 family because it includes an MMU. The presence of the
MMU means the ARM720T is capable of handling the Linux and Microsoft embedded platform
operating systems. The processor also includes a unified 8K cache. The vector table can be
relocated to a higher address by setting a coprocessor 15 register. Another variation is the
ARM7EJ-S processor, also synthesizable. ARM7EJ-S is quite different since it includes a five-
stage pipeline and executes ARMv5TEJ instructions. This version of the ARM7 is the only one
that provides both Java acceleration and the enhanced instructions but without any memory
protection.
ARM9 Family
The ARM9 family was announced in 1997. Because of its five-stage pipeline, the ARM9
processor can run at higher clock frequencies than the ARM7 family. The extra stages improve
the overall performance of the processor. The memory system has been redesigned to follow the
Harvard architecture, which separates the dataD and instructionI buses.
The first processor in the ARM9 family was the ARM920T, which includes a separate D+I cache
and an MMU. This processor can be used by operating systems requiring virtual memory
support. ARM922T is a variation on the ARM920T but with half the D+I cache size. The
ARM940T includes a smaller D+I cache and an MPU. The ARM940T is designed for
applications that do not require a platform operating system. Both ARM920T and ARM940T
execute the architecture v4T instructions. The next processors in the ARM9 family were based
on the ARM9E-S core. This core is a synthesizable version of the ARM9 core with the E
extensions. There are two variations: the ARM946E-S and the ARM966E-S. Both execute
architecture v5TE instructions. They also support the optional embedded trace macrocell (ETM),
which allows a developer to trace instruction and data execution in real time on the processor.
This is important when debugging applications with time-critical segments. The ARM946E-S
includes TCM, cache, and an MPU. The sizes of the TCM and caches are configurable. This
processor is designed for use in embedded control applications that require deterministic real-
time response. In contrast, the ARM966E does not have the MPU and cache extensions but does
have configurable TCMs. The latest core in the ARM9 product line is the ARM926EJ-S
synthesizable processor core, announced in 2000. It is designed for use in small portable Java-
enabled devices such as 3G phones and personal digital assistants (PDAs). The ARM926EJ-S is
the first ARM processor core to include the Jazelle technology, which accelerates Java byte code
execution. It features an MMU, configurable TCMs, and D+I caches with zero or nonzero wait
state memories.
ARM10 Family
The ARM10, announced in 1999, was designed for performance. It extends the ARM9 pipeline
to six stages. It also supports an optional vector floating-point (VFP) unit, which adds a seventh
stage to the ARM10 pipeline. The VFP significantly increases floating-point performance and is
compliant with the IEEE 754.1985 floating-point standard. The ARM1020E is the first processor
to use an ARM10E core. Like the ARM9E, it includes the enhanced E instructions. It has
separate 32K D+I caches, optional vector floating-point unit, and an MMU. The ARM1020E
also has a dual 64-bit bus interface for increased performance. ARM1026EJ-S is very similar to
the ARM926EJ-S but with both MPU and MMU. This processor has the performance of the
ARM10 with the flexibility of an ARM926EJ-S.
ARM11 Family
The ARM1136J-S, announced in 2003, was designed for high performance and power efficient
applications. ARM1136J-S was the first processor implementation to execute architecture
ARMv6 instructions. It incorporates an eight-stage pipeline with separate load store and
arithmetic pipelines. Included in the ARMv6 instructions are single instruction multiple data
(SIMD) extensions for media processing, specifically designed to increase video processing
performance. The ARM1136JF-S is an ARM1136J-S with the addition of the vector floating-
point unit for fast floating-point operations.
1. Cortex-R Series
The ARM® Cortex®-R real-time processors offer high-performance computing solutions for
embedded systems where reliability, high availability, fault tolerance, maintainability and real-
time responses are required.
The Cortex-R series processors provide fast time-to-market through proven technology shipped
in hundreds of millions of products and leverages the vast ARM Ecosystem and global, local
language, 24/7 support services to ensure rapid and low risk development.
2. Cortex-M Series
The ARM® Cortex®-M processor family is an upwards compatible range of energy-efficient,
easy to use processors designed to help developers meet the needs of tomorrow's embedded
applications. Those demands include delivering more features at a lower cost, increasing
connectivity, better code reuse and improved energy efficiency.
ARM Cortex-M processors is a global microcontroller standard, having been licensed to over 40
ARM partners including leading vendors such as Freescale, NXP Semiconductors,
STMicroelectronics, Texas Instruments, and Toshiba. Using a standard processor allows ARM
partners to create devices with a consistent architecture while enabling them to focus on creating
superior device implementations.
Energy efficiency
Smaller code
Lower silicon costs
Ease of use
High performance
All ARM instructions are 32 bits long. Instructions are stored word-aligned, so the least
significant two bits of instruction addresses are always zero in ARM state.
Thumb and Thumb EE instructions are either 16 or 32 bits long. Instructions are stored half-word
aligned. Some instructions use the least significant bit of the address to determine whether the
code being branched to is Thumb code or ARM code.
Before the introduction of Thumb-2 technology, the Thumb instruction set was limited to a
restricted subset of the functionality of the ARM instruction set. Almost all Thumb instructions
were 16-bit. Together, the 32-bit and 16-bit Thumb instruction set functionality is almost
identical to that of the ARM instruction set.Table 5 describes some of the functional groupings of
the available instructions.
Instruction
Description
Group
These instructions are used to:
branch to subroutines
Branch and branch backwards to form loops
control branch forward in conditional structures
make following instructions conditional without branching
change the processor between ARM state and Thumb state.
UNIT –1
1. Define a System.
A way of doing one or more tasks according to a program.
2. What is an embedded system?
An embedded system employs a combination of hardware & software (a "computational
engine") to perform a specific function; is part of a larger system that may not be a "computer";
works in a reactive and time-constrained environment
3. What are the typical characteristics of an embedded system?
Typical characteristics:
Perform a single or tightly knit set of functions;
Increasingly high-performance & real-time constrained;
Power, cost and reliability are often important attributes
That influence design;
Application specific processor design can be a significant component of some embedded
systems.
Other characteristics:
• Application specific
• Digital signal processing in ECS
• Reactive
• Real-time
• Distributed
4. What are the advantages of embedded system?
Advantages:
Customization yields lower area, power, cost, etc.,
5. What are the disadvantages of embedded system?
Disadvantages:
Higher HW/software development overhead design, compilers, debuggers, etc., may result in
delayed time to market!
6. What are the applications of an embedded system?
Embedded Systems: Applications:
• Consumer electronics, e.g., cameras, camcorders, etc.,
• Consumer products, e.g., washers, microwave ovens, etc.,
• Automobiles (anti-lock braking, engine control, etc., )
• Industrial process controllers & avionics/defense applications
• Computer/Communication products, e.g., printers, FAX machines, etc.,
• Emerging multimedia applications & consumer electronics
7. What are the various embedded system designs Modeling Refining (or "partitioning")
HW-SW partitioning
8. What are the complicating factors in embedded design?
Complicating factors in the design of embedded systems
• Many of the subtasks in design are intertwined.
• Allocation depends on the partitioning, and scheduling presumes a certain allocation.
• Predicting the time for implementing the modules in hardware or software is not very easy,
particularly for tasks that have not been performed before.
9. What are the real-time requirements of an embedded system?
Hard-real time systems: where there is a high penalty for missing a deadline e.g., control systems
for aircraft/space probes/nuclear reactors; refresh rates for video, or DRAM. Soft realtime
systems: where there is a steadily increasing penalty if a deadline is missed. e.g., laser printer:
rated by pages-per-minute, but can take differing times to print a page (depending on the
complexity of the page) without harming the machine or the customer.
10. What are the functional requirements of embedded system?
Data Collection
• Sensor requirements
• Signal conditioning
• Alarm monitoring
Direct Digital Control
• Actuators
Man-Machine Interaction
• informs the operator of the current state of the controlled object
• assists the operator in controlling the system.
11. What are the main components of an embedded system?
Three main components of embedded systems:
1. The Hardware
2. Application Software
3. RTOS
12. Define embedded microcontroller.
An embedded microcontroller is particularly suited for embedded applications to perform
dedicated task or operation.
Example: 68HC11xx, 8051, PIC, 16F877, etc.,
6. What are the applications of an embedded system?
Embedded Systems: Applications:
• Consumer electronics, e.g., cameras, camcorders, etc.,
• Consumer products, e.g., washers, microwave ovens, etc.,
• Automobiles (anti-lock braking, engine control, etc.,)
• Industrial process controllers & avionics/defense applications
• Computer/Communication products, e.g., printers, FAX machines, etc.,
• Emerging multimedia applications & consumer electronics
7. What are the various embedded system designs Modeling Refining (or "partitioning")
HW-SW partitioning
8. What are the complicating factors in embedded design?
Complicating factors in the design of embedded systems
• Many of the subtasks in design are intertwined.
• Allocation depends on the partitioning, and scheduling presumes a certain allocation.
• Predicting the time for implementing the modules in hardware or software is not very easy,
particularly for tasks that have not been performed before.
9. What are the real-time requirements of an embedded system?
Hard-real time systems: where there is a high penalty for missing a deadline e.g., control systems
for aircraft/space probes/nuclear reactors; refresh rates for video, or DRAM. Soft realtime
systems: where there is a steadily increasing penalty if a deadline is missed. e.g., laser printer:
rated by pages-per-minute, but can take differing times to print a page (depending on the
\"complexity\" of the page) without harming the machine or the customer.
10. What are the functional requirements of embedded system?
Data Collection
• Sensor requirements
• Signal conditioning
• Alarm monitoring
Direct Digital Control
• Actuators
Man-Machine Interaction
• informs the operator of the current state of the controlled object
• assists the operator in controlling the system.
11. What are the main components of an embedded system?
Three main components of embedded systems:
1. The Hardware
2. Application Software
3. RTOS
12. Define embedded microcontroller.
An embedded microcontroller is particularly suited for embedded applications to perform
dedicated task or operation. Example: 68HC11xx, 8051, PIC, 16F877, etc.,