You are on page 1of 22

F-2,Block, Amity Campus

Sec-125, Nodia (UP)
India 201303

Subject Name
: Introduction to IT and Computer
: Somalia LC
Permanent Enrollment Number (PEN) : PGDIT01512015-2016056
Roll Number
Student Name
: Hibo Ahmed Bashir Abdullahi
a) Students are required to submit all three assignment sets.
Assignment A
Assignment B
Assignment C

Five Subjective Questions
Three Subjective Questions + Case Study
45 Objective Questions



Total weightage given to these assignments is 30%. OR 30 Marks
All assignments are to be completed as typed in word/pdf.
All questions are required to be attempted.
All the three assignments are to be completed by due dates (specified
from time to time) and need to be submitted for evaluation by Amity
f) The evaluated assignment marks will be made available within six
weeks. Thereafter, these will be destroyed at the end of each semester.
g) The students have to attached a scan signature in the form.
( √ ) Tick mark in front of the assignments submitted

Assignment ‘A’

Assignment ‘B’

Assignment ‘C’

RTL is also the name of a specific IR used in the GNU Compiler Collection.e. starting from zero is the right most position and increasing the number towards the left. such as that which is used in a compiler.. A register transfer language is a system for expressing in symbolic form the micro -operation sequences among the registers of digital module. The register that holds an address for the memory unit is usually called a memory address register and is designated by the name MAR. contents of R1 are . The symbolic notation used to describe the micro -operation transfer among registers is known as register transfer language.RTL is a simple. The individual flip flops is an n-bit register are 3 numbered in sequence from zero through n-1. register transfer language (RTL) is a kind of intermediate representation (IR) that is very close to assembly language. In computer science. human-oriented language to specify the operations. Other designation for registers are PC (for programmer counter).Introduction to IT and CS Assignment A Q1. during one clock i. 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. R2. such as Zephyr. the pulse. Academic papers and text books also often use a form of RTL as an architecture-neutral assembly language. and several other compilers. and R1 (for processor register). Explain register transfer language. • Copying the contents of one register to another is a register transfer • A register transfer is indicated as R2  R1 In this case the contents of register R2 are copied (loaded) into –register A simultaneous R1 transfer of all bits from the source R1 to the –destination Note that this register is a non-destructive. IR(for instruction register).

printer.. Combinatorial Logic Circuit that implements the function xy’+yz DeMorgan’s Law (ab)’=a’+b’ (a+b)’=a’b’ • Property for generating equivalent functions Allow conversation of AND function to an equivalent OR function and vice-yecsa It may allow the simplification of complex function that will allow a similar design It is useful in generating the complement of a function. such as a CD-ROM drive or printer. Peripheral Devices are computer devices. the memory and microprocessor.e. What are peripheral devices list them. CD-R drive or internal modem. (xy’ + yz)’ = (xy’)’(yz)’ = (x’ + y)(y’ + z’) = x’y’ + x’z’ + yy’ + yz’ (because yy’=0) => (xy’+yz)’ = x’y’ + x’z’ + yz’ . Internal peripheral devices are often referred to as integrated peripherals. monitor. Peripheral devices can be external . keyboard. List of peripheral devices include          Keyboard Mouse Monitor Printer Scanner Microphone Speaker CD-ROM drive Joystick Modem Q3. such as a CD-ROM drive.Q2. that is not part of the essential computer. external Zip drive or scanner . Describe the circuit implementation of function xy’+yz.or internal. i.such as a mouse.

