RISC AND CISC MACHINES

RISC is an abbreviation for reduced instruction set computer.The example of RISC machine are DEC's Alpha, powerPC,ULTRASPARC,etc.CISC is an abbreviation for complex instruction set computer.The examples of CISC machines are:Intel 80486,pentium,pentium II,celeron,Pentium III,etc.
The aim of employing RISC design is to increase the computing speed by reducing the execution time of instructions.It is seen that usually 80% of a computers's instructions are used less frequently,only for the 20% of the time.The 20% of the instructions are used more frequently,for the 80% of the time.The philosophy of RISC machine is based on the fact that frequently used 20% of the instructions are implemented in the hardwired circuitry of the chip itself i.e.by hardware technique.The remaining 80% of the instructions are implemented by computer's software. Almost all computations are performed using simple instructions.Usually, a RISC machine is 5 to 10 times faster than a CISC machine.

MOTOROLA MICROPROCESSOR

Motorola introduced its first 8-bit microprocessor 6800 in 1974.It was widely used in industry for controlling equipment in 1970s. It was followed by an advanced 8-bit microprocessor 6809.The 6809 is faster and more powerful than 6800.
In 1979,Motorola introduced an advanced powerful 16-bit microprocessor 68000.Though its data bus is 16-bit wide its internal architecture is of 32 bits.It can directly address upto 16 MB memory.it is a hybrid computer between 16-bit and 32-bit architecture.It was very popular and widely used.
Motorola introduced 68008 microprocessor in 1982.It is similar to 68000 but it has only 8-bit data bus so that it can use 8-bit I/O devices.The was developed to build computers using 8-bit I/O devices.It was not widely used.
In 1983,Motorola introduced 68010 microprocessor an improved version of 68000.The 68010 contained hardware features to support virtual memory.Its direct memory addressing capacity is 16MB.Again in 1983 Motorola developed 68012 similar to 68010 but its memory addressing capacity is more,i.e 2 GB.
In 1984,Motorola introduced 68020,an advanced 32-bit microprocessor.Its data bus is 32-bit wide.Its direct memory addressing capacity is 4 GB.It has onchip instruction cache.It was widely used in microcomputers.
In 1989,Motorola introduced 68040,an advanced  microprocessor.It contains a CPU,MMU,floating-point corprocessor and cache memory.It contains a  circuitry of 1.2 million transistors.The 68040 was suitable to be the CPU of a minicomputer.
Motorola 680X0 series of Microprocessors were similar from programmer's point of view.An improved new machine of this series can run the software of its predecessor of the series.Microprocessors of this series were used to build minicomputers.
microprocessor

HARDWARE,SOFTWARE AND FIRMWORK

HARDWARE:

The physical components of a computer are called hardware. A physical component may be electronic,electrical,magnetic,mechanical or optical.examples of hardware are microprocessors and other ICs,hard disks,floppy disks,optical disks,cathode ray tube (CRT),keyboard,printed,plotted,etc.

SOFTWARE:
A sequence of instruction given to a computer to perform a particular task is called a program.A set of programs written for a computer is called software.The software required to execute user's program is known as system software.
The  term software includes both system software and user's programs.The system software includes operating system,assembler,compiler,interpreter,debugging programs,text editors,etc.The operating system is a collection of programs while controls the overall operating of a computer.

FIRMWORK: 

The term monitor is used for a simple operating system which allows user to enter a program,make alterations in a program,to run programs,and to observe the status of the various sections of the computer .The program stored in ROMs,PROMs,EPROMs or E^2PROMs are called firmware. Nowdays a large  variety of prewritten programs are available to solve specified tasks.User need not prepare programs for such tasks.They should simply know how to use such prewritten programs. Prewritten programs for specific tasks are called application programs or application packages. Important application packages available are WordStar  and MS-Word for text manipulation,LOTUS 1-2-3 and Excel for preparation of spreadsheet;ACCESS,ORACLE,UNITY and FOXBASE for handling database,etc.MS-Office is an integrated package.

DEBUGGING OF PROGRAM

In computer's terminology the word bugs means errors.It is used in the context of errors in programs.To debug means to eliminate program errors.Debugger is a program that helps in finding and correcting errors in user's programs.The program debugging and testing are also called verification and validation respectively.when programs are prepared,usually they contain some errors.They do not run correctly the first time. Compilers and interpreters include error-diagnostic features.such features detect errors which are due to the incorrect application of the language used to prepare the source program.Such errors are called syntax errors.The computer shows the errors on the screen and also indicates the erroneous statements.
A simple method of checking a program is single step control.By this technique program is executed step by step and intermediate results are observed.After executing one instruction,the programmer can examine registers,memory etc.to see the result after the execution of that instruction.At a time only one machine instruction is executed.The program checking by single step method becomes very difficult and time-consuming in case of a long program particularly when the error is towards the end of the program.Furthermore,if a loop occurs in a program,it becomes  tedious job to cross the loop by single step control.For such situation there is another technique called break point technique which can be conveniently used for program checking.In this technique a break point using a software interrupt can be introduced at the suitable point in the program.
 Important programs need thorough debugging and testing before they are used.There are a number of tools to debug programs. some important tools are:
