Beruflich Dokumente
Kultur Dokumente
Introduction to IT and CS
SOMALIA LC
DIT02512012-2013014
Mohamed Abdullahi Khalaf
INSTRUCTIONS
a) Students are required to submit all three assignment sets.
ASSIGNMENT
Assignment A
Assignment B
Assignment C
DETAILS
Five Subjective Questions
Three Subjective Questions + Case Study
45 Objective Questions
MARKS
10
10
10
b)
c)
d)
e)
Assignment A
Assignment B
Assignment C
Page | 3
INTRODUCTION TO IT AND CS
Assignment A
Q: 1).
Answer:
In computer science, register transfer language (RTL) is a kind of
intermediate representation (IR) that is very close to assembly language,
such as that which is used in a compiler. Academic papers and textbooks
also often use a form of RTL as an architecture-neutral assembly
language. RTL is also the name of a specific IR used in the GNU Compiler
Collection, and several other compilers, such as Zephyr.
The symbolic notation used to describe the micro -operation transfer
among registers is known as register transfer language. A register transfer
language is a system for expressing in symbolic form the micro-operation
sequences among the registers of digital module.
RTL is a simple, human-oriented language to specify the operations,
register communication and timing of the steps that take place within a
CPU to carry out higher level (user programmable) instructions.
Computer registers are designated by capital letters to denote the function
of registers eg. The register that holds an address for the memory unit is
usually called a memory address register and is designated by the name
MAR. Other designation for registers are PC (for programme counter), IR
(for instruction register), and R1 (for processor register). The individual flip
flops is an n-bit register are 3 numbered in sequence from zero through n1, starting from zero is the right most position and increasing the number
towards the left.
Block diagram of register
Answer:
Peripheral Devices are computer devices, such as a CD-ROM drive or
printer, that is not part of the essential computer, i.e., the memory and
microprocessor. Peripheral devices can be external - such as a mouse,
keyboard, printer, monitor, external Zip drive or scanner - or internal,
such as a CD-ROM drive, CD-R drive or internal modem. Internal
peripheral devices are often referred to as integrated peripherals.
List of peripheral devices include:
Keyboard
Mouse
Monitor
Printer
Scanner
Microphone
Speaker
CD-ROM drive
Joystick
Modem
Q: 3).
Answer:
Combinatorial Logic
DeMorgans Law
Circuit
that
implements
the
function
xy+yz
(ab)=a+b
(a+b)=ab
y
xy' + yz
z
x'y'
x'z'
yz'
Q: 4).
What is the difference between assembler, compiler and
interpreter?
Answer:
The difference between assembler, compiler and interpreter is that:
Compiler: is a program that translates English-like words of high-level
language into the machine language of a computer. A compiler reads a
given program called a Source Code and then, translates the program into
the machine language, which is called an Object Code.
The back end is responsible for translating the IR from the middle-end
into assembly code. The target instruction(s) are chosen for each IR
instruction. Register allocation assigns processor registers for the program
variables where possible. The backend utilizes the hardware by figuring
out how to keep parallel execution units busy, filling delay slots, and so
on. Although most algorithms for optimization are in NP, heuristic
techniques are well-developed.
Interpreter: is a program that translates the English-like statements of a
high-level language into the machine language of a computer. It translates
high-level instructions into an intermediate form, which it then executes.
An interpreter translates one statement at a time from a source code to an
object code.
Interpretation does not replace compilation completely. It only hides it
from the user and makes it gradual. Even though an interpreter can itself
be interpreted, a directly executed program is needed somewhere at the
bottom of the stack (see machine language). Modern trends toward justin-time compilation and bytecode interpretation at times blur the
traditional categorizations of compilers and interpreters.
Other languages have features that are very easy to implement in an
interpreter, but make writing a compiler much harder; for example, APL,
SNOBOL4, and many scripting languages allow programs to construct
arbitrary source code at runtime with regular string operations, and then
execute that code by passing it to a special evaluation function.
Assembler: Assembler is a program that translates programs from
assembly language to machine language is called as Assembler.
An assembly language is a low-level programming language for
computers, microprocessors, microcontrollers, and other programmable
devices. It implements a symbolic representation of the machine codes
and other constants needed to program a given CPU architecture. This
representation is usually defined by the hardware manufacturer, and is
based on mnemonics.
Q: 5).
Answer:
A programming language is used by a human programmer to direct a
computer to accomplish a specific set of steps which
lead to a desired outcome.
The figure at right illustrates several key points
design
about programming languages. First, programming
languages are built upon and relate directly to the
underlying computer (hardware). In fact, they are
Page | 7
Machine Languages
Assembly Languages and
High-level Languages
Page | 8
Page | 9
Assignment B
Q: 1).
Answer:
The memory unit is an essential components in any digital computer since
it is needed for strong progress and data.
The hierarchical arrangement of storage in current computer architectures
is called the memory hierarchy. It is designed to take advantage of
memory locality in computer programs. Each level of the hierarchy is of
higher speed and lower latency, and is of smaller size, than lower levels.
Most modern CPUs are so fast that for most program workloads the
locality of reference of memory accesses, and the efficiency of the caching
and memory transfer between different levels of the hierarchy, is the
practical limitation on processing speed. As a result, the CPU spends
much of its time idling, waiting for memory I/O to complete.
The memory hierarchy in most computers is as follows:
Processor registers fastest possible access (usually 1 CPU cycle), only
hundreds of bytes in size
Level 1 (L1) cache often accessed in just a few cycles, usually tens of
kilobytes .
Level 2 (L2) cache higher latency than L1 by 2 to 10, often 512KB or
more .
Level 3 (L3) cache (optional) higher latency than L2, often multiple MB's
Main memory (DRAM) may take hundreds of cycles, but can be multiple
gigabytes .
Disk storage hundreds of thousands of cycles latency, but very large.
The term memory hierarchy is used in computer architecture when
discussing performance issues in computer architectural design,
algorithm predictions, and the lower level programming constructs such
as involving locality of reference. A 'memory hierarchy' in computer
storage distinguishes each level in the 'hierarchy' by response time. Since
response time, complexity, and capacity are related, the levels may also be
distinguished by the controlling technology.
Page | 10
The many trade-offs in designing for high performance will include the
structure of the memory hierarchy, i.e. the size and technology of each
component. So the various components can be viewed as forming a
hierarchy of memories (m 1,m2,...,mn) in which each member mi is in a
sense subordinate to the next highest member m i-1 of the hierarchy. To
limit waiting by higher levels, a lower level will respond by filling a buffer
and then signaling to activate the transfer.
There are four major storage levels.
1.
2.
3.
4.
Page | 11
A very high speed memory is called cache memory used to increase the
speed of processing by making current programs and data available to
the CPU at rapid rate. The cache memory is employed in the system to
compensates the speed differential between main memory access time
and processor logic.
Q: 2).
Answer:
Parallel processing is a term used to denote a large class of techniques
that are used to provide simultaneous data processing tasks for the
purpose of increasing the computational speed of computer. The purpose
of parallel processing is to speed up the computer processing capability
and increased its throughput that is, the amount of processing can be
accomplished during a interval of time the amount of hardware increases
with parallel processing and with it the cost of system increases.
Processor with multiple functional units 8.1
Page | 12
Page | 13
the instructions and determine how the instructions and determine how
the instruction is to be executed. Scalar and program control instructions
Page | 14
are directly executed within the master control units. Vector instructions
are broad cast to all PEs simultaneously. Each PE uses operand stored in
its local memory. Vector operands distributed to the local memories prior
to parallel execution of the instruction.
Page | 15
Assignment C
(Multiple Choice Question)
Q: 1).
a)
b)
c)
d)
Q: 2).
a)
b)
c)
d)
Q: 3).
a)
b)
c)
d)
Q: 4).
a)
b)
c)
d)
Q: 5).
earned the semiofficial title of "inventor of the
modern computer"
a)
b)
c)
d)
Q: 6).
a)
b)
c)
d)
Blaise Pascal
Charles Babbage
Konrad Zuse ()
John Atanasoff
MARK series of computers was designed by
Konrad Zuse
John Atanasoff
Howard Aiken ()
Blaise Pascal
Page | 16
Q: 7).
The computers of
tubes with transistors.
a)
b)
c)
d)
Q: 8).
1st
2nd ()
3rd
4th
EDVAC stand for
Digital computer ()
Analog Computer
Hybrid Computer
Super Computer
2
10 ()
8
16
In a positional notation system, the number base is called
.
radix ()
radius
remix
base value
unsigned ()
Signed
Positive
Negitave
The binary number system is
numbering system.
positional notation ()
non-positional notation
signed
unsigned
Convert 3710 to binary
100100
100101 ()
101101
100110
B5
5B ()
4B
B6
primary storage ()
auxiliary storage
secondary storage
permanent storage
Examples of storage media are all of the following except
.
floppy disks
expansion cards ()
compact disks
tape
Page | 18
Q: 19). A
, is a narrow recording band that forms a
full circle on the surface of a disk.
a)
b)
c)
d)
track ()
cluster
shutter
sector
backups
clusters
shutters
sectors ()
Control Unit
ALU
Registers ()
RAM
Mores Law
CPUs Law
Moores Law ()
Transistors Law
RISC stands for
Page | 19
Q: 25).
a)
b)
c)
d)
Q: 26).
is most commonly used to store system-level
programs that we want to have available to the computer at all
times.
a) ROM ()
b) RAM
c)
Hard Disk
d) CD
Q: 27). The purpose of
is to act as a buffer between
the very limited, very high-speed CPU registers and the relatively
slower and much larger main system memory.
a)
b)
c)
d)
Q: 28).
a)
b)
c)
d)
cache memory ()
RAM
Virtual memory
ROM
When data are found in the cache, it is called a
Cache miss
Cache found
Cache hit ()
Cache data
virtual memory ()
cache memory
primary memory
secondary memory
is not an input device.
MICR
OMR
Touch Screen
Plotter ()
Page | 20
Q: 31).
a)
b)
c)
d)
Q: 32).
a)
Track ball
b) Track pad
c)
integrated pointing device
d) Game pad ()
Q: 33).
is a device that can read text or illustrations
and translate the information into a form the computer can use.
a)
b)
c)
d)
Q: 34).
a)
b)
c)
d)
Printer
Plotter
Scanner ()
Reader
MICR stands for
Q: 35).
a)
b)
c)
d)
Q: 36).
a)
b)
c)
d)
language.
1st
2nd
3rd ()
4th
Page | 21
Q: 37).
a)
Compiler ()
b) Interpreter
c)
Translator
d) Converter
Q: 38).
is a software program that enables the
computer hardware to communicate and operate with the
computer software.
a)
b)
c)
d)
Application Software
Translators
Languages
Operating System ()
Multiuser OS
Multiprocessing
Multitasking ()
Multithreading
A
is a language that provides little or no
Page | 22