It converts the that assembly level language into computer understand able level language i.What is the difference between assembler . and the backend. 2) generating correct and efficient object code. number symbol table ofrun phases manager plus and error an handler. A compiler reads a given program called a Source Code and then. The compiler has a number of phases plus symbol table manager and an error handler. Here legal and illegal programs are recognized.x y 0 0 0 0 1 1 1 1 z 0 0 1 1 0 0 1 1 x'y' 0 1 0 1 0 1 0 1 x'z' 1 1 0 0 0 0 0 0 yz' 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 x'z'+y'z' +yz' 1 1 1 0 0 0 1 0 Q4. The front end checks whether the program is correctly written in terms of the programming language syntax and semantics. Errors are reported. Type checking is also performed by collecting type an is assembly program cs to from mnemoni code of a into computer. translates the program into the machine language.3) run-time organization. high-level directly into instructions machine language. the middle-end. A compiler requires 1) determining the correctness of the syntax of programs. is Itlanguage assembly level computer language understandable binary code. When you run a program in C or high level language. if any. Input Source Program -> Lexical Analyzer -> Syntax Analyzer -> Symbol Table Manager Semantic Analyzer Error Handler -> Intermediate Code Generator -> Code Optimizer -> Code Generator -> Out Target Program Structure of a compiler Compilers bridge source programs in high-level languages with the underlying hardware. which is called an Object Code. A computer translates an assembly language program from mnemonics to the binary machine code of a computer. -> Lexical Analyzer -> Syntax Symbol Analyzer Semantic Analyzer Error Intermediate Handler Code -> -> Optimizer -> Code Target Generator Program -> Out . Compiler translates high-level instructions directly into machine language. binary machine code. It is used when we write a program in assembly level language and execution is performed. in a useful way. Eg. compiler and interpreter? Compiler: is a program that translates English-like words of highlevel language into the machine language of a computer. generally than interpreted faster programs. it is done through compiler to convert them automatically into the machine level language.e. Compiled programs generally run faster than interpreted programs. and 4) formatting output according to assembler and/or linker conventions A compiler consists of three main parts: the frontend. It write used amachine when we level language and execution performed.

