0% found this document useful (0 votes)
12 views

Session5-Processor Design Metrics-Introduction

This document discusses key metrics for processor design including performance, cost, and power consumption. It defines design as converting system functionality into a physical implementation while satisfying constraints. Common constraints include generic rules, circuit-specific requirements, and normal design stages. Design involves optimizing some metrics while maintaining functionality. Analysis problems have single answers while design problems require analyzing trade-offs between competing constraints to find acceptable solutions. Common design metrics are non-recurring engineering costs, unit costs, size, performance, and power consumption.

Uploaded by

Hillary Murunga
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Session5-Processor Design Metrics-Introduction

This document discusses key metrics for processor design including performance, cost, and power consumption. It defines design as converting system functionality into a physical implementation while satisfying constraints. Common constraints include generic rules, circuit-specific requirements, and normal design stages. Design involves optimizing some metrics while maintaining functionality. Analysis problems have single answers while design problems require analyzing trade-offs between competing constraints to find acceptable solutions. Common design metrics are non-recurring engineering costs, unit costs, size, performance, and power consumption.

Uploaded by

Hillary Murunga
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

1

Processor Design Metrics

THINGS TO LOOK FOR…

• The meanings of “Design” and “Designing under Constraints”


• The meaning of design constraints.
• Designing for Performance: What is performance? Can we measure it?
Which constraints do we consider while designing for performance?
• Why performance analysis and optimization is important in digi-
tal/embedded systems.
• Designing for Cost: Which constraints must we consider while designing
in order to minimize the cost? How can these constraints affect the final
cost?
• Designing for Power Consumption: Is it possible to reduce the power
consumption?

1.1 Introduction

Design is the task of defining a system’s functionality and converting that


functionality into a physical implementation, while satisfying certain con-
strained design metrics and optimizing other design metrics. The functionality
of modern microelectronics and embedded systems is becoming more and
more complex. Getting such complex functionality right is a difficult task
because of the huge variety of possible environment scenarios that must be
responded to properly. Not only is getting the correct functionality difficult,
but also creating a physical implementation that satisfies all constraints is
difficult as there are so many competing, tightly constrained metrics.
The designer, while converting requirements into a workable implementa-
tion passes through many phases, each with its own constraints. The constraints

1
2 Processor Design Metrics

may be grouped as followed:

• Generic constraints or rules: These constraints are normally known to


the designer before starting the design; they are not flexible and must be
fulfilled. For example for some particular kind of objects the designer may
have no option but to using NAND, NOR and NOT gates to implement
his design. Any complex component in his design must be converted
to these three gates. Another generic rule may be that the system under
design should use two-level logic (i.e. binary numbers); multi-valued or
continuous logic not being allowed.
• Constraints directly related to the circuit under design: These types
of constraints are important if the unit under design will be a part in an
existing system or will be located at a certain place, etc. In the first case
the customer may require the designer to use a specific operating system
or certain types of components. The second situation may put constraints
on the design as to the size of the final product, the location of power and
ground paths, etc.
• Normal design constraints: These are the constraints that occur while
the design is in progress. The design process, as shown in Chapter 2,
consists of number of stages each with its own constraints. As the design
process proceeds through the different stages, the designer has to consider
more and more constraints and has to implement some of these constraints
by selecting one out of many available options. The good designer leaves
sufficient options to select out of them at the last stages of the design.
Without doing that the designer will find great difficulties in designing
the last stages.

While trying to satisfy some constraints, the designers may face difficul-
ties from constraints that require trade-offs. Such constraints compete with
each other; improving one leads to worsening the other. It is difficult to find
optimum solution for such competing constraints. The best example of such
trade-offs is between performance, size and power constraints. It is impossible
to simultaneously design for high performance, low power consumption and
small size. These three constraints cannot be optimised simultaneously; reduc-
ing the size causes performance to suffer; improving performance increases
power dissipation. The designer must find schemes that help to satisfy some
metrics without degrading others. Design may thus be said to be a matter of
optimising constraints while maintaining full system functionality (the system
requirements and specifications).
1.1 Introduction 3

It is expected then that more than one design can fulfill the required func-
tionality. The real challenge facing any designer is not merely to design for
functionality but to find the implementation that can simultaneously optimises
a large number of design metrics.
During the development phases of a design, many challenges arise that
require a large number of decisions arise. Some of these decisions require
knowledge of the most suitable way of approaching the solution; others require
knowledge of the available IC technologies in the market and so on. Out of
the many decisions, there are three fundamental decisions that have a direct
effect on the way of optimising the design metrics. These decisions are related
to the technologies the designer will use while developing the system. These
technologies are:
• Design technology: Which design flow and which top-down model can
we use to speed up the design process?
• Processor technology: Which processor technology (software, hard-
ware, combination between hardware and software, etc.) can we applying
in order to implement each functional block?
• IC technology: Which type of IC technology (VLSI, PLD, FPGA, etc)
is suitable to implement the chosen processor?
The selection of the proper technology at each stage determines the effi-
ciency with which the design can be converted from concept to architecture,
to logic and memory, to circuit, and ultimately to physical layout.

