SlideShare a Scribd company logo
1 of 88
Teaching Computer Architecture
Labs using a MCU Platform
Rafael Roman Otero and Alex Aravind
University of Northern British Columbia
(UNBC)
Focus of this paper
Focus of this paper
Teaching Computer Architecture Labs to Undergraduate Students in
Computer Science
Focus of this paper
Teaching Computer Architecture Labs to Undergraduate Students in
Computer Science
Organization?
Focus of this paper
Teaching Computer Architecture Labs to Undergraduate Students in
Computer Science
Organization?
Focus of this paper
Teaching Computer Architecture Labs to Undergraduate Students in
Computer Science
Computer Organization and Architecture
(CPSC 231 at UNBC)
Organization?
Teaching Computer Architecture Labs to Undergraduate Students in
Computer Science
Focus of this paper
• Instruction Set Architecture
• Addressing modes
• Interrupts
• Pipelining
Computer Organization and Architecture
(CPSC 231 at UNBC)
Focus of this paper
Teaching Computer Architecture Labs to Undergraduate Students in
Computer Science
• Instruction Set Architecture
• Addressing modes
• Interrupts
• Pipelining
Computer Organization and Architecture
(CPSC 231 at UNBC)
Lecture
(Conceptual Explanation and Internals)
Focus of this paper
Teaching Computer Architecture Labs to Undergraduate Students in
Computer Science
(Concepts Demonstrated with Assembly Exercises)
• Instruction Set Architecture
• Addressing modes
• Interrupts
• Pipelining
Computer Organization and Architecture
(CPSC 231 at UNBC)
Lecture + Labs
(Conceptual Explanation and Internals)
Focus of this paper
Teaching Computer Architecture Labs to Undergraduate Students in
Computer Science
(Concepts Demonstrated with Assembly Exercises)
Computer Organization and Architecture
(CPSC 231 at UNBC)
Lecture + Labs
(Conceptual Explanation and Internals)
• Instruction Set Architecture
• Addressing modes
• Interrupts
• Pipelining
The problem
The problem
Architecture Complexity
Low Student Engagement
The problem
Architecture Complexity (simulators)
Low Student Engagement
The problem
Architecture Complexity (simulators)
Low Student Engagement (a “fun” factor)
The problem
Architecture Complexity (simulators)
Low Student Engagement (a “fun” factor)
“Courses in computer architecture and organization […] involve intricate details
of the implementation and operation of the computer. […] This paper proposes a
simulator called EASE.
--Skillen et al
The problem
Architecture Complexity (simulators)
Low Student Engagement (a “fun” factor)
“The description [...] of internal computer operation is not an easy task. The
processes involved are sophisticated. […] visualization is one tool to deal with
the emerging complexity“
-- Yehezkel et al
(They propose EasyCPU)
The problem
Architecture Complexity (simulators)
Low Student Engagement (a “fun” factor)
“motivating students in an undergraduate assembly language course is a tremendous
challenge […] Our findings […] indicate that the […] Raspberry Pi […] contributed
positively to their learning outcomes
-- Kawash et al
“The description [...] of internal computer operation is not an easy task. The
processes involved are sophisticated. […] visualization is one tool to deal with
the emerging complexity“
-- Yehezkel et al
The problem
Architecture Complexity (simulators)
Low Student Engagement (a “fun” factor)
“SPIMbot [ a virtual robot simulator ] was written to provide an engaging environment
to motivate students to learn assembly language concepts”
--Zilles et al
“The description [...] of internal computer operation is not an easy task. The
processes involved are sophisticated. […] visualization is one tool to deal with
the emerging complexity“
-- Yehezkel et al
The problem
“motivating students in an undergraduate assembly language course is a tremendous challenge […] Our
findings […] indicate that the […] Raspberry Pi […] contributed positively to their learning outcomes
-- Kawash et al
“SPIMbot [ a virtual robot simulator ] was written to provide an engaging environment to motivate
students to learn assembly language concepts”
--Zilles et al
“The description [...] of internal computer operation is not an easy task. The processes involved
are sophisticated. […] visualization is one tool to deal with the emerging complexity“
-- Yehezkel et al
“Courses in computer architecture and organization […] involve intricate details of the
implementation and operation of the computer. […] This paper proposes a simulator called EASE.
--Skillen
The problem
“motivating students in an undergraduate assembly language course is a tremendous challenge […] Our
findings […] indicate that the […] Raspberry Pi […] contributed positively to their learning outcomes
-- Kawash et al
“SPIMbot [ a virtual robot simulator ] was written to provide an engaging environment to motivate
students to learn assembly language concepts”
--Zilles et al
“The description [...] of internal computer operation is not an easy task. The processes involved
are sophisticated. […] visualization is one tool to deal with the emerging complexity“
-- Yehezkel et al
“Courses in computer architecture and organization […] involve intricate details of the
implementation and operation of the computer. […] This paper proposes a simulator called EASE.
--Skillen
Simulators
Simulators
bochs was used to teach CPSC 231 in the past at UNBC
Simulators
bochs was used to teach CPSC 231 in the past at UNBC
bochs is an emulator, not a simulator—bear with me!
Simulators
bochs was used to teach CPSC 231 in the past at UNBC
bochs is an emulator, not a simulator—bear with me!
Simulators
Positive:
Negative:
• .
Simulators
Positive:
• Students find it interesting
Negative:
• .
Simulators
Positive:
• Students find it interesting
• It’s a real architecture
Negative:
• .
Simulators
Positive:
• Students find it interesting
• It’s a real architecture
• Students get to say that they’ve had some experience with x86
Negative:
• .
Simulators
Positive:
• Students find it interesting
• It’s a real architecture
• Students get to say that they’ve had some experience with x86
Negative:
• x86 bare-metal is hard!
• .
Simulators
Positive:
• Students find it interesting
• It’s a real architecture
• Students get to say that they’ve had some experience with x86
Negative:
• x86 bare-metal is hard!
• No debugger (too difficult to set up)
• .
Simulators
Positive:
• Students find it interesting
• It’s a real architecture
• Students get to say that they’ve had some experience with x86
Negative:
• x86 bare-metal is hard!
• No debugger (too difficult to set up)
• Almost a blackbox
.
Simulators
Positive:
• Students find it interesting
• It’s a real architecture
• Students get to say that they’ve had some experience with x86
Negative:
• x86 bare-metal is hard!
• No debugger (too difficult to set up)
• Almost a blackbox
• Only means of visualization was a rudimentary print function
.
Simulators
Positive:
• Students find it interesting
• It’s a real architecture
• Students get to say that they’ve had some experience with x86
Negative:
• x86 bare-metal is hard!
• No debugger (too difficult to set up)
• Almost a blackbox
• Only means of visualization was a rudimentary print function
• Only means of visualization was a buggy print function
Simulators
Positive:
• Students find it interesting
• It’s a real architecture
• Students get to say that they’ve had some experience with x86
Negative:
• x86 bare-metal is hard!
• No debugger (too difficult to set up)
• Almost a blackbox
• Only means of visualization was a rudimentary print function
• Only means of visualization was a buggy print function
Simulators makes sense.
(It’s easy to see why they’re so widely accepted as “the way”
of teaching architecture)
Simulators
“Hardware simulators are used to eliminate the burden of working on
a bare machine […] can provide sophisticated development, user
interface, testing, and debugging environments unavailable when
working on bare machine”
---Goldweber et al
Simulators
“Hardware simulators are used to eliminate the burden of working on
a bare machine […] can provide sophisticated development, user
interface, testing, and debugging environments unavailable when
working on bare machine”
---Goldweber et al
Simulators
“Hardware simulators are used to eliminate the burden of working on
a bare machine […] can provide sophisticated development, user
interface, testing, and debugging environments unavailable when
working on bare machine”
---Goldweber et al
Simulators make sense!
Simulators
There exists an alternative solution
(similar benefits, but not a simulator)
Solution
The reign of the simulator is over
All hail the MCU platform!
Solution
The reign of the simulator is over
All hail the MCU platform!
SAM4S MCU (32-bit ARM
Cortex-M4 core):
Solution
The reign of the simulator is over
All hail the MCU platform!
SAM4S MCU (32-bit ARM
Cortex-M4 core):
• Memory Protection
• Cache
• Atomic Loads/Restore
• Software Ints
• User mode and Kernel
mode
• Privileged/Unprivileged
Execution
MCU Advantages
MCU Advantages
Pros:
• Off-the-shelf debugging!
MCU Advantages
Pros:
• Off-the-shelf debugging!
• The debugger is visual and interactive (like a simulator)
MCU Advantages
Pros:
• Off-the-shelf debugging!
• The debugger is visual and interactive (like a simulator)
• Pause and Resume the CPU
• Inspect and modify: memory, registers, IO interfaces.
MCU Advantages
Pros:
• Off-the-shelf debugging!
• The debugger is visual and interactive (like a simulator)
• Pause and Resume the CPU
• Inspect and modify: memory, registers, IO interfaces.
• Simpler architecture
MCU Advantages
Pros:
• Off-the-shelf debugging!
• The debugger is visual and interactive (like a simulator)
• Pause and Resume the CPU
• Inspect and modify: memory, registers, IO interfaces.
• Simpler architecture
• e.g. Switching to user mode in x86 vs in ARM Cortex-M4
MCU Advantages
Pros:
• Off-the-shelf debugging!
• The debugger is visual and interactive (like a simulator)
• Pause and Resume the CPU
• Inspect and modify: memory, registers, IO interfaces.
• Simpler architecture
• e.g. Switching to user mode in x86 vs in ARM Cortex-M4
• Reduces effort and time to, say, switch to user mode, or set up the MPU
MCU Advantages
Pros:
• Off-the-shelf debugging!
• The debugger is visual and interactive (like a simulator)
• Pause and Resume the CPU
• Inspect and modify: memory, registers, IO interfaces.
• Simpler architecture
• e.g. Switching to user mode in x86 vs in ARM Cortex-M4
• Reduces effort and time to, say, switch to user mode, or set up the MPU
• Goes well with undergrad introductory courses (exposure, not expertise)
MCU Advantages
Pros:
• It’s good for student engagement
MCU Advantages
Pros:
• It’s good for student engagement
• Students get to play with sensors and actuators
• Their code gets to execute on real hardware
“fun” factor
Solution Part two
Solution Part two
Guzdial argues that the amount of instruction matters when teaching
computer science to beginners:
Solution Part two
Guzdial argues that the amount of instruction matters when teaching
computer science to beginners:
“putting introductory students in the position of discovering
information for themselves is a bad idea”
Solution Part two
Guzdial argues that the amount of instruction matters when teaching
computer science to beginners:
“putting introductory students in the position of discovering
information for themselves is a bad idea”
“insofar as there is any evidence from controlled studies, it almost
uniformly supports direct, strong instructional guidance”
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
• Demonstrate Architecture
concepts
Solution Part two
An in-detail tutorial book
• Demonstrate Architecture
concepts
• Cover all technical details
necessary for lab
completion
Solution Part two
An in-detail tutorial book
• Demonstrate Architecture
concepts
• Cover all technical details
necessary for lab
completion
1. Introduction
2. ISA
3. Memory
4. IO
5. Stack
6. Interrupts
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
Solution Part two
An in-detail tutorial book
If the guide offers too many
details or too many steps, what
is left for the student to do?
More advanced things.
Solution Part two
An in-detail tutorial book
If the guide offers too many
details or too many steps, what
is left for the student to do?
More advanced things.
E.g.: Loader in Lab 3
(in previous years it was difficult enough to be a final project)
Evaluation
2017 Winter Semester CPSC 231
Final Projects
Evaluation
2017 Winter Semester CPSC 231
Final Projects
Evaluation
2017 Winter Semester CPSC 231
Maze solver
Final Projects
Evaluation
2017 Winter Semester CPSC 231
Working knowledge to pursue something of their own
Evaluation
2017 Winter Semester CPSC 231
Working knowledge to pursue something of their own
2015
Evaluation
2017 Winter Semester CPSC 231
Working knowledge to pursue something of their own
2015
Evaluation
2017 Winter Semester CPSC 231
16 students total
14 participate in the survey,
1 student dropped the class.
Evaluation
2017 Winter Semester CPSC 231
16 students total
14 participate in the survey,
1 student dropped the class.
Lacks any statistical significance. We use it to get
an idea of how students perceived the labs
Evaluation
2017 Winter Semester CPSC 231
16 students total
14 participate in the survey,
1 student dropped the class.
1=‘Strongly disagree’, 2=‘Disagree’, 3=‘Neutral’, 4=‘Agree’, and 5=‘Strongly agree’.
16 students total
14 participate in the survey,
1 student dropped the class.
Evaluation
2017 Winter Semester CPSC 231
16 students total
14 participate in the survey,
1 student dropped the class.
1=‘Strongly disagree’, 2=‘Disagree’, 3=‘Neutral’, 4=‘Agree’, and 5=‘Strongly agree’.
Evaluation
2017 Winter Semester CPSC 231
16 students total
14 participate in the survey,
1 student dropped the class.
1=‘Strongly disagree’, 2=‘Disagree’, 3=‘Neutral’, 4=‘Agree’, and 5=‘Strongly agree’.
Disadvantages
Disadvantages
• Students will not be using MCUs in their workplace. They’ll be using
desktop architectures.
Disadvantages
• Students will not be using MCUs in their workplace. They’ll be using
desktop architectures.
• MCUs have no MMU
Disadvantages
• Students will not be using MCUs in their workplace. They’ll be using
desktop architectures.
• MCUs have no MMU
• MCUs are still complex!
Disadvantages
• Students will not be using MCUs in their workplace. They’ll be using
desktop architectures
• MCUs have no MMU
• MCUs are still complex!
• MCUs have a Harvard architecture. We need to teach Von
Neumman! (Someone please think of the children!!)
That’s it!
Thank You