Register allocation assigns processor registers for the program variables where possible. Most optimization efforts are focused on this part The back end is responsible for translating the IR from the middle-end into assembly code. microprocessors. and other programmable devices. It translates high-level instructions into an intermediate form. Interpreter: is a program that translates the English-like statements of a high-level language into the machine language of a computer. 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. It only hides it from the user and makes it gradual. filling delay slots. programming languages are built upon and relate directly to the underlying computer (hardware). .What are the different level of programming languages? 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. and then execute that code by passing it to a special evaluation function. for example. The backend utilizes the hardware by figuring out how to keep parallel execution units busy. The target instruction(s) are chosen for each I Reinstruction. Other languages have features that are very easy to implement in an interpreter. Q5.information. This representation is usually defined by the hardware manufacturer. they are designed to control the operation of the hardware. In fact. An interpreter translates one statement at a time from a source code to an object code. The middle-end generates another IR for the following backend. or specialization of computation based on the context. but make writing a compiler much harder. Interpretation does not replace compilation completely.g. and is based on mnemonics. Modern trends toward just -in-time compilation and byte code interpretation at times blur the traditional categorizations of compilers and interpreters. and many scripting languages allow programs to construct arbitrary source code at runtime with regular string operations. and soon. First.. heuristic techniques are welldeveloped. out of a loop). Although most algorithms for optimization are in NP. The figure at right illustrates several key points about programming languages. SNOBOL4. Even though an interpreter can itself be interpreted. APL. The front end then generates an intermediate representation or IR of the source code for processing by the middle-end. Typical transformations for optimization are removal of useless or unreachable code. relocation of computation to a less frequently executed place (e. microcontrollers. discovery and propagation of constant values. a directly executed program is needed somewhere at the bottom of the stack (see machine language). which it then executes. The middle end is where optimization takes place. It implements a symbolic representation of the machine code sand other constants needed to program a given CPU architecture.

High-level languages also require translation to machine language before execution. They are:  Machine Languages  Assembly Languages and  High-level Languages Machine language is the "native tongue" of the computer. Each unique computer has a unique machine language. Assemblers are written for each unique machine language..g. and FORTRAN and … . Visual Basic.. make it easier for programmers to "think" in the programming language.. Interpreters translate source code programs one line at a time. 01011100) which represent simple operations that can be accomplished by the computer (e. This translation is accomplished by a computer program known as an Assembler. • Uses symbolic operation code to represent the machine operation code. add two operands. 1. All programs are converted into machine language before they can be executed. Programming in machine language requires memorization of the binary codes and can be difficult for the human programmer. It is also called Low Level Language. • Examples are C ++. A machine language program is made up of a series of binary patterns (e. Prior to execution. Assembly language represents an effort to make programming easier for the human. Machine Language is the fundamental language of the computer’s processor. meaning that they can be run directly. the language closest to the hardware itself. consists of combination of 0’s and 1’s that represent high and low electrical voltage. • Assembly Language is low level language that is similar to machine language. Pascal.g. • Uses English like statements. This translation is accomplished by either a compiler or an interpreter. MOV). Compilers translate the entire source code program before execution. 3. these programming languages can be divided into three different levels. ADD. Thus assembly languages are unique to a specific computer (machine). Machine language programs are executable.g. move data to a memory location). The machine language instructions are replaced with simple pneumonic abbreviations (e.Second. an assembly language program requires translation to machine language. 2. Interpreters are more interactive than compilers. • High-level Language is Computer programming languages that is easier to learn. therefore. High-level languages are more English-like and.

.. the CPU sp ends much of its time idling. than lower levels. 2. the level s may also be distinguished by the controlling technology. 3. Each level of the hierarchy is of higher speed and lower latency. algorithm predictions. and the lower level programming constructs such as involving locality of reference. and the efficiency of the caching and memory transfer between different levels of the hierarchy. The size and technology of each component. and capacity are related. complexity. There are four major storage levels. i. usually tens of kilobytes . 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. Since response time. The memory hierarchy in most computers is as follows: Processor registers – fastest possible access (usually 1 CPU cycle). is the practical limitation on processing speed.Disk storage – hundreds of thousands of cycles latency.Assignment B 1.e. often 512KB or more ... Off-line bulk storage – Tertiary and Off-line storage . As a result. So the various components can be viewed as forming a hierarchy of memories (m1. On-line mass storage – Secondary storage. The many trade-offs in designing for high performance will include the structure of the memory hierarchy. Explain memory hierarchy in brief. but very large. Internal – Processor registers and cache. To limit waiting by higher levels. and is of smaller size. Answer: The memory unit is an essential component in any digital computer since it is needed for strong progress and data. often multiple MB's Main memory (DRAM) – may take hundreds of cycles. waiting for memory I/O to complete. Main – the system RAM and controller cards. 4. 1. only hundreds of bytes in size Level 1 (L1) cache – often accessed in just a few cycles. Level 2 (L2) cache – higher latency than L1 by 2× to 10×.mn) in which each member miis in asense subordinate to the next highest member mi-1of the hierarchy.m2. a lower level will respond by filling a buffer and then signaling to activate the transfer. Level 3 (L3) cache – (optional) higher latency than L2. The term memory hierarchy is used in computer architecture when discussing performance issues in computer architectural design. but can be multiple gigabytes . Most modern CPUs are so fast that for most program workloads the locality of reference of memory accesses. A ‘memory hierarchy’ in computer storage distinguishes each level in the 'hierarchy' by response time.

a paging algorithm may be considered as a level for virtual memory when designing computer architecture. Many other structures are useful. What do you understand by parallel processing? 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. Most common auxiliary devices are magnetic disks and tapes they are used for strong system programs. The purpose of parallel processing is to speed up the computer processing capability and increased its throughput that is. The main memory hierarchy system consists of all storage devices employed in a computer system from the slow but high –capacity auxiliary memory to a relatively faster main memory. The main memory unit that communicates directly with CPU is called the MAIN MEMORY. 2. The cache memory is employed in the system to compensates the speed differential between main memory access time and processor logic. Devices that provide backup storage arecalled AUXILARY MEMORY. the amount of processing can be accomplished during a interval of time the amount of hardware increase swath parallel processing and with it the cost of system increases. For example. large data files and other backup information. Most general purpose computer would run more efficiently if they were equipped with additional storage device beyond the capacity of main memory. Only programs and data currently needed by the processor resides in main memory. 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. Memory Hierarchy is to obtain the highest possible access speed while minimizing the total cost of the memory system.This is a most general memory hierarchy structuring. All other information’s are stored in auxiliary memory and transferred to the main memory when needed. to an even smaller and fast earache memory accessible to the highspeed processing logic. .

MIMD organization refer to computer system capable of processing several programs at the same time. Parallel processing may occur in the instruction stream. This is in contrast to a scalar processor. whose instructions operate on single data . Single instruction stream. or in both. multiple data stream (SIMD) 3. The normal operation of a computer is to fetch instructions from memory and execute them in the processor. SIMD represents an organization that includes many processing units under the supervision of a common control unit . Parallel processing is established by distributing the data among the multiple functional units. . Multiple instruction stream. The operations performed on the data in the processor constitutes data stream.All processor receive the same instruction from the control unit but operate on the different items of data. MISD structures only of theoretical interest since no practical system has been constructed using this organization. For example. and shift operations can be separated into three units and the operands diverted to each unit under the supervision of a control unit . Parallel processing in this case may be achieved by means of multiple functional units or by pipeline processing. One type of parallelprocessing that does not fit Flynn's classification is pipelining 3. The sequence of instructions read from memory constitutes an instruction stream. the arithmetic. Flynn's classification divides computers into four major groups as follows 1. It is a central processing unit (CPU) that implements an instruction set containing instructions that operate on one-dimensional arrays of data called vectors. single data stream (SISD) 2. Instruction are executed sequentially and system may or may not have internal parallel processing capabilities. in the data stream. The shared memory unit must contain multiple modules so that it can communicate with all the processors simultaneously. multiple data stream (MIMD) SISD represents the organization of single computer containing a control unit. Multiple instruction streams. single data stream (MISD) 4. logic. Single instruction stream. Most multiprocessor and multicomputer systems can be classified in this category. a processor unit and memory unit. What is array processor and what is the role of attached array processor? Answer: An array processor also called a vector processor is a microprocessor that executes one instruction at a time but on an array or table of data at the same time rather than on single data elements. Flynn's classification depends on the distinction between the performance of the control unit and the data-processing unit. It emphasizes the behavior characteristics of the computer system rather than its operational and structural interconnections.Parallel processing at a higher level of complexity can be achieved by having a multiplicity of functional units that perform identical or different operation simultaneously.

It achieves high performance by means of parallel processing with multiple functional units. It achieves high performance by means of parallel processing with multiple functional units. notably numerical simulation and similar tasks. The main memory is used for storage . Attached Array Processor An attached array processor is designed as a peripheral for conventional host computer. Array processors can greatly improve performance on certain workloads. and its purpose is to enhance the performance of computer by providing Vector processing for complex applications. multiple data stream organization. Each processor includes an ALU.each having a local memory M. their organization is different. The processing units are synchronized to perform the same operation under the control of common control unit. An SIMD processor is a processor that has single instruction multiple data organization. The master control unit controls the operations in the processor elements. An Array processor performs computations on large arrays of data. The array processor can be programmed by the user to accommodate variety of complex arithmetic problems SIMD Array Processor An SIMD array processor is a computer with multiple processing units operating in parallel. It includes an arithmetic unit containing one or more pipelined floating point adders and multipliers. and working registers. The term is used to refer two different types of processor . It includes an arithmetic unit containing one or more pipelined floating point adders and multipliers. It is intended to improve the performance of the host computer in specific numerical computation tasks. Although both types of array processors manipulate vector. The array processor can be programmed by the user to accommodate variety of complex arithmetic problems Attached Array Processor An attached array processor is designed as a peripheral for conventional host computer. A general block diagrams of an array is shown in the below diagram.items. It contains a set of identical processing elements (PE). thus providing a single instruction stream. It manipulates vector instructions by means of multiple functional units responding to common instruction. and its purpose is to enhance the performance of computer by providing Vector processing for complex applications. An attaché array processor is an auxiliary processor attached to general purpose computer. a floating point arithmetic unit .

of the program. Each PE uses operand stored in its local memory. The Function of the master control unit is decode the instructions and determine how the instructions and determine how the instruction is to be executed. Vector operands distributed to the local memories prior to parallel execution of the instruction.  There is no case study . Vector instructions are broad cast to all PEs simultaneously. Scalar and program control instructions Page | 15are directly executed within the master control units.

a) b) c) MARK series of computers was designed by Konrad Zuse John Atanasoff Howard Aiken ( √ ) . Blaise Pascal ( √ ) Charles Babbage Konrad Zuse John Atanasoff Q4.Assignment –C (Multiple Choice Question) Q1. Main frames Computers Super Computers ( √ ) Personal Computers Mini Computers Q2. a) Blaise Pascal b) Charles Babbage c) Konrad Zuse d) John Atanasoff ( √ ) Q5. a) b) c) d) Who invented Pascalin. a) b) c) d) The world’s fastest and most advanced computer. a) b) c) d) Who is the father of computers. ___________earned the semiofficial title of "inventor of the modern computer" a) Blaise Pascal b) Charles Babbage c) Konrad Zuse ( √ ) d) John Atanasoff Q6. Who invented ABC . Blaise Pascal Charles Babbage ( √ ) Konrad Zuse John Atanasoff Q3.

