What are the advantages and disadvantages of the use of the ARM’s BL (branch and load) subroutine call mechanism in comparison with the conventional CISC BSR (branch to subroutine) mechanism?

What will be an ideal response?


A conventional CISC like the IA32 or 68K uses a hardware stack to implement subroutines. Typically, BSR calls a subroutine and pushes the return address on the stack and RTS terminates a subroutine by popping the return address off the stack. This mechanism is simple to use and supports both nested subroutine calls (one subroutine calls another) and recursion (a subroutine calls itself). It is also a good means of passing parameters to and from subroutines and it also makes it easy to create local workspace (a stack frame) for a subroutine. The branch and link mechanism is simpler. When a subroutine is called, the return address is saved in a link register (r14 for the ARM). To return from a subroutine you just copy r14 (the return address) to the PC. This is very fast and fits in with the RISC ethos (because subroutine calls must involve multiple operations such as modify the stack pointer and access memory). However, the branch and link cannot support nested or recursive subroutines because the link register would be over?written on a second call. Thus, the CISC call/return mechanism has great power and elegance; it can be relatively slow/inefficient and does not fit well into the RISC single?cycle instruction philosophy. The RISC branch with link is very f

Computer Science & Information Technology

You might also like to view...

USB stands for _____.

A. Universal System Bus B. Used Serial Bus C. Universal Serial Bus D. Universal Standard Bus

Computer Science & Information Technology

Match the following terms to their meanings:

I. Input mask II. Data validation III. 0 IV. 9 V. ! A. rules that help prevent individuals from entering invalid data B. field property that determines the data that can be entered C. causes the input mask to fill in from the left to right D. indicates an optional digit or space E. indicates a required digit

Computer Science & Information Technology

What is the difference between a Move instruction and a Copy instruction?

What will be an ideal response?

Computer Science & Information Technology

When you quit Photoshop, a dialog box may display asking if you want to save the changes.

Answer the following statement true (T) or false (F)

Computer Science & Information Technology