The Computing Technology Inside Your Smartphone

5
Join & Subscribe
edX
Free Online Course (Audit)
English
10 weeks long
selfpaced

Overview

We use our smartphones to communicate, to organize our lives, to find information, and to entertain ourselves. All of this is possible because a smartphone contains a powerful computer processor, which is the subject of this course. This computer science 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

This Course also provides students with the technical knowledge and the Jade design tool experience to succeed in the more advanced MITx 6.004 MOOC - Computation Structures course sequence.

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

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

Taught by

Dave Albonesi