Explore the fundamental computing technology inside smartphones and the advanced techniques that make them run so fast. We use our smartphones to communicate, to organize our lives, to find information, and to entertain ourselves. All this is possible because a smartphone contains a powerful computer processor, which is the subject of this course.
Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.
The course starts by moving step by step through the fundamental layers of computing technology, from binary numbers to application software, and then covers advanced performance techniques and the details of actual smartphone processors.
Learn about:
- Digital logic
- Computer organization
- Instruction sets
- Application Software
- Advanced performance techniques
- Actual smartphone processors
What you'll learn:
- Describe how a smartphone processor works
- Explain computer system design from binary information to programming
- Design a small working computer
- Describe common techniques used to make computers fast
Syllabus
Week 1: Introduction and Digital Logic
Overview
Inside Smartphone
Big Ideas
Numbers
Week 2: Digital Logic (cont'd)
Operations
Transistors and Gates
Week 3: Digital Logic (cont'd)
Muxes and Decoders
Adders
Week 4: Digital Logic (cont'd)
Storage
Finite State Machines
Week 5: Computer Organization
Stored Program Computer
LC-3 Instructions
LC-3
Week 6: Computer Organization (cont'd)
Instructional Set Architecture
ISA 2
Week 7: Computer Organization (cont'd)
ARM ISA
LC-3 Control
Week 8: Programming
Programming to Solve Problems
Assembly Language
Input/Output (I/O)
C Programming
Week 9: Performance
Pipelining
Hazards
Instruction Level Parallelism
Thread Level Parallelism
Data Level Parallelism
Week 10: Performance (cont'd)
Caches
Multicore
Permanent Storage
Snapdragon
Conclusion