Compare These Arm Architectures: ARM7TDMI and ARM9TDMI. Answer
Compare These Arm Architectures: ARM7TDMI and ARM9TDMI. Answer
Compare These Arm Architectures: ARM7TDMI and ARM9TDMI. Answer
Now let’s look at the details of hardware components of SoC shown above. On the hardware side, an SoC
can be thought of as a Lego board. It is easy to utilize the blocks which are required in the application and
leave the other blocks. The hardware portion of a SoC consists of components like:
Core Processor This is the most important component of the SoC as it controls all other peripherals on the
SoC apart from general processor tasks.
System Memory This is divided into Flash memory for code storage, RAM for data, ROM for boot-code of
the device, EEPROM, and an External Memory Interface (EMIF). The ARM architecture provides easy
method for mapping memory and peripherals, leading to a reduction in SoC design time.
Digital peripherals Generally, SoCs are integrated with digital peripherals like counters, PWM, Timer,
digital filters, etc. Some SoC also provide basic logic gates, flip-flops, multiplexers, and de-multiplexers,
etc.
Analog peripherals Along with digital peripherals, SoCs also come with a lone list of analog components
to provide mixed signal capabilities. Analog peripherals like ADCs, op-amps (comparator, amplifier, TIA,
mixer, etc), current and voltage sources, etc. generally form the analog portion of the SoC.
Communication peripherals SoC are fitted with multiple communication interfaces like USB, UART, I2C,
I2S, Ethernet, SPI, CAN, Bluetooth, etc. SoCs use these interfaces to communicate with external devices
like another SoC, a base station, or a server.
Special I/O systems Some SoC also provide special I/O systems like capacitive touch detection and LCD
and LED drivers.
Direct Memory Access Controller (DMA) To improve data access performance, DMA is also included in
the list of peripherals. DMA frees the CPU from data-related tasks and hence improves overall data
throughput of the SoC. DMA controllers can be configured for single/burst data transfer requests,
interrupt signal on completion of data transfer, etc. Transfers of data can take place between:
Memory to peripheral
Memory to memory
Peripheral to memory
Peripheral to peripheral
Programmable Digital Blocks For applications that require digital capabilities that cannot be built using
the components that exist in the SoC, some SoC vendors provide the option to build your own digital
application using configurable PLDs and ALU to offload tasks from the CPU. With this functionality, the
developer can make his/her own custom digital application suiting his requirement. Programmable digital
blocks are known as Universal Digital Blocks (UDBs) in the Cypress’ PSoC architecture . Each UDB is made
up of two PLDs, status and control logic, and a datapath module. The datapath module is capable of
performing simple arithmetic functions. Developers can describe their digital block in Verilog and have the
PSoC Creator tool compile, synthesize, place-and-route, and automatically build it as part of the system.
Programmable Analog Blocks Vendors provide analog programmability using Switched Capacitor blocks.
These blocks follow mimic resistance using a capacitor. Different op-amp configurations like inverting
amplifier, non-inverting amplifier, filter, integrator, and differentiator can be created using a single op-
amp by varying the input and feedback configurations using switched capacitances.
System Resources The system resources block is the controller block which deals with:
Clocking sub-system
Power and Operational modes
Power supply and monitoring sub-system
Watchdog timer, etc.
These blocks are connected to each other by a data bus which can be vendor proprietary or using the
industry standard ARM’s Advance Microcontroller Bus Architecture which includes the Advanced High
Performance bus (AHB), Advanced Peripheral Bus (APB), etc. This bus architecture promotes modular
system design, provides higher performance, and reduces power dissipation in on-chip communication.
The peripherals mentioned above are highly configurable and their properties can be modified easily to
suit the needs of the application. This can be done using firmware by writing to peripheral registers or
using a vendor’s proprietary software GUI to modify the configuration settings of the peripherals. For
example, PSoC Creator Software Suite allows developers to configure these components while designing
an application using PSoC.
● The Intel XScale core implements the integer instruction set architecture of ARMv5 but does not provide
hardware support of the floating-point instructions. The Intel XScale core provides the Thumb instruction
set (ARMv5T) and the ARM V5E DSP extensions.
● The Intel XScale core comes with either a 16K or 32K byte instruction cache. The instruction cache is 32-
way set associative and has a line size of 32 bytes. All requests that “miss” the instruction cache generate
a 32-byte read request to external memory.
● The Intel XScale core supports software debugging through two instruction address breakpoint registers,
one data-address breakpoint register, one data-address/mask breakpoint register, and a trace buffer.
● The Intel XScale core made a few extensions to the ARM Version 5TE architecture to meet the needs of
various markets and design requirements.
The following is a list of the extensions:
A DSP coprocessor (CP0) has been added that contains a 40-bit accumulator and eight new instructions.
○ New page attributes were added to the page table descriptors. The C and B page attribute encoding was
extended by one more bit to allow for more encodings: write allocate and mini-data cache.
○ Additional functionality has been added to coprocessor 15.
Coprocessor 14 was also created.
○ Enhancements were made to the Event Architecture, which includes instruction cache and data cache
parity error exceptions, breakpoint events, and imprecise external data aborts.