More Related Content

Similar to Teaching Computer Architecture Labs using a MCU Platform

Walking Skeleton
Walking SkeletonWalking Skeleton
Walking Skeletonhepphep
 
Introduction to Software Engineering Course
Introduction to Software Engineering CourseIntroduction to Software Engineering Course
Introduction to Software Engineering CourseMd. Shafiuzzaman Hira
 
UMLassure: An approach to model software security
UMLassure: An approach to model software securityUMLassure: An approach to model software security
UMLassure: An approach to model software securitymanishthaper
 
Immutable infrastructure with Boxfuse
Immutable infrastructure with BoxfuseImmutable infrastructure with Boxfuse
Immutable infrastructure with BoxfuseLars Östling
 
A Simple Laboratory Environment for Real World Offensive Security Education
A Simple Laboratory Environment for Real World Offensive Security EducationA Simple Laboratory Environment for Real World Offensive Security Education
A Simple Laboratory Environment for Real World Offensive Security Educationchunkybacon
 
A Model Based Concurrent Engineering Framework using ISO-19450 Standard
A Model Based Concurrent Engineering Framework using ISO-19450 StandardA Model Based Concurrent Engineering Framework using ISO-19450 Standard
A Model Based Concurrent Engineering Framework using ISO-19450 StandardChristopher Cerqueira
 
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityModeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityFlorian Lier
 
