Download - William Stallings Computer Organization and Architecture 7 th Edition Micro-programmed Control
William Stallings Computer Organization and Architecture7th 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/Relics/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
micro-code. 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
Process-Memory. 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/85349/Resources/Animations/Instruction_Execution/
• http://images.google.com/imgres?imgurl=http://www.mans.edu.eg/FacEng/arabic/dept/Computer/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%26rls%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?