(i) Simulators
(ii) Logic analyzers
(iii)Break points 
(iv)Trace routines
(v) Memory dumps etc.

Array Processors

An array processor contains severals processing elements (PEs) which operate in parallel under the control of a signal control unit(CU).A processing element is an arithmetic and logic unit (ALU) with attached registers and local memory.It does not have instruction decoding capability .the control unit has its own memory . The control unit control the execution of the system and user programs . The control unit decodes all the instructions . The scaler or control-type instructions  are directly executed in the contrl unit .Vector instructions are transmitted to PEs for distributed execution . All the PEs execute the same instruction under the control of the control unit .Vectors operands are stored in the local memories of  PEs before they execute an instruction in parallel on different operands . These operand are loaded into the local memories from an external source  via the system data bus or via the CU using control bus ..An array processor processes single instruction and multiple data streams (SIMD), that is the saame instructions is to be executed on an array of data usualyy involves matrix computations . Array processors are also called SIMD computers Array computers are very much suitable for vector processing but difficult to program as computer to pipeline computrs .
        An array processor is attached to host computer which is a general purpose computr . The host computers performs the task of  resource arrangement and I/O supervisions . The control unit of the array processor directly controols the execution of programs . The host computer acts as an operating manager of  the entire system using consisting of the host computer and the array processor . The host computers perform executive and I/O functions with outside world . An array processor is a back-end, attached computer and is a special purpose machine . They array processors are not popular among commercial computer manufactures. 
        Examples of array processors are Illliac IV (1972),Burroughs Corporation's BSP ,Goodyear Aerospace Corporatio's MPP and CM-2 Illiac IV was develpoed at the University of Illionois in tthe 1960s. It  was fabricated in 1972 by the Burroughs Corporations . It  contained 64 PEs under the control of one CU . It has local memories attached to PEs. It works with the host computer Burroughs B6500 .       
  

Satellite Communications

To transmit large volume of data at high speed,over 100,000 CPS,broad channels are employed.Coaxial cables,microwave circuits and communication satellites are commonly used for broadband channels.To transmit data though space microwave channels are used.In microwave system very high frequency radio signals are employed.when microwave systems are used through ground routes repeaters stations are installed at every 40 KM.The data signals are received,amplified and then transmitted onward at each repeater station,Alternatively,if a communication satellite is available,data can be routed though it.A satellite is the quickest and cheapest medium for transmission of voice,data,text and pictures over long distance.The data are sent to the satellite from a transmitting station on the earth.The data are sent to the satellite from a transmitting station on the earth.The satellite acts as a reflector.It accepts signals from one point on the earth and returns the same signals to some other point on the earth.If a satellite's speed matches the earth's rotation.it may look stationary from the earth.several satellites are now in orbit to handle transmission of data in a certain zone or all over the world.

Advantage and Disadvantage of Assembly Language

Advantage:
The advantage of assembly language over high-level languages is that the computation time of an assembly language program is less.An assembly language program runs faster to produce the desired result.
Disadvantage :
(i)Programming is difficult and time consuming.
(ii)The assembly language is machine oriented.The programmer must have the detailed knowledge of the structure of the computer he is using.He must have the knowledge of registers and instruction set of the computer,connections of ports to the peripherals etc.
(iii)The program written in assembly language for one computer can not be used on any other computer,i.e.the assembly language program is not portable.Each processor has its own instruction set and hence its own language.
(iv)An assembly language program contains more instructions compared to high-level language program.Each statement of a program in a high-level language(such as FORTRAN,PASCAL etc.)corresponds to many instructions in an assembly language program.

ASSEMBLY LANGUAGE

The writing of program in machine language is very difficult,tiresome and boring job for a programmer.Moreover,it is error prone.To solve this problem and to facilitate programmer easily understandable language have been developed.Assembly language is one of them.Programs can easily rememberable symbols are selected for this purpose.For example,ADD for addition,SUB for subtraction,CMP for comparison,etc.Such symbols are known as mnemonics.A program written in mnemonics is called assembly language program.The writing of programs in assembly language is easier and faster as compared to the writing of programs n a machine language.
Assembler
when a program is written in a language other than the machine language of computer,the computer will not understand it.Hence,the programs written in other language must be translated into the machine language of the computer before they are executed.such translation is performed with the aid of software.A program is called an assembler.An assembler.An assembler which runs on a computer for which it produces object codes(machine codes)is called a self assembler (or resident assembler).A less powerful and cheaper computer may not have enough software and hardware facilities for program development and convenient assembly.In such a situation a faster and powerful computer can be used for program development.The program so developed are to be run on smaller computers.For such program development a cross assembler is required.A cross assembler is an assembler that runs on a  computer other than that for which it produces machine codes.
One-pass Assembler:
it is an assembler which reads the assembly language programs only once.such assembler must be equipped with  some means to assign addresses to the labels used in the assembly language program.
Two-Pass Assembler:
It is an assembler which goes through the assembly language program twice.On the first pass the assembler reads the assembly language program and collects all labels. It assigns addresses to the labels counting their position from the starting address.On the second pass the assembler produces the machine code for each instruction and assign address to each. 

