Computer Organization + DIGITAL DESIGN

Similar documents
Chapter 1 Welcome Aboard

Introduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013

COURSE DESCRIPTION. CS 232 Course Title Computer Organization. Course Coordinators

Chapter 1 Welcome Aboard

CS 101, Mock Computer Architecture

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

x86 Architectures; Assembly Language Basics of Assembly language for the x86 and x86_64 architectures

EE 3170 Microcontroller Applications

Computer Architecture

CMPSCI 201: Architecture and Assembly Language

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Fundamentals of Computer Design

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Computer Systems Architecture

Computer Architecture Dr. Charles Kim Howard University

CS270 Computer Organization Fall 2017

Level 2: The Hardware World Chapters 4 and 5 (topics of other cs courses)

Introduction. CSCI 4850/5850 High-Performance Computing Spring 2018

Computer Architecture Today (I)

Handouts. (CSC-3501) Lecture 1 (15 Jan 2008) Seung-Jong Park (Jay) Class information. Schedule (check online frequently)

Chapter 2 Data Manipulation

Advance CPU Design. MMX technology. Computer Architectures. Tien-Fu Chen. National Chung Cheng Univ. ! Basic concepts

Outline Marquette University

MICROCONTROLLERS 8051

Alternate definition: Instruction Set Architecture (ISA) What is Computer Architecture? Computer Organization. Computer structure: Von Neumann model

Overview of Computer Organization. Chapter 1 S. Dandamudi

CC312: Computer Organization

CIT 668: System Architecture

Chapter 2: Data Manipulation

What is Computer Architecture?

Computer Architecture Dr. Charles Kim Howard University

Overview of Computer Organization. Outline

Chapter 2: Data Manipulation

Chapter 5: Computer Systems Organization. Invitation to Computer Science, C++ Version, Third Edition

Chapter 5: Computer Systems Organization

Computer Architecture

Segment 1A. Introduction to Microcomputer and Microprocessor

A Review of Chapter 5 and. CSc 2010 Spring 2012 Instructor: Qian Hu

Computer Organization and Programming

Computer Architecture and Data Manipulation. Von Neumann Architecture

Chapter 4. Chapter 4 Objectives

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

Introduction. Computer System Organization. Languages, Levels, Virtual Machines. A multilevel machine. Sarjana Magister Program

Computer Organization

Reader's Guide Outline of the Book A Roadmap For Readers and Instructors Why Study Computer Organization and Architecture Internet and Web Resources

Chapter 2: Data Manipulation

AS/A Level Computing Syllabus 2011

Chapter 1 Basic Computer Organization

Computer Systems Laboratory Sungkyunkwan University

MARIE: An Introduction to a Simple Computer

Recitation Session 6

Electricity: Voltage. Gate: A signal enters the gate at a certain voltage. The gate performs operations on it, and sends it out was a new signal.

COMP3221: Microprocessors and. and Embedded Systems. Instruction Set Architecture (ISA) What makes an ISA? #1: Memory Models. What makes an ISA?

Computer & Microprocessor Architecture HCA103

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 2: IA-32 Processor Architecture Included elements of the IA-64 bit

Computers Are Your Future

1. Fundamental Concepts

COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS

CPS 303 High Performance Computing. Wensheng Shen Department of Computational Science SUNY Brockport

EC 513 Computer Architecture

Advanced Computer Architecture

RISC Processors and Parallel Processing. Section and 3.3.6

CISC 360. Computer Architecture. Seth Morecraft Course Web Site:

Lecture 1: Introduction

2. Computer Evolution and Performance

DC57 COMPUTER ORGANIZATION JUNE 2013

Parallel Processors. The dream of computer architects since 1950s: replicate processors to add performance vs. design a faster processor

Parallel Computing Architectures

Computer Organization Question Bank

Chapter 1: General Purpose Machine

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Chapter 1: The General Purpose Machine

EECE 321: Computer Organization

5 Computer Organization

CHAPTER 1 Introduction

Memory General R0 Registers R1 R2. Input Register 1. Input Register 2. Program Counter. Instruction Register

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

Chapter 3 : Control Unit

COMPUTER SYSTEM. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U

Chapter 2: Data Manipulation. Copyright 2015 Pearson Education, Inc.

COMPUTER ARCHITECTURE

Serial. Parallel. CIT 668: System Architecture 2/14/2011. Topics. Serial and Parallel Computation. Parallel Computing

MARIE: An Introduction to a Simple Computer

THE MICROPROCESSOR Von Neumann s Architecture Model

Chapter 4. Chapter 4 Objectives. MARIE: An Introduction to a Simple Computer

Computer Organization & Assembly Language Programming. CSE 2312 Lecture 2 Introduction to Computers

LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology

CS Computer Architecture

Computer Architecture. Introduction. Lynn Choi Korea University

EE 4980 Modern Electronic Systems. Processor Advanced

Agenda EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 1: Introduction. Go over the syllabus 3/31/2010

Design of Digital Circuits Lecture 21: GPUs. Prof. Onur Mutlu ETH Zurich Spring May 2017

PC I/O. May 7, Howard Huang 1

Chapter 2 Lecture 1 Computer Systems Organization

5 Computer Organization

COMPUTER ORGANIZATION AND ARCHITECTURE

High Performance Computing

ELCT201: DIGITAL LOGIC DESIGN

Transcription:

Computer Organization + DIGITAL DESIGN SUKHENDU DAS www.cse.iitm.ac.in/~sdas in/~sdas sdas@iitm.ac.in

Computer Level Hierarchy

Program Execution Translation: The entire high level program is translated into an equivalent machine language program. Then the machine language program is executed. Interpretation: Another program reads the high level program instructions one-by-one and executes a equivalent series of machine language instructions. Program translation uses a collection of tools to perform the translation: Compiler: Translates high level language g programs into a lower level language often called object code. Assembler: Translates assembly language instructions into object code. Linker:Combines collections of object code into a single executable machine language program.

Computer System: Layers of Abstraction Application Program Algorithms Software Hardware Language Instruction Set Architecture (and I/O Interfaces) Microarchitecture Circuits Devices

From Theory to Practice In theory, computer can compute anything that s possible to compute given enough memory and time In practice, solving problems involves computing under constraints. time cost weather forecast, next frame of animation,... cell phone, automotive engine controller,... power cell phone, handheld video game,...

Transformations Between Layers How do we solve a problem using a computer? A systematic sequence of transformations between layers of abstraction. Problem Algorithm Software Design: choose algorithms and data structures Programming: use language to express design Program Instr Set Architecture Compiling/Interpreting: convert language to machine instructions

Deeper and Deeper Instr Set Architecture Microarch Circuits Devices Processor Design: choose structures to implement ISA Logic/Circuit Design: gates and low-level level circuits to implement components Process Engineering & Fabrication: develop and manufacture lowest-level l l components

Descriptions of Each Level Problem Statement stated using "natural language" g may be ambiguous, imprecise Algorithm step-by-step procedure, guaranteed to finish definiteness, effective computability, finiteness Program express the algorithm using a computer language high-level language, low-level language Instruction Set Architecture (ISA) specifies the set of instructions the computer can perform data types, addressing mode

Descriptions of Each Level (cont.) Microarchitecture detailed organization of a processor implementation different implementations of a single ISA Logic Circuits combine basic operations to realize microarchitecture many different ways to implement a single function (e.g., addition) Devices properties of materials, manufacturability

Structure and Function of a COMPUTER SYSTEM: A computer is a complex system; For analysis, understanding and design - Identify the hierarchical nature of most complex system. A hierarchical system is a set of interrelated subsystems, each in turn, hierarchical in structure; until at the lowest level l we have elementary subsystems. The hierarchical nature of complex systems is essential to both their design and their description. The designer need only deal with a particular level of the system at a time. At each level the system consists of a set of At each level, the system consists of a set of components and their interrelationships.

The behavior at each level depends only on a simplified, abstracted characterization of the system at the next lower level. At each level, the designer is concerned with structure and function: Structure: The way in which the components are interrelated. t F ti Th ti f h i di id l Function: The operation of each individual component as part of the structure.

The von Neumann Model The invention of stored program computers has been ascribed to a mathematician, John von Neumann, who was a contemporary of Mauchley and Eckert. Stored-program computers have become known as von Neumann Architecture systems.

The von Neumann Model Today s stored-program computers have the following characteristics: Three hardware systems: A central processing unit (CPU) A main memory system An I/O system The capacity to carry out sequential instruction processing. A single data path between the CPU and main memory. This single path is known as the von Neumann bottleneck.

IAS (Princeton) computer model by Von Neumann s group.

IAS computer consists of: -A main memory, which stores both data and instructions. -An arithmetic-logical unit (ALU) capable of operating on binary data. - A control unit, which interprets the instructions in memory and causes them to be executed. - Input and output (I/O) equipment operated by the control unit.

CPU Organization The data path of a typical Von Neumann machine.

The von Neumann Model This is a general depiction of a von Neumann system: These computers employ a fetchdecode-execute cycle to run programs as follows...

Central Processing Unit (CPU) based CO The organization of a simple computer with one CPU and two I/O devices

