1 / 19

Computer Organization 101

Computer Organization 101. Computer Organization 101. 001. ECE 341 Lab Platform. Computer Organization. PIC32. Building the Program. Compiling and Linking. Compiler may skip generation of the assembly language output. PC accesses program instructions. SP accesses stack (typically, data).

Download Presentation

Computer Organization 101

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Organization 101

  2. Computer Organization 101 001

  3. ECE 341 Lab Platform

  4. Computer Organization

  5. PIC32

  6. Building the Program

  7. Compiling and Linking Compiler may skip generation of the assembly language output

  8. PC accesses program instructions SP accesses stack (typically, data)

  9. C Program Execution • C variables are maintained in memory • ALU operates on register data • Typically must load data from memory, perform operation, and save result • Optimizing compiler attempts to minimize memory transfers by utilizing registers

  10. Program Data • Stack is a special, “temporary”, section of memory • Local (auto) variables and • Data for function calls (arguments, return address) • Data section uses “permanent” addresses (constant during program execution) • global variables • static local variables

  11. Generic Memory Layout (locals , arguments, return address) No dynamic data in our system (global and static variables)

  12. PIC Memory • PIC32 uses “virtual” memory, to allow a “supervisory” program (e.g., O/S) to share physical memory user program • Separate sections for program and data • Also device configuration and accessing peripherals (Special Function Registers – SFRs) • No support for dynamic memory in our system • Physical separation of instructions (flash), data (SRAM), and SRFs hidden from programmer

  13. Virtual to Physical Memory Mapping User Segment

  14. PIC32 Memory Map (kseg0) Virtual Memory Physical Memory

  15. MPLAB Disassembly Window

  16. MPLAB Execution Memory View

  17. Stack Frame Frame pointer ($fp) is similar to the stack pointer ($sp) – but different!

  18. More Questions? See Dr. J’s FAQ under the ECE 340 web page!!!

More Related