SHIFT REGISTERS

In a shift register the flip-flops are connected in series.The output of each flip-flop is connected to the input of the adjacent flip-flop.The contents of a shift register can be shifted within the register without changing the order of the bits.Data are shifted one position left or right at a time when one clock pulse is applied.shift registers are used for the temporary storage of data.They are used where bit shifting is required for manipulating,computing or processing data.They are ideally suited to processing serial data,converting serial data to parallel data,and converting parallel data to serial data,converting parallel data to serial data.They can be built using D,J-K or R-S flip-flops.Depending upon the modes of loading and reading out the data there are four types of shift-registers:
(i)serial-in,serial-out
(ii)serial-in,parallel-out
(iii)parallel-in,serial-out
(iv)parallel-in,parallel-out.
Example of shift register ICs are:
(i)7491 8-bit serial-in,serial-out shift registers.
(ii)74164 8-bit serial-in,parallel-out shift registers.
(iii)74165and74166 8-bit serial/parallel-in,serial-out shift registers.
(iv)74198 8-bit bidirectional universal shift registers.
(v)74199 8-bit serial/parallel-in,parallel-out shift reisters.
Universal shift registers are provide with mode select pins for I/O data transfer.

C and C++ language

C Language:
It is general purpose high-level language.This language has been designed by a group at Bell Telephone laboratories,USA in the early 1970s. It has feature similar to PASCAL.It permits manipulation of internal processor registers and hence a programmer can write low-level machine instructions.It has the features of assembly language programming.It is a small and concise language.It makes use of a library of functions that are equivalent to subroutines.C program can use modular and structured concept.A problem may be divided into smaller tasks,a function may be used to solve each task.C program can use modular and structured concept.A problem may be divided into smaller tasks,a function may be used to solve each task. C program  may represent a grouping of functions that are linked together to produce the solution of the problem.C programs can shifted from one machine architecture to another without much difficulty.This language is used by system programmers to develop complex programs such as an operating system and application program.AT and T(Bell Lab's parent) produce C compiler and UNIX operating system tooks as a single software package.It has many versions which run on PCs and larger machines.

C++:
C++ is an extension to C language.Commands of C language are subset of C++.In other words C++ is a super set of C. Almost every correct statement in C is also a correct statement in C++,but the reverse is not true.It was developed in the year 1980.It is an object-oriented language.It is a high-level language.Other high-level languages such as BASIC,COBOL,PASCAL,FORTRAN,C etc,are procedure-oriented language.while writing a program in an object-oriented language,the programmer has to tell only 'what to do' as well as 'how to do'.Now-a-days object-oriented programming is getting wide acceptance. OOP stands  for Object Oriented programming.C++ has all feature of both structure programming and object-oriented programming.

JAVA and JAVA SCRIPT

JAVA:
It is an object-oriented programming language.It has been derived from C++.SUN Micro System Inc.has developed this language recently.This language is suitable for internet,desktop computers,servers,microcontrollers,etc.Internet software and application program are being written in JAVA.Application programs for a network of heterogeneous computers can easily be written in JAVA.Application programs written in JAVA  can run on any platform i.e.on any computer built around the CPU of any company.Here,question arises how JAVA achieves machine independence.It is achieved using Java Virtual Machine.The Java Virtual Machine is not a real machine.It is a simulated computer which resides in a computer's memory.It performs all major functions of a real machine.java programs are translated by Java compiler into machine codes,which are acceptable to Java Virtual Machine.These machine goes to a Java interpreter which produces machine codes for the computer on which Java programs are running.
JAVA SCRIPT: 
It is a scripting language.It is written in Java language.It is used to develop application program using applets.Applets are small Java application programs.A scripting language assumes that a collection of useful programs,each performing a task,is available.It can combine these programs to make a complex program.The new complex program can perform a complex task.

USART or UART

As a technique processes data in parallel,the data to be sent out using serial data transfer technique must be converted from parallel to serial.similarly,serial data received must be converted into parallel for processing by the computer.A parallel-in-serial out shift register and a serial-in-parallel out shift register can perform this task.In some cases hand shaking signals are also needed.Their purpose is to make sure that a transmitter should not send data faster than it can be received by the receiver. Several programmable ICs are available for serial data transfer.These devices contain all necessary circuitry required for serial data transfer.National INS 8250 has been developed for asynchronous serial data transfer.It is known as universal asynchronous receiver-transmitter(UART).Intel has developed 8251,a universal synchronous-asynchronous receiver-transmitter(USART) which is capable of transmitter data either in synchronous or asynchronous mode.

APPLICATION OF COMPUTER IN DATABASE MANAGEMENT

Nowadays computers are extensively used to store and retrieve information.Offices are using computers to handle files which stores a variety of information.when needed,we get information from the files.The term database is used to refers to one or more related files.The files are now stored in magnetic memory.There is no need of paper to store information.Information can be seen on the computer screen;when required prints are taken out.Information from one office to another can be transmitted by electronic mail system.
To handle files database management packages are widely used.Suppose computer stores information in a file regarding students:
name of the students,roll number,marks subject wise,total  marks,percentage of total marks,class awarded etc.Now some one asks computer to print the name of the students who have secured total marks 75% and above,one can ask to print the name of the students who have secured the highest marks in different subjects.Someone may provide roll number or name of the student and ask to print his marks sheet.
The database package not only stores information and supplies information,but also makes computation on  data  to supply certain information.  Actually,in the above example,the total marks,percentage of marks,average etc..are calculate and then stored in tabulated form by the computer.Class is awarded by the computer.
A database management system can provide information from more than one related files.A user would like to have certain information which is not in a single file.Some information is in one file,some in other files.The program will search all the required information from different files and supply it to users.Take an example of records maintained by an advocate.He maintains two files.One file contains the records of different clients.It may be named as case file.It records client number,client identification number,name of the clients,address,phones number,amount due etc,He maintains another files which keeps the records of different cases.It may be named as case file.It records case number, identification number of the cases,identification number of the client  of the different cases,type of the case,name of the opponent,attorney,court,judge,opening date,court date etc.Suppose the advocate wants information about which cases are to be taken up on a particular date,with the details of the cases the client file as well as the case file.The software package will collect information from both the files.The case file gives the information which cases are due on a particular date and their details.  

Advantage of a High-level language

The advantages of high-level language are:
(i)They are easier to learn as compared to assembly language.
(ii)They make programs easier and faster to wire.
(iii)Provide better documentation.
(iv)The programmer does not have limitation to use a single type of machine.
(v)programs are portable,i.e.they will run on any computer which has a similar compiler,
One statement of high-level language corresponds to many instructions of the assembly language program.Many high-level languages have been developed;some are for general purpose and some for special purposes. 

LOW-LEVEL AND HIGH-LEVEL LANGUAGES

A Languages in which each statement is directly translated into a single machine code is known as low-level language.Examples of the low-level language are machine language and the assembly language of various processors. the basic problem of an assembly language is that it is more closely related to the structure of a computer than to the performance of the task which is to be performed.The programmer spends more time in manipulating registers and considering instruction sequence than solving actual problems.The programmer must have very detailed knowledge of the instruction set,architecture and connection of peripherals to the ports etc.
To overcome the difficulties associated  with assembly language high-level or procedure-oriented language have been developed.High-level languages permit programmers to describe tasks in a form which is problem oriented or object oriented rather than computer oriented. One can formulate problem more efficiently in a high-level language and need not have a precise knowledge of the architecture of the computer he is using.
The instructions written in a high-level language are called statement.The statements more clearly resemble English and mathematics as compared to mnemoincs in assembly language.Example of high-level languages are BASIC,PASCAL,FORTRAN,COBOL,ALGOL,C,C++,PROLOG, LISP, SNOBOL,etc. A  high-level language is independent of a computer.

ARITHMETIC PROCESSORS

General purpose microprocessors such as 8086,8088,80286,80386 etc.are not optimized to perform complex numerical calculations,CRT graphics manipulations or word processing.For these purposes specialized co processors have been developed.For example,the 8087 is a numeric data co processors operate in parallel with CPUs.
There are two ways to interface an arithmetic processor  to a CPU.In one approach it is treated as a peripheral device.such units are called peripheral processor.The CPU sends data and instructions for processing to such an unit and receives results from it.Examples of peripheral arithmetic processors are AMD 9511/12,Intel 8231 A,etc.In another approach the arithmetic processor is connected as an extension of the CPU.The instructions and registers of arithmetic processor are extension to those of the CPU.The instruction set of the CPU includes a special subset of opcodes reserved for arithmetic processor. Arithmetic processor of this type is called co processor. Unlike a peripheral processor,a co processor,and special instruction for co processor. Example of numeric data coprocessors Intel 8087,80287,80387 etc.

High Level Language in Computer

BASIC.It is an abbreviation for Beginners All-purpose Symbolic Instruction Code.It is a very simple and easy language.It is suitable for scientific computations.But it is not as powerful as FORTRAN. It was introduced in 1965 by Dartmouth College.It is a widely used language for simple computation and analysis.It is now by far the most popular high-level language used in personal computers.To translate BASIC instruction into machine-language codes interpreters are frequently used in PC systems.But BASIC language compilers are also available for these systems.

The latest  version of BASIC  is QBASIC.It was developed by Microsoft.It replaced the earlier version of BASIC,which was called GWBASIC,QBASIC provides graphical user interface (GUI).It is provided with an intelligent editor interpreter,which checks syntax as the program line by line.In QBASIC it is not necessary to assign statement number to each and every statement numbers are assigned where it is necessary.

Visual BASIC was introduced in 1991 by Microsoft.It is a powerful tool for developing Windows applications(GUIs) in BASIC.Earlier,Windows applications were developed in C Language.The development of DOS applications.Programmers had too much worry about,such as what the mouse was doing,where the user was inside a menu,and whether the programmer was clicking or double clicking at a given place.Development of Windows application needed expert C Programmers and hundreds of lines of codes for the simplest task.Even the experts were facing problems.
Visual BASIC made the development of Windows applications an easy task.It is now used to develop Graphical User Interfaces (GUIs).It is is a scripting language to combine small programs written in BASIC.It allows to add menu,text boxes,command buttons,options buttons (for making exclusive choices),check boxes(non-exclusive choices),list boxes,scroll bars,and file and directory boxes.One can use grid to handle tabular data,communicate with other Windows applications and access databases.One can have multiple windows on the screen.Visual Basic has some features of OOP.

APPLICATION OF COMPUTERS IN MEDICAL FIELD

Computers are widely used in hospitals to help doctors in diagnosis,getting information on patients,diseases,treatments,drugs etc.They are also used in administration and in keeping patient records.Doctors can get information from distant data banks and expert systems.
Many medical databases are being developed.They contain information on diseases and treatment. Doctors are taking help of expert systems in the diagnosis and treatment of a patient.An expert system is a program based on the expert knowledge of specialists.It is a diagnostic tool for doctors.The doctors have to supply the detailed information such as symptoms,medical history,test results etc.This information is processed by the computer ans a diagnosis is made by the expert system.At present the expert systems are helping doctors;they do not substitute doctors.They are currently useful primarily in reminding doctors; they do not substitute doctors.They are currently useful primarily in reminding doctors of diagnosis and treatment that should be considered.The databases in the expert system must be constantly checked and updated.Some more details are given later on in this chapter.
many devices take images and diagnose diseases.Such devices use computers process huge amount of data collected by the scanners associated with such devices.Examples are: Computerized Axial Tomography (CAT),positron Emission Tomography (PET),Magnetic Resonance Imaging (MRI) etc. These devices take pictures of brain and help in diagnosis of various kinds of diseases.These machines are at present very expensive.
Computers are also used in pathological tests.Programs have been developed to monitor various pathological  processes,record data and analyze results.From a single sample of blood computer can test hemoglobin, hematocrit ,glucose, BUN,creating,total CO2,chloride,sodium,potassium,calcium,phosphorous,uric acid,albumin,protien,globulin,A/C ratio,cholestrol,triglycerides,bilirubin phosphate,white and red blood cell count etc. Computer controller monitoring of tests increase speed,and give accurate and reliable results.

Electronic Mail (E-Mail)

                 

When messages are delivered and received employing computers it is called electronic mail.In E-mail it is not necessary to locate the person who had to receive the message.The persons who are connected through this system have an individuals mailbox to store messages to be received.The messages are sent on the first try.The messages may be either spoken or keyed text.They may be sent at any time,day or night .The receiver need not be interrupted or distributed at odd time. He will link up with the system periodically at his convenience to review the stored messages.The message can be sent to an individual or a number of persons.The keyed messages are usually entered and received on PCs,teleprinters or visual display terminals.
Apnamail.com  has been developed to send messages in Indian languages.
Documents and pictures can also be transmitted. A facsimile machine(or fax machine) is used to send or receive pictures or documents.At the sending end the fax machine scans the documents and at the receiving end fax machine reproduces the scanned image.The receiving machine produces duplicate or facsimile of the original.

DMA Data Transfer Scheme

In DMA data transfer data are directly transferred from an I/O device to the memory or vice versa without going through the microprocessor. The microprocessor(CPU) does not participate in this type of data transfer.This scheme is used when bulk data are to be transferred.If bulk data are transferred through microprocessor,it will be a time consuming process.The microprocessor holds on when data transfer takes place between an I/O device and memory using DMA technique.The I/O device which uses DMA technique of data transfer sends a HOLD signal to the microprocessor.Having received a HOLD request from an I/O devices the microprocessor relinquishes the use of buses(i.e the microprocessor gives up the control of the buses) as soon as the current cycle is completed.it sends HLDA(an HOLD acknowledgement signal) to the I/O devices to indicate that HOLD request has been received,and the data and address buses has been relived.In other words the microprocessor transfers the control of the buses to the I/O devices.Now the I/O device gains control over the buses and transfer takes place at very high speed.This scheme is used to transfer data from mass storage devices like hard disks,floppy disks or high speed printers etc.When data transfer is completed the CPU regains the control over the system buses.
When data are being transferred from I/O devices to the memory or vice versa using DMA technique,the microprocessor is not doing anything and it is in the hold state.The microprocessor can come out of this state only after the DMA request is withdrawn y the I/O device.The duration of the hold state depends on the speed of the I/O device,speed of the memory and the number of data bytes to be transferred.The DMA data transfer in which the I/O device relinquishes the control of the system buses only after all data bytes have been transferred,is called burst mode data transfer.In this mode a block of data   is transferred.This type of DMA data transfer is used by magnetic disk drives where data transmission cannot be stopped or slowed down without loss of the data and hence block transfer is a must.The block data transfer may require the CPU to remain inactive for relatively longer period.Another DMA data transfer scheme called cycle stealing allows the DMA controller to use the system bus to transfer one or perhaps several data bytes,after which it must return the control of buses to the CPU.In this technique a long block of data can be transferred by a sequence of DMA bus transaction interspersed with CPU bus transaction.Though this method reduces the maximum I/O data transfer rate,it also reduces the interference by the DMA controller in the CPU's activities.The interference can be eliminated completely by designing DMA interface in such a way that bus cycles are stolen only when the CPU is actually not using the system bus.This is known as Transparent DMA. 

Register (CPU)

A CPU  contains a number of registers to stores data temporarily during the execution of a program.The number of registers differs from processor to processor.some processors contain more registers,some less.Register are classified as follows:

ACCUMULATOR:The accumulator is a register which holds one of the operands prior to the execution of an instruction,and receives the results of most of the arithmetic and logical operations.So an accumulator is the most frequently used register.Some CPUs have a single accumulators;some have several accumulators.
General Purpose Registers:These registers store data and intermediate results during the execution of a program.They are accessible to users through instructions if the users are working in assembly language.
Special Purpose Registers: A CPU contains a number of special purpose registers for different purposes.These are:
(i)Program Counter(PC)
(ii)Stack Pointer(SP)
(iii)Status Register 
(iv)Instruction Register(IR)
(v)Index Register 
(vi)Memory Address Register(MAR)
(vii)Memory Buffer Register (MBR) or Data Register (DR)
All CPUs do not contain all of these special registers.A powerful CPU contains most of them.The brief description of these registers is given below:
Program counter
stack pointer 
status Register 

CACHE MEMORY

The word cache is pronounced as cash.The cache memory is placed in between CPU and main memory.It is main memory.It is a semiconductor memory.It consists of static RAMs.Its access time is about 10 ns which is much less than that of the main memory.The access time of the main memory is about 50ns.The capacity of the cache memory is 2 to 3 percent of that of the main memory.It stores instruction codes and data.which  are t be currently executed by the CPU.It is used to reduce the average access time for instructions and data,which are normally stored in the main memory. A cache memory also needs a cache controller.Cache controller ICs are available.
The modern 32-bit and 64-bit microprocessors operate at very high speed.Their clock rates are in the ranges of 400 MHz to 1000 MHz .The memory matching with high-speed microprocessor must be very fast.But very fast memory is very expensive. If a fast microprocessor operates with conventional main memory,it has to operate with several wait states.This will reduces the speed of the computer.A compromise is made,and data to CPU.The main memory stores program and data,which is to be processed by the CPU.The currently needed instructions and data of the program are loaded into the cache from the main memory.
There are two types of cache schemes:write-through and write-back.
In a write through cache the main memory is updates each time the CPU writes into the cache.The advantage of the write-through cache is that the main memory always contains the same data as the cache contains.This characteristics is desirable in a system which uses direct memory access scheme of data transfer.

REAL(OR PHYSICAL) AND VIRTUAL MEMORY

The real or physical memory is the actual main memory provided in the system.It is directly addressed by the CPU.The address of a location of the physical memory is called physical address.
The technique which allows a program to use main memory more than what a computer really has is known as virtual memory technique.It gives the programmers an illusion that they have main memory available more than what is physically provided in the computer.The entire program and its data are not placed in the main memory.Only the instructions data which are to be currently executed are brought from the secondary memory into the main memory.The remaining part of the computer resides in the secondary memory.When the part of the program which is in the main memory has been executed,it is sent back to the secondary memory.Thereafter another part is brought into the primary memory for its execution.Thus we see that a program requiring much lager capacity than that of the main memory can be executed by using virtual memory technique.The virtual memory space is much larger than the physical memory space.
The capacity of virtual memory depends on the design aspects of a processor.
The addresses which are used in a program are called logical addresses.These addresses indicate the positions of instructions and data in the program.The logical addresses are translated into physical addresses by memory management unit,MMU. The MMU is placed in between the processor and main memory.The CPU generates logical address while executing the program.The MMU receives a logical address from the processor and determines whether the logical address is present in the physical memory(i.e.main memory).If it is present in the main memory,the MMU determines the corresponding physical address.If the logical address is not present in the physical memory,the MMU interrupts CPU.The CPU executes a service routing  to bring the required information from the secondary memory to the physical memory.Thereafter the MMU determines the corresponding physical address.
The logical address is also called virtual address in a system which has provision for virtual memory.

APPLICATION OF COMPUTERS IN GRAPHICS

Computers are being used to draw drawings graphics and pictures.One need not depends on draftsman or artist for these purposes.For this work graphic packages are available.preparation of drawings is a time consuming task if it is done by draftsman. But computers can draw sophisticated drawings in multicolour  in minutes.It can produced three-dimensional pictorial views.
Graphics packages are often integrated with spreadsheet,investment analysis and statistical analysis.Graphics such as bar graphs,pie charts and line graphs are plotted from spreadsheet data and other tabulated form of stored data.Graphics packages are also used to recognize picture,process images,draw pictures etc.
Drawing or picture can also be modified.They can be reduced,enlarged or rotated while displaying on the screen.When specifications and dimensions are given the computer will draw three-dimensional views or two-dimensional drawings.Moving pictures can be presented and analyzed.Drawing from different angles can be presented to designers.For example,a designer will like to see the different views of buildings,aircraft etc.All such facilities are provided by graphics packages.
Graphics packages in different categories are available,for example,design,paint,analysis and presentation packages. 

APPLICATION OF COMPUTER FOR DATA ANALYSIS

Computer are widely used for data analysis.There is a special software called spreadsheet program for data analysis.Data are entered into rows and columns.Using spreadsheet program one can tabulate results,calculate number of students in first class,second class,failed student,percentage of students in different classes,list of failure students,average marks etc.

One can prepare product sales,profit,investment computation for an organization using spreadsheet programs. Year wise numbers of unit sold,price per unit,production cost,selling cost etc.are entered into the spreadsheet.Revenue are calculated from the units sold and per unit price.Total expenditure is the sum of production cost and the selling cost.Profit is equal to production cost minus total expenditure.

Similarly,any kind of computation for data entered in the tabulated form can be made using computers with spreadsheet program.
Computers are widely used for statistical data analysis.Statistical packages are available for such purposes.They can accept data from other files and sort,merge and manipulated data as needed.
Spreadsheet template are available for various kinds of data analysis.The user has only to enter data and get the desired results.

The spreadsheet programs are also used for accounts,sale analysis,inventory control,financial aspect of business,preparation of budgets etc. 

OPTICRAM Cameras

An OPTICRAM camera contain a 64 KB dynamic RAM.The cover of the dynamic RAM is made of glass instead of metal or plastic.An image of an object is directly focused onto the glass surface of dynamic RAM by the lens on the front of the camera.The dynamic RAM contains 65,536(64 KB) memory cells.These cells are divided into two sections.Each section is a matrix of 128 X 256 cells.Each cell functions as a pixel.
In a dynamic RAM 0 and 1 are stored as charge on tiny capacitors.As the charge gradually change due to leakage,a dynamic RAM has to be be refreshed periodically.If light falls on a dynamic RAM cell,the stored charge on the tiny capacitor changes at a faster rate as compared to the usual condition when there is no light falling on the memory cells.A dynamic RAM can be used as an image sensor.For this purpose all memory cells,are first charged to logic 1 level.After certain predetermined interval of time the logic level has changed from 1 to 0 represents a light spot.The logic level of an OPTICRAM can be read and stored directly in the microcomputer memory for processing.The light sensitivity of the camera can be adjusted.It is done by adjusting the time interval between charging up all the cells and reading out the logic levels on the cells.foe example for brighter light a shorter time interval is used.
A Micron Eye camera employing an OPTICRAM has been developed by Micron Technology.It contains a printed circuit board with suitable interfacing circuit board with suitable interfacing circuitry so that it can be interfaced to a microcomputer.With this type of sensors bit pattern of images are stored in the computer memory.
An OPTICRAM camera is relatively inexpensive.It can easily be interfaced to a microcomputer.It has enough resolution to be applied to robots and other similar applications.a

RAM

The read and write memory (R/W memory)of a computer is called RAM.The users can write information into RAM  and read information from it.It is accessible to users.The user enters his program and data into RAM.It possesses random access property.In a random access memory any memory location can be accessed in a random manner without going through any other memory location.The accessed in a random manner without going through any other memory location.The access time is same for each memory location. RAM is a voltatile memory.The information written into it is retained in it as long as the power supply is on.As soon as the power supply goes off (or interrupted)its stored information is lost.The programmer has to reload his program and the data into the RAM when  the power supply is resumed.
RAM is not the correct name of R/W memory because both RAM and ROM possess random access property.But R/W memory has been called RAM since long and in practice it has become an established name.Thus R/W memory is commonly called RAM.
There are two important types of RAMs: static RAM and dynamic RAM. Static RAMs retain stored information only as long as the power supply is on.But a dynamic RAM loses its stored information in a very short time( a few milliseconds) even through the power supply is on.In a dynamic RAM a binary state is stored on the gate to source stray capacitor of a transistor of the MOS memory circuit.The presence of charge on the stray capacitor represents 1,and the absence of charge on the stray capacitor represents 0.The charge on these capacitors leak away as a results of normal leakage in a few milliseconds.Therefore,dynamic RAMs have to be refreshed periodically,generally every 2  milliseconds.The dynamic RAMs are cheaper and have high packing density and moderate speed. They consume less power.They are used where large capacity of memory is needed.Static RAMs are costlier and consume more power.They do not need refreshing circuitry.They have higher speed than dynamic RAMs.Static RAM dynamic RAM are also written as SRAM and DRAM respectively.

READ ONLY MEMORY(ROM)

ROM stands for "Read only memory".It is nonvolatile memory,i.e.the information stored in it is not lost even if the power supply goes off.It is used for permanent storage of information.It also possesses random access property. ROMs are much cheaper compared to RAMs  when produced in larger volumes.The stored information can only be read from ROMs at the time of operation.Information can not be written into a ROM by the users/programmers.In other words ROMs are not accessible to users.The contents of ROMs are decided by the manufacture.From programming mode point of view the ROMs  are placed in broad categories:masked-programmed and user-programmed. ROMs in which contents are written at the time IC manufacture are called mask-programmed ROMs. PROM,EPROM,E^2PROM  or any other kind of PROM are userprogrammable ROMs. If we supply write or say ROMs are are called PROM,EPROM,EEPROM etc.
ROMs store information which is not subject to change.They store fixed programs.In microprocessor-based systems which are used for industrial controls,ROMs store monitor,assembler,debugging package,function tables such as sine,cosine,logrithm,square root,exponential and code conversion tables,etc. 

CD-ROM

It is an optical  ROM.Prerecorded data can be read out.The manufactures writes data on CD-ROMs. The disk is made up of a resin.such as poly carbonate. It is coated with a material which will change when a high intensity laser beam is focused on it.The coating material is highly reflective,usually aluminium.The high intensity laser beam forms a tiny pit along a track to represent 1. For reading the data laser beam of less intensity is employed. A laser systems needs 25mW for writing whereas only 5 mW for reading.In some cases separated laser beams are employed:one for writing and the other for reading.the reflected laser is sensed by photodiode to read data.The intensity of the reflected light of laser changes as it encounter pit. A pit spreads the light so that the photodiode receives little reflected light.But surface without pit reflect sufficient light to the photodiode. Thus the change in reflected light is sensed and converted into electrical signals for data reading purpose.

If the coating of the special material on the optical disk is thin film,a hole is formed when the laser beam falls on it.If the layer is a thick film a pit is formed.In some process of thick film,a bubble is formed instead of a pit.The unaltered areas between the pits are known as lands. 

First of all,a master disk is prepared.By molding a special plastic to the master disk.CD-ROMs are produced on mass scale.The plastic copy of the data is then covered with a clear plastic layer and backed with a reflecting coating. 

DIRECT ACCESS STORAGE DEVICES(DASDs)

The outline secondary storage which is always available to a processor is called direct access storage devices (DASD).The commonly used DASDs are magnetic disks.The optical disks,RAM disks and bubble memory,if incorporated in a system are also DASDs.This term DASD is in the context of permanents type directly accessible long term storage device(i.e.directly accessible secondary storage). As far as the term direct access is connected all semiconductor memories RAMs,ROMs,PROMs are directly accessible and have random access property.Out of these RAMs are for users and they have been categorized as primary memory.In the literature DASDs  are also called ramdom access memory.

MEMORY MANAGEMENT UNIT (MMU)

The function of a memory management unit is to convert logical memory address into actual physical (real) memory address and provide protection.The MMU is a hardware component placed in between the processor and the main memory.some modern CPUs contain on-chip MMU such as 80286,80386,68030 etc. The CPU which does not contain on-chip MMU uses external MMU. The MMU is used in a mutliprogramming or multiuser system.The tasks which are performed by MMU can be performed by the operating system.Then the operating system.Then the operating system will not get sufficient time for program execution and its other tasks. The MMU reduces the burden of the operating system.the memory addresses used in a program are logical addresses.They indicate the logical position of instructions and data in the program. A logical address is the logical position of instructions and data in the program.A logical address is the location of an instruction or data relative to the program.A logical address is the location of an instruction or data relative to the beginning of the program.
when a  program is compiled each logical address is represented by a memory pointer consisting of two components.In a segment oriented system the two components are:segment selector and offset.In a page oriented system the two components are:page address and page offset.In a page oriented system the two components are:page address and page offset.In other words a logical address is represented by a page number and a page offset.

Analysis of Discrete-time Linear-Invariant Systems

we shall demonstrate that such systems are characterized in the time domain simply by their response to a unit sample sequence.we shall als...