Electric Discrete Variable Automatic Computer. they are high speed programmable.d) Blaise Pascal Q7. they compute values and stores results. ( √ ) Electronic Discrete Variable Automatic Calculator. Electric Dependent Variable Automatic Calculator. _____________type of computers recognizes data by counting discrete signal of (0 0r 1). a) b) c) d) Q8. a) b) c) d) In the decimal number system. Q9. a) b) c) d) 1st 2nd ( √ ) 3rd 4th EDVAC stand for Electronic Discrete Variable Automatic Computer. a) Digital computer ( √ ) b) Analog Computer c) Hybrid Computer d) Super Computer Q10. The computers of ________generation replaced vacuum tubes with transistors. 2 10 ( √ ) 8 16 . there are ________ possible values.

a) b) c) d) The binary number system is ________ numbering system. the number base is called the __________. a) B5 b) 5B ( √ ) c) 4B . a) b) c) d) The decimal number 163 would be represented in BCD as follows. Convert the binary number 01011011 to a hexadecimal number. positional notation ( √ ) non-positional notation signed unsigned Q15. a) Radix ( √ ) b) radius c) remix d) base value Q12. a) b) c) d) Convert 3710 to binary 100100 100101 ( √ ) 101101 100110 Q16. In a positional notation system.Q11. When a fixed precision binary number is used to hold only positive values. it is said to be a) unsigned ( √ ) b) Signed c) Positive d) Negitave Q14. 0001 0110 0011 ( √ ) 0001 0011 0110 0001 0011 0001 0001 0001 0110 Q13.

