Microprogrammed Control Unit
Duration: 7 min
This video lesson is available to enrolled students.
AI Summary
An AI-generated summary of this video lecture.
This educational video provides a comprehensive lecture on Micro-Programmed Control Units, beginning with their historical introduction by Maurice Wilkes in 1951. The instructor explains that microprogramming serves as an intermediate level to execute computer program instructions, organizing outputs as sequences of microinstructions stored in special control memory. The lecture then transitions to a detailed comparison of Horizontal and Vertical micro-programming. Horizontal micro-programming is described as offering a higher degree of parallelism suitable for multi-processor systems, utilizing a control word where each bit directly corresponds to a control signal. Conversely, Vertical micro-programming is presented as a method that reduces control word size through encoding, though it limits parallelism to a maximum of one due to the decoder mechanism. The session concludes by noting that combinational units combining these approaches are preferred in most applications.
Chapters
0:00 – 2:00 00:00-02:00
The lecture begins with a slide titled 'Micro-Programmed Control Unit'. The instructor introduces the concept, highlighting that the idea was introduced by Maurice Wilkes in 1951 as an intermediate level to execute computer program instructions. He underlines key phrases on the slide, including 'Maurice Wilkes', '1951', 'intermediate level', and 'microinstructions'. The text explains that microprograms are organized as a sequence of microinstructions stored in special control memory. The instructor emphasizes the main advantage: the simplicity of the structure, noting that outputs are organized in microinstructions and can be easily replaced. He further explains that binary patterns of control signals are stored in control memory, and hardware is used to generate the control signals after accessing a word from the memory.
2:00 – 5:00 02:00-05:00
The topic shifts to 'Horizontal micro-Program'. The slide states that horizontal micro-programming provides a higher degree of parallelism and is suitable for multi-processor systems. A critical point highlighted is that it requires more bits for the control word, specifically '1 bit for every control signal'. The instructor draws a diagram illustrating this architecture. He sketches a control memory grid where rows represent microinstructions. He shows a Control Data Register (CDR) holding the control word, which is then fed into logic gates (AND gates) to generate specific control signals like ALU operations, register transfers, and memory control. The diagram visually demonstrates the direct mapping where a single '1' in the control word activates a specific hardware component without decoding.
5:00 – 7:08 05:00-07:08
The lecture moves to 'Vertical Micro-program'. The slide explains that this method reduces the size of control words by encoding control signal patterns before storage. It offers more flexibility than horizontal micro-programming but has a maximum degree of parallelism of 1 due to the decoder. The instructor draws a diagram showing a 3x8 decoder. He illustrates how a 3-bit encoded input (e.g., 001, 010) selects one of the 8 output lines, which then activates a specific control signal. This contrasts with the horizontal approach. Finally, a 'Conclusion' slide appears, stating that the combinational Horizontal micro-Program and Vertical Micro-program controlled unit is preferred in most applications. The instructor underlines 'Horizontal micro-Program', 'Vertical Micro-program', and 'most application' to reinforce the final takeaway.
The video systematically builds an understanding of control unit design, starting from the foundational concept of microprogramming introduced in 1951. It effectively contrasts two primary implementation strategies: Horizontal and Vertical micro-programming. The horizontal approach prioritizes speed and parallelism by dedicating bits directly to signals, resulting in wider control words. In contrast, the vertical approach prioritizes compactness by encoding signals, which necessitates decoding and limits parallel execution. The synthesis of these concepts leads to the conclusion that modern systems often utilize a combinational approach, leveraging the benefits of both methods to optimize performance and flexibility in computer architecture.