Top Banner
CENG 311 Computer Architecture Lecture 1 Introduction to Computer Architecture Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering İzmir Institute of Technology
18

Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

May 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

CENG 311Computer Architecture

Lecture 1

Introduction to Computer Architecture

Asst. Prof. Tolga Ayav, Ph.D.

Department of Computer Engineeringİzmir Institute of Technology

Page 2: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

Computer Design

Instruction Set Design

° Machine Language

° Compiler View

° "Computer Architecture"

° "Instruction Set Processor"

"Building Architect"

Computer Hardware Design

° Machine Implementation\

° Logic Designer's View

° "Processor Architecture"

° "Computer Organization"

“Construction Engineer”

Few people design computers! Very few design instruction sets!Many people design computer components.Very many people are concerned with computer function, in detail.

İzmir Institute of Technology Computer Architecture

Page 3: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

The Big PictureWhat is inside a computer?How does it execute my program?

?

İzmir Institute of Technology Computer Architecture

Page 4: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

The Big Picture• The Five Classic Components of a Computer

İzmir Institute of Technology Computer Architecture

Page 5: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

I/O Bus

Memory Bus

Processor

Cache

MainMemory

DiskController

Disk Disk

GraphicsController

NetworkInterface

Graphics Network

interrupts

System Organization

I/O Bridge

Core Chip Set

İzmir Institute of Technology Computer Architecture

Page 6: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

What is Computer Architecture?

• Coordination of levels of abstraction

I/O systemCPU

Compiler

OperatingSystem

Application

Digital DesignCircuit Design

• Under a set of rapidly changing Forces

Instruction SetArchitecture, Memory, I/O

Firmware

Memory

Software

Hardware

Interface BetweenHW and SW

İzmir Institute of Technology Computer Architecture

Page 7: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

Levels of RepresentationHigh Level Language

Program

Assembly Language Program

Machine Language Program

Control Signal Specification

Compiler

Assembler

Machine Interpretation

temp = v[k];v[k] = v[k+1];v[k+1] = temp;

lw $15, 0($2)

lw $16, 4($2)

sw $16, 0($2)sw $15, 4($2)

0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111

32

ALUctr

Clk

busW

RegWr

32

32

busA

32busB

5 5 5

Rw Ra Rb32 32-bitRegisters

Rs

Rt

Don’t Care(Rt)

RdRegDst

Extender

Mux

Mux

3216

imm16

ALUSrc

ExtOp

Mux

MemtoReg

Clk

Data InWrEn

32

Adr

DataMemory

32

AL

U

MemWr

İzmir Institute of Technology Computer Architecture

Page 8: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

Compiler-Assembler

İzmir Institute of Technology Computer Architecture

Page 9: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

Translation hierarchy for C

İzmir Institute of Technology Computer Architecture

Page 10: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

Basic Elements

Functional Levels:•◙ Application Layer•◙ System Software•◙ Hardware Layer

İzmir Institute of Technology Computer Architecture

Page 11: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

MIPS Assembly

move $t0, $t1add $t0, $zero, $t1sll $t1, $a1, 2 (reg $t1=k*4)lw $t0=4($t1) (reg $t0=v[k+1])...

İzmir Institute of Technology Computer Architecture

Page 12: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

EPROM as a Programmable Logic Device

• ROMs are required for applications in which large amount of information needs to be stored in a nonvolatile manner. (Storage for microprocessor programs, fixed table of data, etc.) Another common application of the ROM is for the systematic realization of complex combinational circuits.

İzmir Institute of Technology Computer Architecture

Page 13: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

FPGA Design

A field-programmable gate array is a semiconductor device containing programmable logic components called "logic blocks", and programmable interconnects. Logic blocks can be programmed to perform the function of basic logic gates such as AND, and XOR, or more complex combinational functions such as decoders or simple mathematical functions. In most FPGAs, the logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory.

A classic FPGA logic block consists of a 4-input lookup table (LUT), and a flip-flop:

İzmir Institute of Technology Computer Architecture

Page 14: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

Soft Processors

A soft microprocessor (also called softcore microprocessor or a soft processor) is a microprocessor core that can be wholly implemented using logic synthesis. It can be implemented via different semiconductor devices containing programmable logic (e.g., FPGA, CPLD).

Notable soft microprocessors include:

MicroBlazeNios II

İzmir Institute of Technology Computer Architecture

Page 15: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

μPabs

İzmir Institute of Technology Computer Architecture

Page 16: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

Implementation in VHDL

İzmir Institute of Technology Computer Architecture

Page 17: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

Running the CPU

İzmir Institute of Technology Computer Architecture

Page 18: Lecture 1 Introduction to Computer Architectureweb.iyte.edu.tr/~tolgaayav/courses/ceng311/lecture1-Introduction.pdf · CENG 311 Computer Architecture Lecture 1 Introduction to Computer

Pipelining

İzmir Institute of Technology Computer Architecture