Академический Документы
Профессиональный Документы
Культура Документы
PDS: CS 11002
$
1
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
VDU
Processor
Memory
Disk etc.
Keyboard
Mouse
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
3
CPUMemory Bus
Cache Memory
Main
Memory
DMA etc.
MMU
IO Bus
CPU
IO Controller
IO Controller
IO Controller
Mouse
Disk I
Disk II
&
Lect 1
Graphics
VDU
Network
Goutam Biswas
'
PDS: CS 11002
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
Lect 1
Goutam Biswas
'
PDS: CS 11002
Fetch-Execute Cycle
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
9
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
10
Instruction Set
Controller
GPR File
FPR File
ALU
FPU
Lect 1
PC IR PSW SP etc.
Goutam Biswas
'
PDS: CS 11002
11
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
12
MyData
Data Bus
OtherProgram
CPU
MyProgram
Address Bus
CPUMemory Bus
OtherData
Main Memory
OS
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
13
Memory Location
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
14
Program Execution
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
15
Instruction Fetch
Lect 1
Goutam Biswas
'
PDS: CS 11002
16
Instruction Fetch
Lect 1
Goutam Biswas
'
PDS: CS 11002
17
MyData
IR
Instruction
CPU
PC
Instruction Address
Inst IV
Inst III
MyProgram
Inst XXXII
Inst II
Inst I
Low Memory
Address
&
Lect 1
Main memory
Goutam Biswas
'
PDS: CS 11002
$
18
Instruction Decoding
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
19
Data Fetch
address is already available in the CPU either as a part of the instruction (IR) or in some other CPU register.
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
20
Data Fetch
&
Lect 1
Goutam Biswas
'
MyData
Main memory
MyProgram
DR
DAR
Data Address
Inst XXXII
Lect 1
21
Data
CPU
&
PDS: CS 11002
Goutam Biswas
'
PDS: CS 11002
22
Data Write
Lect 1
Goutam Biswas
'
PDS: CS 11002
23
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
24
&
Lect 1
esp esp - 8
Goutam Biswas
'
PDS: CS 11002
25
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
26
Lect 1
Goutam Biswas
'
PDS: CS 11002
27
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
28
High-Level Languages
Lect 1
Goutam Biswas
'
PDS: CS 11002
29
High-Level Languages
Lect 1
Goutam Biswas
'
PDS: CS 11002
30
Translation
Lect 1
Goutam Biswas
'
PDS: CS 11002
31
}
HLL Program
&
Lect 1
Translation
Software
{
Machine Program
Goutam Biswas
'
PDS: CS 11002
$
32
HLL Prog
Mach. Prog
Data Bus
OtherProgram
CPU
Address Bus
Compiler
CPUMemory Bus
Main Memory
OS
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
33
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
34
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
35
HLL Prog
Data Bus
Editor
CPU
Address Bus
OS
int main()
{
VDU
Key
Board
&
Lect 1
Main Memory
Disk
first.c
Goutam Biswas
'
PDS: CS 11002
36
Operating System
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
37
Command Interpreter
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
38
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
39
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
40
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
41
Thin Client
Lect 1
Goutam Biswas
'
PDS: CS 11002
Thin Client
$
42
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
The Server
$
43
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
44
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
45
OS : SunOS
Programming Language : C
Compiler : gcc (cc)
Editor : emacs
Command-interpreter: bash
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
46
First C Program
#include <stdio.h>
int main()
{
printf("The First C Program\n");
return 0;
} // first.c
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
47
Lect 1
Goutam Biswas
'
PDS: CS 11002
48
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
49
Lect 1
Goutam Biswas
'
PDS: CS 11002
50
File Type
$ file first.c
first.c: ASCII C program text
$ file a.out
a.out: ELF 32-bit LSB executable,
Intel 80386, version 1 (SYSV), for
GNU/Linux 2.2.5, dynamically linked
(uses shared libs), not stripped
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
51
Note
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
52
#include <stdio.h>
#define MAX 10
int main()
{
int n;
printf("Enter the Data: ");
scanf("%d", &n);
if(n>MAX) printf("\nThe %d > %d\n", n, MAX);
else printf("\nThe %d <= %d\n", n, MAX);
return 0;
} // second.c
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
53
In the laboratory
$ bash
bash-3.00$ gcc -Wall first.c
bash-3.00$ ./a.out
The First C Program
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
$
54
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
55
// Compile as follows
//
$ /lib/cpp first.S first.s
//
$ as -o first.o first.s
//
$ ld first.o
// You may also use $ cc first.S
// but in that case change _start by main
#include <asm/unistd.h>
#include <syscall.h>
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
#define STDOUT_FILENO 1
$
56
.file "first.S"
.section
.rodata
L1:
.string "My first program\n"
L2:
.text
.globl _start
&
Lect 1
Goutam Biswas
'
PDS: CS 11002
_start:
movl
movl
movl
movl
int
&
Lect 1
movl
movl
int
ret
$
57
$(SYS_write), %eax
$(STDOUT_FILENO), %ebx
$L1, %ecx
$(L2-L1), %edx
$128
$(SYS_exit), %eax
$0, %ebx
$128
%
Goutam Biswas
'
PDS: CS 11002
$
58
Lect 1
Goutam Biswas