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?