There are four main functions of a computer: Data processing Data storage Data movement Control MAIN STRUCTURAL BLOCKS/PARTS: Central Processing Unit (CPU): Controls the operation of the computer and performs its data processing functions. Often simply referred to as processor. Main Memory: Stores data. I/O: Moves data between the computer and its external environment. System Interconnection: e.g. BUS for communication among CPU, main memory, and I/O.

The major structural components of a CPU are: Control Unit (CU): Controls the operation of the CPU and hence the computer. Arithmetic and Logic Unit (ALU): Performs computer s data processing functions. Register: Provides storage internal to the CPU. CPU Interconnection: communication among the control unit, ALU, and register.

Structure re - Top Levelel Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output

Structure re - The CPU I/O Computer System Bus Memory CPU Registers Internal CPU Interconnection Arithmetic and Logic Unit Control Unit CPU

Structure re - The Control Unit ALU CPU Internal Bus Registers s Control Unit Sequencing Logic Control Unit Registers and Decoders Of CU Control Memory

Computer Architecture Logical aspects of system implementation as seen by the programmer; such as, instruction sets (ISA) and formats, opcode, data types, addressing modes and I/O. Instruction set architecture (ISA) is different from microarchitecture, which consist of various processor design techniques used to implement the instruction set. Computers with different microarchitectures can share a common instruction set. For example, the Intel Pentium and the AMD Athlon implement nearly identical versions of the x86 instruction set, but have radically different internal designs.

Computer architecture comes before computer organization. Computer organization (CO) is how operational attributes are linked together and contribute to realise the architectural specifications. CO encompasses all physical aspects of computer systems e.g. Circuit design, control signals, memory types.

Instruction Set Architecture (ISA) - The Hardware-Software Interface The most important abstraction of computer design Application Application Programs Operating System Software Compiler Instruction Set Architecture Processor I/O System Interface between SW & HW Logic - gates, state machines, etc. Circuit - transistors, etc. Hardware Layout - mask patterns, etc.

Important Building Blocks Microprocessor Memory Mass Storage (Disk) Network Interface

Typical Motherboard (Pentium III) Power Conn. Floppy Conn. S. Bridge IDE Disk Conn. BIOS ROM Memory Processor AGP PCI Cards N. Bridge Rear Panel Conn. AGP - Accelerated Graphics Port; PCI - Peripheral Component Interconnect; IDE Integrated Drive Electronics; BIOS - Basic input/output system

Typical I/O Device Data Rates

From first to fifth/sixth generation systems, the following factors were also taken into consideration, to improve the performance. - Reduced Power dissipation - Reduced Space Area - More increase in Speed and Registers (GPRs) for operation - More memory size - Use of Cache - Set of cores on CPU - pipelining and special MMX hardware. -

Key terminologies: Microcontroller CPU design Hardware description language Von-Neumann architecture Multi-core (computing) Datapath Dataflow architecture Stream processing Instruction-level parallelism (ILP) Vector processor Control Path ALU, FPU, GPU etc. Pipelining Cache Superscalar Out-of-order execution Register renaming multi-threading RISC, CISC Addressing Modes Instruction set

SIMD, MIMD Flynn s taxonomy MMX instructions

Boolean Algebra

Introduction Basic mathematics needed for the study of logic design of digital systems All switching devices are two state devices, hence two-valued Boolean Algebra is called as switching algebra If X is a boolean (switching) variable then either X=0 or X=1 Symbol 0, corresponds to a low voltage Sy o 0, co espo ds o a o o age Symbol 1, corresponds to a high voltage

Basic Operations AND OR Complement (Inverse) Complement Inverter 0 or 0 1 or 1 1 0 X 1, if X 0 X 0, if X 1 X X

AND A B C A B C C A B 0 0 0 0 1 0 1 0 0 1 1 1 OR A B C A B + C 0 0 0 0 1 1 C A B 1 0 1 1 1 1

Application of switching algebra to network with switches Switch X X=0 switch open X=1 switch closed Two switches in series 1 A B 2 T A B Two switches in parallel A 1 B 2 T A B

Boolean Expressions and Truth tables Boolean expressions are formed by application of the basic operations to one or more variables or constants Simplest form 0, X or Y Example: AB C A AB B + AB C C Each appearance of a variable or its complement in an expression will be referred to as a literal a bc ab abc bc has 6+4=10 literals Each literal corresponds to a gate input

Truth table Table of combinations Specifies the values of a Boolean expression for every possible combination of values of the variables in the expression Truth table F A B A B Ᾱ F= Ᾱ+B A B + Ᾱ+B 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1

A AB CDE ACE SOP form B C D E + A C E A B + C D E A C E + + A B C D E A C E POS Form

END of INTRO to Hardware For calculations on binary arithmetic and CPU Design - wait for next set of courses