EE 234: Microprocessor Systems Exam 1 Review Guide

ukrainianlegalElectronics - Devices

Nov 2, 2013 (3 years and 10 months ago)

148 views

EE 234: Microprocessor Systems




Exam 1 Review Guide


This document will serve as a guide to help you prepare for the first midterm exam in
EE
234. You will find information about the exam format and topics you are expected
to review within this guide.



What to Bring?


Two sharp pencils


A "cheat sheet" (see below)


Calculators and other notes may

not

be used during the exam!



The "Cheat
Sheet"



The exam is closed book (no reference manuals), closed notes. However, you are
allowed
one side

of an 8.5” x 11” piece of paper (a
cheat sheet
) to write down any
notes that you feel will help you on the exam. You must present your cheat sheet to
your instructor at check
-
in, so that he can verify that it meets regulations. If you use
a cheat sheet that exceeds the allowable dimensions, or that has writing on both sides
of the page, you run the risk of its being confiscated prior to the exam. This p
olicy
will be strictly enforced.



Exam Timeframe



Please be aware that, because you will be taking the exam during a normal lecture
period,
time will be extremely tight
for the exam. You will be allowed to start the
exam at
3:10 pm

sharp
.
If you show up
late to class, you will have less time to take
the exam
. You must hand your exam in by
4:05 pm s
harp.



Exam Format



The exam will contain some fill
-
in
-
the
-
blank, short answer, and assembly coding
problems. Expect to have between 5 and 10 problems total (
some may have multiple
parts). Remember: no calculators will be allowed! Also, note that your assembly
solutions do not have to be documented!



Exam Coverage



The exam covers the first six weeks of the semester including: units 1


8 and lab
projects 1
-

4.



Unit 1: Intro to Microprocessors & Microcontrollers


What is a
microprocessor
?


What is a
microcontroller
?


Compare and contrast microprocessors and microcontrollers


Provide three real world applications/devices where
microcontrollers

may be
applied


Mi
croprocessors/microcontrollers are comprised of which four main
subsystems? Explain each subsystem


What is an
embedded

system?


Concisely compare and contrast
soft

versus
hard

real
-
time systems


List and describe five
features

of the PIC32MX460F512L


List three key
peripherals

that may be interfaced with a microcontroller


Unit 2: Data Types & Number Systems


What is a
data type
?


Convert between different number systems including: decimal to binary, binary
to decimal, decimal to hexadecimal, hexadecimal

to decimal, binary to
hexadecimal, and hexadecimal to binary


What is a
bit?

What is a
nibble
? What is a
byte
? What is a
word
?


Define little
-
endian and big
-
endian


Unit 3: Computer Architecture


List, describe, and diagram the two dominant
computer
architectures
: Harvard
and von Neumann


What is the fetch/decode/execute instruction cycle?


Describe the von Neumann bottleneck


What is
cache

memory? What is the
Principle of Locality
?


Relative to one another, describe the speed, cost, and storage size of r
egisters,
cache, and RAM memory


Compare and contrast
RISC

and
CISC


Provide two features of the MIPS32 architecture that are different from the
AVR architecture


Unit 4: PIC32MX MCU


List and describe the 5
-
stage
pipeline

implemented by the PIC32


Provide one

real
-
world
analogy

for a pipeline


Identify the core building blocks of the PIC32MX MCU


In which memory is data stored? How about instructions?


Compare and contrast volatile and non
-
volatile memory


What is the SYSCLK? What is the PBCLK?


Describe the common

bus matrix implemented by the PIC32MX MCU


What is the load
-
store architecture?


Unit 5: Registers


Define
register


What is a
register file
?


Summarize the following types of registers: general purpose, special purpose,
constant, data, address, port, memory
-
mapped


Provide a simplified block diagram of a typical MIPS
data path


Describe each block in a typical MIPS data path


What is the purpose of the program counter (PC)? How does it change as
instructions are executed? How does the size of the PC correspond
to the
amount of flash memory available?


Unit 6: Memory Maps & Organization


Why do some microprocessors/microcontrollers use virtual memory address
spaces?


What is a memory map?


Given a general memory map with known register, data, and program cell
sizes,

fill
-
in associated address values


Unit 7: Instruction Set & Programmer’s Model


List and describe the MIPS32 register usage
conventions

(you are not
responsible for understanding the
at, k0
-
k1, gp,
and

fp

registers for this exam)


How are the 32 core regis
ters
organized

in the register file?


Summarize the function of the following instructions: ADD, ADDI, LA, LI, MOVE,
SUB, SLL, SRA, SRL, AND, ANDI, NOP, NOR, NOT, OR, ORI, XOR, XORI, B, BEQ,
BEQZ, BGEZ
,
BGTZ, BLEZ, BLTZ, BNE, BNEZ, J, JAL, JR, LW, SW


What i
s a
stack
? Why are stacks needed? Generally, where is a stack located in
memory?


Describe the three CPU instruction formats: Immediate (I
-
Type), Jump (J
-
Type), and Register (R
-
Type)


Discuss tradeoffs of larger versus smaller instruction sizes, register siz
es, etc.


Apply directives: .ENT, .DATA, .TEXT, .WORD, .END


Unit 8: Cache Module


How does the prefetch cache module increase system performance?


What is meant by caching an instruction?


What is meant by prefetching instructions?


What is a cache miss? Cache

hit?


Other Topics


When should programs be written in
assembly

code?


When should programs be written in
C

code?


Translate a fragment of code written in C to assembly, and vice
-
versa


Design and implement functions/subroutines/procedures in C or MIPS32
assembly


Provided an assembly program or a disassembly listing, determine the binary or
hexadecimal representation of each machine instruction


Given a sequence of assembly instructions, fill
-
in associated program memory
addresses for each


Provided a binary or hexadecimal I
-
, J
-
, or R
-
Type instruction, list the
corresponding mnemonic MIPS32 instruction and associated registers and/or
addresses





Recommended Strategy for Preparing for the Exam



I recommend that you use the following activi
ties and materials to prepare for the
exam:




Review quizzes, homework assignments, and lab projects
: These may well be
your best resource. An excellent learning activity would be to retake the quizzes
and review the assignments and lab projects.


Lec
ture notes and example code
: Study the lecture notes and example code.


Read the recommended reference manuals:
Read or re
-
read sections from the
designated reference manuals for the course.