联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> OS作业OS作业

日期:2018-09-07 04:17


COMP2121 Assignment: An Overview of the Instruction Set

Architecture of ARM7TDMI

In this assignment, you will explore the ISA (Instruction Set Architecture) of the

ARM microprocessor ARM7TDMI, and write a report of approximately 3,000 words.

You will work solo in this assignment. The deadline is 23:59 September 9, 2018.

Please follow the following guidelines when writing your report.

As you know, an ISA consists of four components: memory models, registers, data

types and instructions. Therefore, you need to explore each component of the ISA of the

ARM microprocessor ARM7TDMI and present your results in your report. Specifically,

your report should have the following sections.

1. Introduction. In this section, you give an overview of the ARM microprocessor

ARM7TDMI. Your overview should focus on the salient features of ARM7TDMI.

Examples include conditional execution, hardware support for power saving and

caching.

2. Memory models. You need to explain the memory models in details. How many

memory spaces are there in ARM microprocessors? Is there a separate memory

space for program and constants? Are registers mapped into a memory space as in

AVR microcontrollers? What is the maximum memory size for each memory

space? What is the size of addressable cells of each memory space? How is the

alignment problem handled? Which endianness is used?

3. Registers. Give detailed descriptions of all the registers. Why is the link register

needed? Does PC always point to the next instruction? Pay special attention to the

Current Program Status Register (CPSR).

a. N, Z, C and V flags. Explain how ARM7TDMI uses these flags for overflow,

signed comparison and unsigned comparison.

b. The least significant 5 bits are reserved for operating modes. You need to give

detailed descriptions for each operating mode. Why are these operating modes

needed? How does each operating mode work?

c. There is an interrupt enable/disable bit. This bit is used to enable/disable

ARM7TDMI interrupt system. Give detailed descriptions of ARM7TDMI

interrupt structure. How many hardware interrupts does ARM7TDMI support?

Explain in detail how ARM7TDMI handles a hardware interrupt.

In addition to hardware interrupts, ARM7TDMI provides software interrupt.

What is the software interrupt used for? How is the software interrupt

processed?

4. Instruction Set. You don’t need to describe each instruction. Instead, you need to

focus on the salient features of ARM7TDMI instructions listed as follows.

a. Describe the instruction formats including encoding scheme, the number of

operands etc.


b. Describe all the addressing modes in ARM7TDMI.

c. ARM7TDMI provides conditional execution of an instruction i.e. the

operation given in an instruction is executed only if some condition holds.

Describe the conditional execution in detail. Why is the conditional

execution a good feature?

d. Describe all the instructions for stack operations in ARM7TDMI in detail.

e. ARM7TDMI provides multiple-bit shift instructions. Describe them in

detail.

f. AVR microcontrollers provide the special instructions in and out to access

I/O registers (ports). Does ARM also provide in and out? If not, how do

programmers access I/O ports and I/O registers in ARM7TDMI?

g. AVR microcontrollers provide a special instruction sleep for power saving.

Does ARM also provide a similar instruction? Can ARM7TDMI operate in

different frequencies? What are the major advantages with different

frequencies?

h. AVR microcontrollers provide a watchdog timer to prevent software from

corruption. The instruction wdr is to reset the watchdog timer. Does ARM

also provide a similar instruction?

5. Data types. Describe all data types in ARM7TDMI in detail. How would you

implement in software the data types such as 64-bit signed and unsigned integers

that are not supported by ARM7TDMI? Write ARM7TDMI assembly programs

for addition and subtraction of two 64-bit signed and unsigned integers.

6. Conclusion. You need to explain for what applications you need to use an AVR

microcontroller and for what applications you need to use ARM7TDMI. The

factors you may consider are cost–performance ratio, memory capacity and

processor speed.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp