Computer Architecture: Fundamental Concepts and ISA - Lecture 2 by Prof. Onur Mutlu at CMU, Assignments of Advanced Computer Architecture

A lecture slides from Carnegie Mellon University's Computer Architecture course (18-447) taught by Prof. Onur Mutlu. The slides cover the fundamental concepts of computer architecture and the ISA (Instruction Set Architecture). The lecture also discusses the importance of understanding both hardware and software, the evolution of computer architecture, and the current trends in the field.

Typology: Assignments

2021/2022

Uploaded on 08/01/2022

fabh_99
fabh_99 🇧🇭

4.4

(53)

543 documents

1 / 57

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
18-447
Computer Architecture
Lecture 2: Fundamental Concepts and ISA
Prof. Onur Mutlu
Carnegie Mellon University
Spring 2015, 1/14/2014
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39

Partial preview of the text

Download Computer Architecture: Fundamental Concepts and ISA - Lecture 2 by Prof. Onur Mutlu at CMU and more Assignments Advanced Computer Architecture in PDF only on Docsity!

Computer Architecture

Lecture 2: Fundamental Concepts and ISA

Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 1/14/

Agenda for Today

 Finish up logistics from last lecture

 Why study computer architecture?

 Some fundamental concepts in computer architecture

 ISA

Review: Key Takeaway (from 3 Problems)

 Breaking the abstraction layers (between components and transformation hierarchy levels) and knowing what is underneath enables you to solve problems and design better future systems

 Cooperation between multiple components and layers can enable more effective solutions and systems

A Note on Hardware vs. Software

 This course is classified under “Computer Hardware”

 However, you will be much more capable if you master both hardware and software (and the interface between them)  Can develop better software if you understand the underlying hardware  Can design better hardware if you understand what software it will execute  Can design a better computing system if you understand both

 This course covers the HW/SW interface and microarchitecture  We will focus on tradeoffs and how they affect software

Computer Architecture in Levels of Transformation

 Read: Patt, “Requirements, Bottlenecks, and Good Fortune: Agents for Microprocessor Evolution,” Proceedings of the IEEE 2001.

Microarchitecture

ISA (Architecture)

Program/Language

Algorithm

Problem

Logic Circuits

Runtime System (VM, OS, MM)

Electrons

Aside: What Is An Algorithm?

 Step-by-step procedure where each step has three properties:  Definite (precisely defined)  Effectively computable (by a computer)  Terminates

What Will You Learn?

 Fundamental principles and tradeoffs in designing the hardware/software interface and major components of a modern programmable microprocessor  Focus on state-of-the-art (and some recent research and trends)  Trade-offs and how to make them

 How to design, implement, and evaluate a functional modern processor  Semester-long lab assignments  A combination of RTL implementation and higher-level simulation  Focus is functionality first (then, on “how to do even better”)

 How to dig out information, think critically and broadly

 How to work even harder and more efficiently!

Course Goals

 Goal 1: To familiarize those interested in computer system design with both fundamental operation principles and design tradeoffs of processor, memory, and platform architectures in today’s systems.  Strong emphasis on fundamentals, design tradeoffs, key current/future issues  Strong emphasis on looking backward, forward, up and down

 Goal 2: To provide the necessary background and experience to design, implement, and evaluate a modern processor by performing hands-on RTL and C-level implementation.  Strong emphasis on functionality, hands-on design & implementation, and efficiency.  Strong emphasis on making things work, realizing ideas

Why Study Computer

Architecture?

What is Computer Architecture?

 The science and art of designing, selecting, and interconnecting hardware components and designing the hardware/software interface to create a computing system that meets functional, performance, energy consumption, cost, and other specific goals.

 We will soon distinguish between the terms architecture,

and microarchitecture.

16

Number of transistors on an integrated circuit doubles ~ every two years Image source: Wikipedia

Recommended Reading

 Moore, “Cramming more components onto integrated circuits,” Electronics Magazine, 1965.

 Only 3 pages

 A quote:

“With unit cost falling as the number of components per

circuit rises, by 1975 economics may dictate squeezing as

many as 65 000 components on a single silicon chip.”

 Another quote:

“Will it be possible to remove the heat generated by tens of

thousands of components in a single silicon chip?”

Why Study Computer Architecture?

 Enable better systems: make computers faster, cheaper, smaller, more reliable, …  By exploiting advances and changes in underlying technology/circuits

 Enable new applications  Life-like 3D visualization 20 years ago?  Virtual reality?  Personalized genomics? Personalized medicine?

 Enable better solutions to problems  Software innovation is built into trends and changes in computer architecture  > 50% performance improvement per year has enabled this innovation

 Understand why computers work the way they do

Computer Architecture Today (I)

 Today is a very exciting time to study computer architecture

 Industry is in a large paradigm shift (to multi-core and beyond) – many different potential system designs possible

 Many difficult problems motivating and caused by the shift

 Power/energy constraints  multi-core?  Complexity of design  multi-core?  Difficulties in technology scaling  new technologies?  Memory wall/gap  Reliability wall/issues  Programmability wall/problem  Huge hunger for data and new data-intensive applications

 No clear, definitive answers to these problems