compilers class 22/7,23/7. introduction compiler: a compiler is a program that can read a program in...

Post on 29-Jan-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

COMPILERSCLASS 22/7,23/7

Introduction

• Compiler: A Compiler is a program that can read a program in one language (Source) and translate it into an equivalent program in another language (Target)

• An important role of the compiler is to report any errors in the source program that it detects during the translation process

Compiler :

Source code

Target codeCOMPILER

Reporterror

Target code : Target code is mostly an executable machine-language program. It can be called by the user to process inputs and produce outputs.

Input OutputTargetProgram

MDR

MAR

IR

PC

ID

Control Unit

Accumulator

R0R1R2

ALU

Memory

Computer Architecture

Accumulator:

• When a mathematical operation is going on, operator is temporarily stored in Accumulator

• Content of memory location and the result is saved or stored through Accumulator

MAR – Memory Address RegisterMDR – Memory Data RegisterMemory – Memory Block

Read, Write Signals: • MAR reads the data from the Memory block.• MDR writes into the Memory block.

Program Counter : Program Counter contains address of next instruction. Initially it carries address of first instruction.

Instruction Memory : All instructions are stored here.IR – Instruction RegisterID – Instruction Decoder

ALU – Arithmetic Logic Unit• All the arithmetic operations are performed in

ALU• 2 terminals to the Accumulator• 1 terminal to the RegistersControl Unit:The control unit coordinates the components of a computer system. It fetches the code of all of the instructions in the program

Example

X [P] + [Q]Instruction MemoryData Memory

P,Q – Memory Address

P Q R

Steps:1. MAR finds the Address2. Data goes to MDR (Fetch P,Q)3. P,Q stored in Accumulator to registers 4. Perform Add operation5. Result is passed back to accumulator , from

accumulator to MDR. Write action is performed and the value is stored in ‘X’

Address of P – 1000Address of Q – 2000Address of X – 2050Solution:LDA 1000MOV R0LDA 2000ADD R0STA 2050

LDA – Load Data AddressMOV – If we don’t use this instruction the value in accumulator will be over writtenSTA – Stores the value in the memory address

top related