Analysis versus Design


The best way to understand the effect of metrics and constraints on design
is to understand the difference between analysis and design. In school, we
mostly faced analysis problems. Consider for example the following problem.
If a can of beans costs $1.00, a loaf of bread costs $1.50, a litre of milk costs
$1.00, and a kilogram of meat costs $5.00, calculate how much money Ms.
Smith will spend to buy four cans of beans, a loaf of bread, a litre of milk and
two kilograms of meat?
This is what is termed an analysis problem. A teacher is giving it to a child
to test his ability to use multiplication and addition. It has a single answer.
This example can be converted into a design problem. In this case the
problem will read as follows: Ms Smith invited four guests. She wants to
spend only $20.00 in buying food for them. The ingredient for meal must
contain beans, milk, bread and meat. It is required from Ms Smith to construct
an appropriate shopping list using a given price list for different items of food.
4 Processor Design Metrics

The goal (the function) in this example is to purchase groceries that cost
$20.00. The constraints are:
• There is enough to serve four people, and
• The meal must include items from the four basic groups.
This is not a single answer problem; it has many answers depending on
the price of the individual items, the appetites of the visitors etc. In real-life
everyone faces such design problems; they are in fact more common than
analysis problems. To solve this design problem we must use analysis. We
need to use multiplication and addition as tools to get possible answers to the
design problem. Solving a design problem needs an ability to analyse and takes
place normally by trial-and-error, until an acceptable solution is achieved.

1.2 Common Design Metrics


The following discussion assumes that the system implementation
combines hardware and software components. The hardware may be
microprocessor-based, microcontroller-based or by means of specialised
hardware. A design metric is a measurable feature of a system’s implemen-
tation. The design constraints represent the non-functional requirements that
are placed on the system. The IEEE standard 83–1993 lists the following
non-functional requirements:
• Performance requirements
• Interface requirements
• Operational requirements
• Resource requirements
• Verification requirements
• Acceptance requirements
• Documentation requirements
• Security requirements
• Quality requirements
• Portability requirements
• Reliability requirements
• Maintainability requirements
• Safety requirements
It is possible to add the following requirements:
• Legal requirements
• Interoperability requirements
1.2 Common Design Metrics 5

The most common constraints that cover these requirements are:


– NRE (Non Recurring Engineering) cost: This is a one-time mon-
etary cost for designing the system. Once the system is designed,
any number of units can be manufactured without incurring any ad-
ditional design cost; hence the term nonrecurring. When designing
in VLSI, the term “first silicon cost” is normally used as alternative
to NRE cost.
– Unit cost: The monetary cost of manufacturing each copy of the
system, excluding NRE cost.
– Size: The physical space required by the system, often measured in
bytes for software, and gates or transistors for hardware.
– Performance: The execution time of the system or the processing
power. It is usually taken to mean the time required to complete a
task (latency or response time), or as the number of tasks that can
be processed per unit time (throughput). Factors which influence
throughput and latency include the clock speed, the word length, the
number of general purpose registers, the instruction variety, mem-
ory speed, programming language and the availability of suitable
peripherals.
– Power: This is the amount of power consumed by the system. It has
a direct effect on the lifetime of a battery. It determines the cooling
requirements of the IC; more power means more heat and hence
the need for more cooling. Other effects are:
1. Heat generation is the major factor that limits the performance
of a system. More computation power and more speed mean
more power consumption. One of the main concerns of any
designer of a new processor is to keep it cool.
2. Where physical size of the end product is a primary design
constraint, the designer will in most cases end up designing a
product that results in crowding of components into a small
space. In such applications, reducing the power usage of the
components will be a primary target. Such applications are
very sensitive to heat problems.
3. Having hundreds of millions of computers in use world-
wide and sometimes, when thousands of them are located
in the same enterprise, the power consumption and energy
conservation becomes a serious issue.
4. The consumed power by a device affects the overall system
reliability and many other design metrics.
6 Processor Design Metrics

– Flexibility: This is the ability to change the functionality of the


