Computer Architecture and Organization: Miles Murdocca and Vincent Heuring
Computer Architecture and Organization: Miles Murdocca and Vincent Heuring
Chapter 5 – Datapath
and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-2 Chapter 5 - Datapath and Control
Chapter Contents
5.1 Basics of the Microarchitecture
5.2 The Datapath
5.3 The Control Section – Microprogrammed
5.4 The Control Section – Hardwired
5.5 Case Study: The VHDL Hardware Description Language
5.6 Case Study: What Happens when a Computer Boots Up?
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-3 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-4 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-5 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-6 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-7 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-8 Chapter 5 - Datapath and Control
ARC
Datapath
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-9 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-10 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-11 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-12 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-13 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-14 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-15 Chapter 5 - Datapath and Control
Microarch-
itecture of
the ARC
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-16 Chapter 5 - Datapath and Control
Microword Format
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-17 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-18 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-19 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-20 Chapter 5 - Datapath and Control
Partial
ARC
Micro-
program
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-21 Chapter 5 - Datapath and Control
Partial ARC
Microprogram
(cont’)
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-22 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-23 Chapter 5 - Datapath and Control
Branch Decoding
• Decoding tree for
branch instructions
shows corresponding
microprogram lines:
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-24 Chapter 5 - Datapath and Control
Assembled
ARC
Microprogram
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-25 Chapter 5 - Datapath and Control
Assembled
ARC
Microprogram
(cont’)
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-26 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-27 Chapter 5 - Datapath and Control
Branch Table
• A branch table for trap handlers and interrupt service routines:
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-28 Chapter 5 - Datapath and Control
Microprogramming vs.
Nanoprogramming
(a) Micropro-
gramming,
(b) nano-
programming.
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-29 Chapter 5 - Datapath and Control
• HDL sequence
for a resettable
modulo 4
counter.
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-30 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-31 Chapter 5 - Datapath and Control
HDL for
ARC
• HDL description of
the ARC control
unit.
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-32 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-33 Chapter 5 - Datapath and Control
HDL ARC
Circuit
• The hardwired
control section of
the ARC:
generation of the
control signals.
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-34 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-35 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-36 Chapter 5 - Datapath and Control
VHDL Specification
Interface specification for the majority component
-- Interface
entity MAJORITY is
port
(A_IN, B_IN, C_IN: in BIT
F_OUT: out BIT);
end MAJORITY;
Behavioral model for the majority component
-- Body
architecture LOGIC_SPEC of MAJORITY is
begin
-- compute the output using a Boolean expression
F_OUT <= (not A_IN and B_IN and C_IN) or
(A_IN and not B_IN and C_IN) or
(A_IN and B_IN and not C_IN) or
(A_IN and B_IN and C_IN) after 4 ns;
end LOGIC_SPEC;
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring
5-37 Chapter 5 - Datapath and Control