Skip to main content

Programmer considerations for GPP

Short answer

Programmer's view includes the instruction set, registers, addressing modes, memory architecture, I/O facilities, interrupts, OS support, development environment, and performance constraints. It is the assembly-level or driver-level view, hiding internal hardware details but exposing resources available to software.

What are the programmer considerations? Explain in brief the programmer's view for a general purpose processor.

The programmer's view of a general-purpose processor is what a software writer needs to know to program it: the instruction set and the resources it can use, but not the internal hardware details (gates, pipeline circuits).

Programmer considerations

  1. Instruction set (ISA): the available operations: data transfer, arithmetic, logic, branch, I/O and control instructions, and the instruction format (opcode, operands, length).
  2. Registers: number, size and purpose of registers (accumulator, general-purpose, PC, SP, status/flags) available to programs.
  3. Addressing modes: immediate, register, direct, indirect, indexed and relative.
  4. Memory architecture: program memory and data memory sizes, address space, stack, Von Neumann or Harvard organisation.
  5. I/O facilities: memory-mapped or standard I/O, ports, interrupts and DMA support.
  6. Interrupts: vector table, priorities, masking and ISR writing.
  7. Operating system support: whether an RTOS or OS is used (system calls, drivers).
  8. Development environment: assembler, compiler, linker, loader, simulator, debugger, and whether the code is written in assembly (more control, smaller code) or a high-level language such as C.
  9. Performance and timing: instruction cycle times for meeting deadlines and memory usage (code size).

Two levels

  • Assembly-level view: works with opcodes, registers and memory addresses, as the architecture exposes them.
  • Driver-level and application-level view: device drivers, then application code that calls them.
 Application programs
   Operating system / drivers
     Assembler / compiler
       Instruction set + registers (programmer's view)
         Hardware (hidden)

✓ Answer checked by Claude Opus 5.5 (high effort)

All Embedded System chapter 3 questions →