Microcontrol

advertisement
William Stallings
Computer Organization
and Architecture
7th Edition
Micro-programmed Control
Control Systems
• Two types of control systems
▫ Hardwired Control Systems
▫ Micro-Programmed Control Systems
Hardwired Control
• A special digital circuit that uses
▫
▫
▫
▫
The bits from the opcode field in our instructions
Bits from the Flags
Signals from the bus
Signals from the Clock
Hardwire Control
• Advantages
▫ Speed
• Disadvantages
▫ Instruction set and Control logic are directly tied
together using complicated circuits that are
difficult to design and modify.
Micro Program Control
• Developed by M.V. Wilkes in
the early 1950’s
• Proposed an idea that was
organized and systematic and
avoided the complications of
hardwired implementation.
http://www.cl.cam.ac.uk/Re
lics/jpegs/edsac99.11.jpg
Micro-Progammed Control Basic
Concepts
• Use sequences of instructions to control complex
operations
• Called micro-programming or firmware
• Microprogram is an interpreter written in
microcode that is stored in
firmware(ROM,PROM,EEPROM) which is often
called the control store. The program converts
zero’s and one’s into control signals.
Functioning of Micro programmed
Control Unit
Micro-Program Control
• Advantages
▫ Only thing that needs to be modified is the microcode. No hardware modification is needed.
▫ Microprogramming is flexible and easy to design.
▫ Allows for convenient hardware/software trade
offs. If something you want is not implemented in
hardware it can be implemented in software.
Micro-Program Control
• Disadvantages
▫ All instructions must go through an additional
level of interpretation, slowing down the program
execution.
▫ Development is expensive due to software tools.
What is MicroInstruction
Sequencing?
• Getting the next instruction from the control
memory
MicroCode
• Stored in high speed memory, CONTROL
STORE
• Could be ROM or Read/Write
• Read/Write allows for debugging
• Uses very wide, bit-wise, instructions
• Designed for fastest possible execution
Implementation
• Each microinstruction provides the bits that
control the elements of a CPU
• Turns extremely complex electrical design into
less difficult programming design
Two Concerns
• Two main concerns in designing a sequence:
▫ Size of MicroInstruction
▫ Address-Generation Time
Sequencing Techniques
• Two address fields
• Single address field
• Variable Format
Branch Control Logic, Two Address Fields
Address Generation
Branch Instruction
• Depends on:
▫ ALU Flags
▫ Part of the opcode or address mode fields of the
instruction
▫ Parts of a selected register
▫ Status bits within the control unit
Execution
• Once an instruction has been loaded into the instruction
register (IR), and the control unit (CU) has examined and
decoded the fetched instruction and determined the required
course of action to take, the execution cycle can commence.
• Unlike the fetch cycle and the interrupt cycle, both of which
have a set instruction sequence, the execute cycle can
comprise some complex operations (commonly called
opcodes).
Execute cycle
• The Fetch-Execute cycle in Transfer
Notation
• MAR<-[PC]
• MDR<-[Memory Location]
• PC<-[PC]+1
• IR<-[MDR]
• CU<-IR
Execute
•
•
•
•
Microinstruction organized as set of fields
Each field contains code
Activates one or more control signals
Organize format into independent fields
▫ Field depicts set of actions (pattern of control signals)
▫ Actions from different fields can occur simultaneously
• Alternative actions that can be specified by a field are
mutually exclusive
▫ Only one action specified for field could occur at a time
Execute Cycle
Execute cycle
• The first step of the execute cycle is the ProcessMemory. Data is transferred between the CPU and the
I/O module.
• Next is the Data-Processing uses mathematical
operations as well as logical operations in reference to
data.
• Central alterations is the next step, is a sequence of
operations, for example a jump operation. The last
step is a combined operation from all the other steps.
Execute Cycle
• The actions within the execution cycle can be categorized into the
following four groups:
• CPU - Memory: Data may be transferred from memory to the CPU
or from the CPU to memory.
• CPU - I/O: Data may be transferred from an I/O module to the CPU
or from the CPU to an I/O module.
• Data Processing: The CPU may perform some arithmetic or logic
operation on data via the arithmetic-logic unit (ALU).
• Control: An instruction may specify that the sequence of operation
may be altered. For example, the program counter (PC) may be
updated with a new memory address to reflect that the next
instruction fetched, should be read from this new location.
Execution phase
• http://webfuse.cqu.edu.au/Courses/aut2001/85
349/Resources/Animations/Instruction_Execut
ion/
•
http://images.google.com/imgres?imgurl=http://www.mans.edu.eg/FacEng/arabic/dept/Comp
uter/Cources/Dig%25203/3.7.ht15.gif&imgrefurl=http://www.mans.edu.eg/FacEng/arabic/dept
/Computer/Cources/Dig%25203/3.7.html&h=492&w=451&sz=23&hl=en&start=6&um=1&usg=
__o2YD0JJfFYbim2jjET5soHu3XhA=&tbnid=av3JYxT9BQmzaM:&tbnh=130&tbnw=119&prev=
/images%3Fq%3Dmicroprogrammed%2Bcontrol%2Bintroduction%26um%3D1%26hl%3Den%2
6rls%3Dcom.microsoft:*:IE-SearchBox%26rlz%3D1I7SUNA%26sa%3DN
• http://wwww.wikipedia.com/microcode
Questions
• 1. What are two types of Control Systems?
• 2. What is the difference between hardwired and micro
programmed control systems?
• 3. What are the advantages and disadvantages of Hardwired and
Micro programmed controlled systems?
• 4. In how many actions can the execute cycle be categorized?
• 5. How are micro-Instructions Organized?
• 6. What is the role of the control Unit?
• 7. What is Micro-Instruction Sequencing?
• 8. What are the 2 main concerns of designing?
• 9. What are the 3 types of sequencing techniques?
• 10. What are the two types of address generation techniques?
Download