system without incurring a high NRE cost. Software is typically
considered to be very flexible. Many digital systems are created not
just to solve a single problem but rather, to provide a device that can
be used in a variety of applications to achieve a reasonable solution.
– Time-to-prototype: This is the time needed to build a working
version of the system which may be bigger or more expensive than
the final goal but can be used to verify the system’s usefulness and
correctness and to refine its functionality.
– Time-to-market: This is the time required to develop a system to
the point where it can be released and sold to customers. The main
contributors are design time, manufacturing time and testing time.
– Reliability: Reliability is the probability that a machine or product
can perform continuously, without failure, for a specified interval
of time when operating under standard conditions. Increased relia-
bility implies less failure and consequently less downtime and lost
production.
– Availability: Availability refers to the probability that a system
will be operative (up). Sometimes it indicates the possibility of
sourcing the same product from more than one manufacturer. This
meaning came from the fact that many devices are made by more
than one manufacturer. It is preferable to call such type of avail-
ability “Second source suppliers.” Availability of “second source
suppliers” is important where the system designer needs to consider
the reliability and longevity of supply.
– Serviceability: Refers to how easily the system is repaired. This
metric is sometimes linked to “Manufacturer’s support” which cov-
ers the provision of a range of services from the development
system and its associated software through the documentation,
maintenance of the development system and providing answers to
technical queries.
– Maintainability: The ability to modify the system after its initial
release, especially by designers who did not originally design the
system. It is also the ease with which a software system or com-
ponent can be modified to correct faults, improve performance, or
other attributes, or adapt to a changed environment
– Design adequacy: It is the probability that a system will success-
fully accomplish its mission given that the system is operating
within its design specifications throughout the mission.
1.2 Common Design Metrics 7

– Range of complementary hardware: For some applications the


existence of a good range of compatible ICs to support the
microcontroller/microprocessor may be important.
– Special environmental constraints: The existence of special re-
quirements, such as military specifications or minimum physical
size and weight, may well be overriding factors for certain tasks. In
such cases the decision is often an easy one.
– Ease of use: This will affect the time required to develop, to im-
plement, to test it, and to start using the system. These three factors
- design time, manufacturing time and testing time are the main
factors defining the time-to-market merit which is very important if
the system is designed for commercial use. In commercial applica-
tions, as mentioned before, entering the market in time means the
full use of the market windows that are available for the product and
this will guarantee the profitability. This is a very important factor
because the time-to-market factor defines the profitability.
– Software Support: Newer, faster processors enable the use of the
latest software. In addition, new processors enable the use of spe-
cialized software not usable on earlier machines. Easier language
means shorter time to learn and better maintainability
– Correctness: Confidence that the functionality of the system
has been implemented correctly. We can check the functionality
throughout the process of designing the system, and we can insert
test circuitry to check whether the manufacturing was correct.
– Safety: The probability that the system will not cause harm.
As mentioned before, the metrics typically compete with one another;
improving one often leads to worsening another. For example, if we improve
the performance, the power consumption will increase. Figure 1.1 is a graph-
ical representation of the trade-off between metrics. To face such challenges
and achieve the optimum solution, the designer requires a wide background
and expertise in the different technologies available. This knowledge must
cover both hardware and software technologies.
The above design metrics can be divided into five broad groups based on
the design phenomena that they measure. The five proposed groups are:
1. Performance Metrics: The metrics of this group deal with the speed of
the system and how long it takes to execute the desired application.
2. Cost Metrics: The metrics of this group measure the product cost, the
unit cost and the price of the product. NRE cost, Time-to-prototype,
8 Processor Design Metrics

Power

Performance Size

NRE cost

Figure 1.1 Design metric competition — improving one may worsen others.

Time-to-market and Ease of use are some of the metrics that affect the cost
and price. Sometimes, a cost-performance metric may be more important
than cost and performance separately.
3. Power Consumption Metrics: Metrics of this group measure the power
consumption of the system. These metrics are gaining importance in
many fields as battery powered mobile systems become prevalent and
energy conservation becomes more significant.
4. System Effectiveness Metrics: In many applications such as military
applications, how effective the system is in implementing its target is
more important than cost. Reliability, Maintainability, Serviceability,
design adequacy and flexibility are related to the metrics of this group.
5. Others: These are metrics that include those that may guide the designer
to select from many off-the-shelf components that can do the job. Ease
of use, software support, safety and the availability of second source
suppliers are some of the metrics of this group.

1.3 Performance Design Metrics

Performance of a system is a measure of how long a system takes to execute


a desired application. For example, in terms of performance, a computer user
cares about how long a digital computer takes to execute a programme. For
the user the computer is faster when the execution of his programme takes less
time. For the IT manager, a computer is faster when it completes more tasks
within a unit time. For the manager as well as for the user, the clock frequency
of the computer (instructions per second) is not the key issue; the architecture

You might also like