You are on page 1of 18

CENG 311

Computer Architecture

Lecture 1

Introduction to Computer
Architecture
Asst. Prof. Tolga Ayav, Ph.D.

Department of Computer Engineering


İzmir Institute of Technology
Computer Design
Computer Hardware Design
Instruction Set Design
° Machine Language ° Machine Implementation\
° Compiler View
° Logic Designer's View
° "Computer Architecture"
° "Instruction Set Processor" ° "Processor Architecture"

° "Computer Organization"
"Building Architect"

“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


The Big Picture
z What is inside a computer?
z How does it execute my program?

İzmir Institute of Technology Computer Architecture


The Big Picture
• The Five Classic
Components of a
Computer

İzmir Institute of Technology Computer Architecture


System Organization
Processor interrupts

Cache

Memory Bus I/O Bridge


Core Chip Set

I/O Bus
Main
Memory
Disk Graphics Network
Controller Controller Interface

Disk Disk Graphics Network

İzmir Institute of Technology Computer Architecture


What is Computer
Architecture?
• Coordination of levels of abstraction

Application
Operating
Software
System
Interface Between
Compiler Firmware HW and SW
Instruction
CPU Memory I/O system Set
Digital Design Architecture,
Memory, I/O
Circuit Design
Hardware

• Under a set of rapidly changing Forces

İzmir Institute of Technology Computer Architecture


Levels of Representation
temp = v[k];
High Level Language
Program v[k] = v[k+1];
v[k+1] = temp;
Compiler
lw $15, 0($2)
Assembly Language
Program lw $16, 4($2)
sw $16, 0($2)
Assembler
sw $15, 4($2)
Machine Language 0000 1001 1100 0110 1010 1111 0101 1000
1010 1111 0101 1000 0000 1001 1100 0110
Program 1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
Rd Rt

Machine Interpretation RegDst Mux


Rs
Don’t Care
(Rt) ALUctr
RegWr 5 5 5 MemtoReg
busA
Control Signal busW
Rw Ra Rb
32 32-bit
32

ALU
32 Registers
Specification 32

Mux
Clk busB
MemWr 32
32

Mux
WrEn Adr

Extender
Data In
imm16 32 32
Data
16 Memory
Clk
ALUSrc

ExtOp

İzmir Institute of Technology Computer Architecture


Compiler-
Assembler

İzmir Institute of Technology Computer Architecture


Translation hierarchy for C

İzmir Institute of Technology Computer Architecture


Basic Elements

Functional Levels:
•◙ Application Layer
•◙ System Software

•◙ Hardware Layer

İzmir Institute of Technology Computer Architecture


MIPS Assembly

z move $t0, $t1


z add $t0, $zero, $t1
z sll $t1, $a1, 2 (reg $t1=k*4)
z lw $t0=4($t1) (reg $t0=v[k+1])
z ...

İzmir Institute of Technology Computer Architecture


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


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


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:
MicroBlaze
Nios II

İzmir Institute of Technology Computer Architecture


μPabs

İzmir Institute of Technology Computer Architecture


Implementation in VHDL

İzmir Institute of Technology Computer Architecture


Running the CPU

İzmir Institute of Technology Computer Architecture


Pipelining

İzmir Institute of Technology Computer Architecture

You might also like