Microservices - when, why and how incontrodevops.it
Microservices  - when, why and how incontrodevops.itMicroservices  - when, why and how incontrodevops.it
Microservices - when, why and how incontrodevops.itGiuseppe Lavagetto
 
GD - 4th - Game Architecture
GD - 4th - Game ArchitectureGD - 4th - Game Architecture
GD - 4th - Game ArchitectureHadziq Fabroyir
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Balanced Team
 
Karol Szewczak - exploratory testing – not so wacky, random stuff
Karol Szewczak - exploratory testing – not so wacky, random stuffKarol Szewczak - exploratory testing – not so wacky, random stuff
Karol Szewczak - exploratory testing – not so wacky, random stuffTrójmiejska Grupa Testerska
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Solvcon PyCon APAC 2014
Solvcon PyCon APAC 2014Solvcon PyCon APAC 2014
Solvcon PyCon APAC 2014weijr
 
Build, Scale, and Deploy Deep Learning Pipelines with Ease
Build, Scale, and Deploy Deep Learning Pipelines with EaseBuild, Scale, and Deploy Deep Learning Pipelines with Ease
Build, Scale, and Deploy Deep Learning Pipelines with EaseDatabricks
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Fwdays
 
[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patterns
[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patterns[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patterns
[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patternsnpinto
 
Embedded Systems PPt.pptx
Embedded Systems PPt.pptxEmbedded Systems PPt.pptx
Embedded Systems PPt.pptxTabrezahmed39
 
OOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.pptOOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.pptitadmin33
 

Similar to Teaching Computer Architecture Labs using a MCU Platform (20)

Walking Skeleton
Walking SkeletonWalking Skeleton
Walking Skeleton
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Introduction to Software Engineering Course
Introduction to Software Engineering CourseIntroduction to Software Engineering Course
Introduction to Software Engineering Course
 
UMLassure: An approach to model software security
UMLassure: An approach to model software securityUMLassure: An approach to model software security
UMLassure: An approach to model software security
 
Immutable infrastructure with Boxfuse
Immutable infrastructure with BoxfuseImmutable infrastructure with Boxfuse
Immutable infrastructure with Boxfuse
 
A Simple Laboratory Environment for Real World Offensive Security Education
A Simple Laboratory Environment for Real World Offensive Security EducationA Simple Laboratory Environment for Real World Offensive Security Education
A Simple Laboratory Environment for Real World Offensive Security Education
 
A Model Based Concurrent Engineering Framework using ISO-19450 Standard
A Model Based Concurrent Engineering Framework using ISO-19450 StandardA Model Based Concurrent Engineering Framework using ISO-19450 Standard
A Model Based Concurrent Engineering Framework using ISO-19450 Standard
 
Industry Training: 03 Awareness Simulation
Industry Training: 03 Awareness SimulationIndustry Training: 03 Awareness Simulation
Industry Training: 03 Awareness Simulation
 
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityModeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
 
Microservices - when, why and how incontrodevops.it
Microservices  - when, why and how incontrodevops.itMicroservices  - when, why and how incontrodevops.it
Microservices - when, why and how incontrodevops.it
 
GD - 4th - Game Architecture
GD - 4th - Game ArchitectureGD - 4th - Game Architecture
GD - 4th - Game Architecture
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...
 
Karol Szewczak - exploratory testing – not so wacky, random stuff
Karol Szewczak - exploratory testing – not so wacky, random stuffKarol Szewczak - exploratory testing – not so wacky, random stuff
Karol Szewczak - exploratory testing – not so wacky, random stuff
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Solvcon PyCon APAC 2014
Solvcon PyCon APAC 2014Solvcon PyCon APAC 2014
Solvcon PyCon APAC 2014
 
Build, Scale, and Deploy Deep Learning Pipelines with Ease
Build, Scale, and Deploy Deep Learning Pipelines with EaseBuild, Scale, and Deploy Deep Learning Pipelines with Ease
Build, Scale, and Deploy Deep Learning Pipelines with Ease
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
 
[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patterns
[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patterns[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patterns
[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patterns
 
Embedded Systems PPt.pptx
Embedded Systems PPt.pptxEmbedded Systems PPt.pptx
Embedded Systems PPt.pptx
 
OOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.pptOOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.ppt
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 

Recently uploaded (20)

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 

Teaching Computer Architecture Labs using a MCU Platform

  • 1. Teaching Computer Architecture Labs using a MCU Platform Rafael Roman Otero and Alex Aravind University of Northern British Columbia (UNBC)
  • 3. Focus of this paper Teaching Computer Architecture Labs to Undergraduate Students in Computer Science
  • 4. Focus of this paper Teaching Computer Architecture Labs to Undergraduate Students in Computer Science Organization?
  • 5. Focus of this paper Teaching Computer Architecture Labs to Undergraduate Students in Computer Science Organization?
  • 6. Focus of this paper Teaching Computer Architecture Labs to Undergraduate Students in Computer Science Computer Organization and Architecture (CPSC 231 at UNBC) Organization?
  • 7. Teaching Computer Architecture Labs to Undergraduate Students in Computer Science Focus of this paper • Instruction Set Architecture • Addressing modes • Interrupts • Pipelining Computer Organization and Architecture (CPSC 231 at UNBC)
  • 8. Focus of this paper Teaching Computer Architecture Labs to Undergraduate Students in Computer Science • Instruction Set Architecture • Addressing modes • Interrupts • Pipelining Computer Organization and Architecture (CPSC 231 at UNBC) Lecture (Conceptual Explanation and Internals)
  • 9. Focus of this paper Teaching Computer Architecture Labs to Undergraduate Students in Computer Science (Concepts Demonstrated with Assembly Exercises) • Instruction Set Architecture • Addressing modes • Interrupts • Pipelining Computer Organization and Architecture (CPSC 231 at UNBC) Lecture + Labs (Conceptual Explanation and Internals)
  • 10. Focus of this paper Teaching Computer Architecture Labs to Undergraduate Students in Computer Science (Concepts Demonstrated with Assembly Exercises) Computer Organization and Architecture (CPSC 231 at UNBC) Lecture + Labs (Conceptual Explanation and Internals) • Instruction Set Architecture • Addressing modes • Interrupts • Pipelining
  • 13. The problem Architecture Complexity (simulators) Low Student Engagement
  • 14. The problem Architecture Complexity (simulators) Low Student Engagement (a “fun” factor)
  • 15. The problem Architecture Complexity (simulators) Low Student Engagement (a “fun” factor) “Courses in computer architecture and organization […] involve intricate details of the implementation and operation of the computer. […] This paper proposes a simulator called EASE. --Skillen et al
  • 16. The problem Architecture Complexity (simulators) Low Student Engagement (a “fun” factor) “The description [...] of internal computer operation is not an easy task. The processes involved are sophisticated. […] visualization is one tool to deal with the emerging complexity“ -- Yehezkel et al (They propose EasyCPU)
  • 17. The problem Architecture Complexity (simulators) Low Student Engagement (a “fun” factor) “motivating students in an undergraduate assembly language course is a tremendous challenge […] Our findings […] indicate that the […] Raspberry Pi […] contributed positively to their learning outcomes -- Kawash et al “The description [...] of internal computer operation is not an easy task. The processes involved are sophisticated. […] visualization is one tool to deal with the emerging complexity“ -- Yehezkel et al
  • 18. The problem Architecture Complexity (simulators) Low Student Engagement (a “fun” factor) “SPIMbot [ a virtual robot simulator ] was written to provide an engaging environment to motivate students to learn assembly language concepts” --Zilles et al “The description [...] of internal computer operation is not an easy task. The processes involved are sophisticated. […] visualization is one tool to deal with the emerging complexity“ -- Yehezkel et al
  • 19. The problem “motivating students in an undergraduate assembly language course is a tremendous challenge […] Our findings […] indicate that the […] Raspberry Pi […] contributed positively to their learning outcomes -- Kawash et al “SPIMbot [ a virtual robot simulator ] was written to provide an engaging environment to motivate students to learn assembly language concepts” --Zilles et al “The description [...] of internal computer operation is not an easy task. The processes involved are sophisticated. […] visualization is one tool to deal with the emerging complexity“ -- Yehezkel et al “Courses in computer architecture and organization […] involve intricate details of the implementation and operation of the computer. […] This paper proposes a simulator called EASE. --Skillen
  • 20. The problem “motivating students in an undergraduate assembly language course is a tremendous challenge […] Our findings […] indicate that the […] Raspberry Pi […] contributed positively to their learning outcomes -- Kawash et al “SPIMbot [ a virtual robot simulator ] was written to provide an engaging environment to motivate students to learn assembly language concepts” --Zilles et al “The description [...] of internal computer operation is not an easy task. The processes involved are sophisticated. […] visualization is one tool to deal with the emerging complexity“ -- Yehezkel et al “Courses in computer architecture and organization […] involve intricate details of the implementation and operation of the computer. […] This paper proposes a simulator called EASE. --Skillen
  • 22. Simulators bochs was used to teach CPSC 231 in the past at UNBC
  • 23. Simulators bochs was used to teach CPSC 231 in the past at UNBC bochs is an emulator, not a simulator—bear with me!
  • 24. Simulators bochs was used to teach CPSC 231 in the past at UNBC bochs is an emulator, not a simulator—bear with me!
  • 26. Simulators Positive: • Students find it interesting Negative: • .
  • 27. Simulators Positive: • Students find it interesting • It’s a real architecture Negative: • .
  • 28. Simulators Positive: • Students find it interesting • It’s a real architecture • Students get to say that they’ve had some experience with x86 Negative: • .
  • 29. Simulators Positive: • Students find it interesting • It’s a real architecture • Students get to say that they’ve had some experience with x86 Negative: • x86 bare-metal is hard! • .
  • 30. Simulators Positive: • Students find it interesting • It’s a real architecture • Students get to say that they’ve had some experience with x86 Negative: • x86 bare-metal is hard! • No debugger (too difficult to set up) • .
  • 31. Simulators Positive: • Students find it interesting • It’s a real architecture • Students get to say that they’ve had some experience with x86 Negative: • x86 bare-metal is hard! • No debugger (too difficult to set up) • Almost a blackbox .
  • 32. Simulators Positive: • Students find it interesting • It’s a real architecture • Students get to say that they’ve had some experience with x86 Negative: • x86 bare-metal is hard! • No debugger (too difficult to set up) • Almost a blackbox • Only means of visualization was a rudimentary print function .
  • 33. Simulators Positive: • Students find it interesting • It’s a real architecture • Students get to say that they’ve had some experience with x86 Negative: • x86 bare-metal is hard! • No debugger (too difficult to set up) • Almost a blackbox • Only means of visualization was a rudimentary print function • Only means of visualization was a buggy print function
  • 34. Simulators Positive: • Students find it interesting • It’s a real architecture • Students get to say that they’ve had some experience with x86 Negative: • x86 bare-metal is hard! • No debugger (too difficult to set up) • Almost a blackbox • Only means of visualization was a rudimentary print function • Only means of visualization was a buggy print function Simulators makes sense. (It’s easy to see why they’re so widely accepted as “the way” of teaching architecture)
  • 35. Simulators “Hardware simulators are used to eliminate the burden of working on a bare machine […] can provide sophisticated development, user interface, testing, and debugging environments unavailable when working on bare machine” ---Goldweber et al
  • 36. Simulators “Hardware simulators are used to eliminate the burden of working on a bare machine […] can provide sophisticated development, user interface, testing, and debugging environments unavailable when working on bare machine” ---Goldweber et al
  • 37. Simulators “Hardware simulators are used to eliminate the burden of working on a bare machine […] can provide sophisticated development, user interface, testing, and debugging environments unavailable when working on bare machine” ---Goldweber et al Simulators make sense!
  • 38. Simulators There exists an alternative solution (similar benefits, but not a simulator)
  • 39. Solution The reign of the simulator is over All hail the MCU platform!
  • 40. Solution The reign of the simulator is over All hail the MCU platform! SAM4S MCU (32-bit ARM Cortex-M4 core):
  • 41. Solution The reign of the simulator is over All hail the MCU platform! SAM4S MCU (32-bit ARM Cortex-M4 core): • Memory Protection • Cache • Atomic Loads/Restore • Software Ints • User mode and Kernel mode • Privileged/Unprivileged Execution
  • 44. MCU Advantages Pros: • Off-the-shelf debugging! • The debugger is visual and interactive (like a simulator)
  • 45. MCU Advantages Pros: • Off-the-shelf debugging! • The debugger is visual and interactive (like a simulator) • Pause and Resume the CPU • Inspect and modify: memory, registers, IO interfaces.
  • 46. MCU Advantages Pros: • Off-the-shelf debugging! • The debugger is visual and interactive (like a simulator) • Pause and Resume the CPU • Inspect and modify: memory, registers, IO interfaces. • Simpler architecture
  • 47. MCU Advantages Pros: • Off-the-shelf debugging! • The debugger is visual and interactive (like a simulator) • Pause and Resume the CPU • Inspect and modify: memory, registers, IO interfaces. • Simpler architecture • e.g. Switching to user mode in x86 vs in ARM Cortex-M4
  • 48. MCU Advantages Pros: • Off-the-shelf debugging! • The debugger is visual and interactive (like a simulator) • Pause and Resume the CPU • Inspect and modify: memory, registers, IO interfaces. • Simpler architecture • e.g. Switching to user mode in x86 vs in ARM Cortex-M4 • Reduces effort and time to, say, switch to user mode, or set up the MPU
  • 49. MCU Advantages Pros: • Off-the-shelf debugging! • The debugger is visual and interactive (like a simulator) • Pause and Resume the CPU • Inspect and modify: memory, registers, IO interfaces. • Simpler architecture • e.g. Switching to user mode in x86 vs in ARM Cortex-M4 • Reduces effort and time to, say, switch to user mode, or set up the MPU • Goes well with undergrad introductory courses (exposure, not expertise)
  • 50. MCU Advantages Pros: • It’s good for student engagement
  • 51. MCU Advantages Pros: • It’s good for student engagement • Students get to play with sensors and actuators • Their code gets to execute on real hardware “fun” factor
  • 53. Solution Part two Guzdial argues that the amount of instruction matters when teaching computer science to beginners:
  • 54. Solution Part two Guzdial argues that the amount of instruction matters when teaching computer science to beginners: “putting introductory students in the position of discovering information for themselves is a bad idea”
  • 55. Solution Part two Guzdial argues that the amount of instruction matters when teaching computer science to beginners: “putting introductory students in the position of discovering information for themselves is a bad idea” “insofar as there is any evidence from controlled studies, it almost uniformly supports direct, strong instructional guidance”
  • 56. Solution Part two An in-detail tutorial book
  • 57. Solution Part two An in-detail tutorial book • Demonstrate Architecture concepts
  • 58. Solution Part two An in-detail tutorial book • Demonstrate Architecture concepts • Cover all technical details necessary for lab completion
  • 59. Solution Part two An in-detail tutorial book • Demonstrate Architecture concepts • Cover all technical details necessary for lab completion 1. Introduction 2. ISA 3. Memory 4. IO 5. Stack 6. Interrupts
  • 60. Solution Part two An in-detail tutorial book
  • 61. Solution Part two An in-detail tutorial book
  • 62. Solution Part two An in-detail tutorial book
  • 63. Solution Part two An in-detail tutorial book
  • 64. Solution Part two An in-detail tutorial book
  • 65. Solution Part two An in-detail tutorial book
  • 66. Solution Part two An in-detail tutorial book
  • 67. Solution Part two An in-detail tutorial book
  • 68. Solution Part two An in-detail tutorial book
  • 69. Solution Part two An in-detail tutorial book
  • 70. Solution Part two An in-detail tutorial book If the guide offers too many details or too many steps, what is left for the student to do? More advanced things.
  • 71. Solution Part two An in-detail tutorial book If the guide offers too many details or too many steps, what is left for the student to do? More advanced things. E.g.: Loader in Lab 3 (in previous years it was difficult enough to be a final project)
  • 72. Evaluation 2017 Winter Semester CPSC 231 Final Projects
  • 73. Evaluation 2017 Winter Semester CPSC 231 Final Projects
  • 74. Evaluation 2017 Winter Semester CPSC 231 Maze solver Final Projects
  • 75. Evaluation 2017 Winter Semester CPSC 231 Working knowledge to pursue something of their own
  • 76. Evaluation 2017 Winter Semester CPSC 231 Working knowledge to pursue something of their own 2015
  • 77. Evaluation 2017 Winter Semester CPSC 231 Working knowledge to pursue something of their own 2015
  • 78. Evaluation 2017 Winter Semester CPSC 231 16 students total 14 participate in the survey, 1 student dropped the class.
  • 79. Evaluation 2017 Winter Semester CPSC 231 16 students total 14 participate in the survey, 1 student dropped the class. Lacks any statistical significance. We use it to get an idea of how students perceived the labs
  • 80. Evaluation 2017 Winter Semester CPSC 231 16 students total 14 participate in the survey, 1 student dropped the class. 1=‘Strongly disagree’, 2=‘Disagree’, 3=‘Neutral’, 4=‘Agree’, and 5=‘Strongly agree’. 16 students total 14 participate in the survey, 1 student dropped the class.
  • 81. Evaluation 2017 Winter Semester CPSC 231 16 students total 14 participate in the survey, 1 student dropped the class. 1=‘Strongly disagree’, 2=‘Disagree’, 3=‘Neutral’, 4=‘Agree’, and 5=‘Strongly agree’.
  • 82. Evaluation 2017 Winter Semester CPSC 231 16 students total 14 participate in the survey, 1 student dropped the class. 1=‘Strongly disagree’, 2=‘Disagree’, 3=‘Neutral’, 4=‘Agree’, and 5=‘Strongly agree’.
  • 84. Disadvantages • Students will not be using MCUs in their workplace. They’ll be using desktop architectures.
  • 85. Disadvantages • Students will not be using MCUs in their workplace. They’ll be using desktop architectures. • MCUs have no MMU
  • 86. Disadvantages • Students will not be using MCUs in their workplace. They’ll be using desktop architectures. • MCUs have no MMU • MCUs are still complex!
  • 87. Disadvantages • Students will not be using MCUs in their workplace. They’ll be using desktop architectures • MCUs have no MMU • MCUs are still complex! • MCUs have a Harvard architecture. We need to teach Von Neumman! (Someone please think of the children!!)

Editor's Notes

  1. Explain this is work from when I was a Alex’s student (SET TIMER!)
  2. Let us begin with…
  3. In this paper, we explore an alternative way of ….
  4. Now, do I mean to say…
  5. I don’t know. I couldn’t find any consensus on which one is which.
  6. Maybe it’s both. At UNBC, the architecture course is called…
  7. It covers topics such as…
  8. You would have a lecture were concepts are explained generically, for no particular hardware implementation.
  9. Then you would have Labs were concepts are demonstrated on a specific hardware with exercises in assembly .
  10. And it is this last item that is the focus of this paper; whether you call it one way or another.
  11. Now, what is so difficult about delivering computer architecture labs?
  12. In literature there’s two problems that have been identified…
  13. The solution for architecture complexity are…
  14. Whereas the solution for…
  15. For instance, Skillen explains that…
  16. Likewise, Yehezkel mentions that… (they propose a simulator)
  17. Kawash, from University of Calgary, writes that… (and claims..)
  18. Similarly, Zilles explains they created SPIMBot, a virtual…
  19. So, it seems simulators are very popular
  20. And they are often proposed as platforms for teaching of computer architecture.
  21. Let us consider simulators for a moment.
  22. For a few years, at UNBC, Alex tried bochs as a platform to teach CPSC 231.
  23. I know, bochs is not a simulator, it is and x86 emulator…
  24. I got to experience it both as a student (undergrad) and as lab instructor (Master student).
  25. On those two years, we noted some positives and negatives
  26. On the positive side, students find it…
  27. x86 is a real and popular architecture
  28. Students… (at least I was very proud of messing with x86)
  29. On the negative side, it was hard... (there’s just too many details. x86 manuals are extensive!)
  30. We knew there was a way to set up a debugger, but it was just too difficult. (we would never know why things weren’t working)
  31. Withouot a debugger, you’re almost programming a blackbox, things just either work or don’t.
  32. The only visualization we had was a rudimentary… (you could only print strings of know size with alphanumeric characters, no numbers! )
  33. Then, when I was lab instructor, I created a new function to print numbers, but it was buggy! (Again, I did not have a debugger)
  34. So, based on our experience with bochs….
  35. In the words of…
  36. In the words of…
  37. Again…
  38. Now, based on this insight, we have an alternative solution. And this is the whole point of this paper….
  39. You may have already guessed it…
  40. Just to be clear, we’re talking about high-end 32-bit MCUs, such as the one in the picture….
  41. To get you a better idea, this MCU has…
  42. What are these benefits?
  43. There is an off-the-shelf… (it just works!)
  44. Like a simulator….
  45. It’s possible to…
  46. MCU architectures are simpler than MPUs ones, like x86, and Raspberry PI
  47. Consider, for instance, changing to user mode in… (x86 is trickier and more parts are involved in the process)
  48. A simpler architecture, therefore, reduces the amount of effort and time that students must put towards, say, ….
  49. Reduced effort and time are good things in… (where we look to give students exposure, not expertise)
  50. Last, but not least. MCUs are good…
  51. Students get to…
  52. There’s a second part to our solution….
  53. It’s been argued in the recent past that…
  54. In particular, Guzdial says,
  55. From this follows the second part of our solution…
  56. In this 60-page book we…
  57. And we…
  58. In particular, we have six chapters…
  59. Let me give you an example. This is Chapter 3, I normally star each chapter by write some quote that I think is related and perhaps interesting.
  60. Then I very quickly introduce Von neumann and Hardvard architectures (again, I assume these concepts were covered in more detail in Lectures)
  61. Then we discuss the Cortex-M4 modified harvard architecture
  62. Then MCU’s memory map
  63. Then the concept of memory segmentation is introduced
  64. Then we introduce the role of the linker and how it works together with the compiler and assembler to generate code.
  65. Then we explain and show how to create a basic linker script
  66. We also discuss variables in assembly; their syntax, and how they are stored in the data segment.
  67. Another important part of the guide are videos. In this video, for instance…
  68. Now the obvious questions is….
  69. An example of this is that students now write a loader in Lab 3. In previous…
  70. In Winter Semester 2017, for final projects, we had students make teams and build something of their own interest
  71. We had goods projects. Robo-MAUS: Wrote their own drivers, 3D printed a chassis, and put together some rover…
  72. Arduino NIRS Device: nears-infrared spectroscopy Maze Solver: They change the display drivers to draw mazes and then solved those mazes via A*
  73. Another secondary goal we had, was to equip them with…
  74. We did not have any student do this in 2017, but we had one in 2015…
  75. (This student continued to use the MCU platform to build a multi-robot platform, and now he’s using them for his Master thesis research)
  76. We also conducted a short survey on a classroom of…
  77. Please note the sample is too small, so it …
  78. Possible answers were…
  79. We had that students more or less agree in that…. Yet they find….
  80. Also, they think, videos helped them to….while they think the debugger…. (whether that’s true, that’s a different matter)
  81. Like in everything.. There’s some disadvantages.
  82. Students won’t…
  83. Can’t teach MMU topics because MCUs don’t have one!
  84. Not as complex, but still…
  85. MCUs do not have a Von Neumman architecture. (that can be a bad thing, I guess)