a) b) c) d) primary storage ( √ ) auxiliary storage secondary storage permanent storage Q18. Hard disks provide for __________ access times than floppy disks. A) backups B) clusters C) shutters ( √ ) D) sectors Q21. a) floppy disks b) expansion cards ( √ ) c) compact disks d) tape Q19. Sometimes called __________. is a narrow recording band that forms a full circle on the surface of a disk. A) track ( √ ) B) cluster C) shutter D) sector Q20. A __________. memory consists of one or more chips on the motherboard or some other circuit board in the computer. Examples of storage media are all of the following except __________. A disk’s storage locations consist of pie-shaped sections. which break the tracks into small arcs called __________. A) lesser storage capacities and much slower B) greater storage capacities but much slower C) lesser storage capacities but much faster D) greater storage capacities and much faster ( √ ) .d) B6 Q17.

“A hypothesis that states transistor densities in a single chip will double every 18 months” a) More’s Law b) CPU’s Law c) Moore’s Law ( √ ) d) Transistor’s Law Q24. Below are the major structural components of CPU except : a) Control Unit b) ALU ( √ ) c) Registers d) RAM Q23. _______ is not an auxiliary memory. a) RAM ( √ ) b) Hard Disk c) Tapes d) DVD . RISC stands for a) Reduced Instruction Set Computer ( √ ) b) Redundant Instruction Set Computer c) Reduced Information Set Computer d) Reduced Instruction Set Chip Q25.Q22.

it is called a a) Cache miss b) Cache found c) Cache hit ( √ ) d) Cache data Q29. By placing some parts that should be in memory inside your hard-disk one can extend the memory capacity of a computer way beyond what is installed. a) b) c) d) cache memory ( √ ) RAM Virtual memory ROM Q28. When data are found in the cache. a) virtual memory ( √ ) b) cache memory c) primary memory d) secondary memory Q30 __________ is not an input device. _____________ is most commonly used to store system-level programs that we want to have available to the computer at all times. very high-speed CPU registers and the relatively slower and much larger main system memory. this is called ___________. The purpose of ___________is to act as a buffer between the very limited. a) ROM ( √ ) b) RAM c) Hard Disk d) CD Q27.Q26. a) MICR b) OMR .

Track ball Track pad integrated pointing device Game pad ( √ ) Q33 ____________ is a device that can read text or illustrations and translate the information into a form the computer can use. Projector Printer Plotter Scanner ( √ ) Q32. a) Printer b) Plotter c) Scanner ( √ ) d) Reader Q34. MICR stands for ________________. ___________ is not an operating system. a) Magnetic Ink Character Recognition ( √ ) b) Magnetic Ink Character Reader c) Mechanical Ink Character Recognition d) Mechanical Ink Character Reader Q35.c) d) Touch Screen Plotter ( √ ) Q31 a) b) c) d) ____________ is not an output device. a) b) c) d) All are Variants of the Mouse except. a) Unix b) Linux c) DOS d) Internet Explorer ( √ ) .


An Operating systems that is capable of allowing multiple software processes to be run at the same time is. a) 1st b) 2nd c) 3rd ( √ ) d) 4th Q37. a) Application Software b) Translators c) Languages d) Operating System ( √ ) Q39. a) Multiuser OS b) Multiprocessing c) Multitasking ( √ ) d) Multithreading . a) Compiler ( √ ) b) Interpreter c) Translator d) Converter Q38. ____________converts source code into object code. COBOL is ___________ language.Q36. ________________ is a software program that enables the computer hardware to communicate and operate with the computer software.

Q40. a) low-level programming language ( √ ) b) High.level programming language c) Assembly level programming language d) Real fprogramming language . A____________ is a language that provides little or no abstraction from a computer's instruction set architecture.