Computer Fundamental Topics

1) Magnetic Ink Character Recognition(MICR) is a technique that enables special characters printed in magnetic ink to be read and input rapidly to a computer. When a document that contains this ink needs to be read, it passes through a machine, which magnetizes the ink and then translates the magnetic information into characters.


MICR is used to verify the legitimacy or originality of paper documents, especially checks. MICR is used extensively in banking because magnetic-ink characters are difficult to forge and are therefore ideal for marking and identifying cheques.
2)Peripheral Devices : A computer device, such as a CD-ROM drive or printer, which 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. Linkage between the CPU and the users is provided by Peripheral devices.
 3) Cache memory, also called CPU memory, is random access memory (RAM) that a computermicroprocessor can access more quickly than it can access regular RAM. This memory is typically integrated directly with the CPU chip or placed on a separate chip that has a separatebus interconnect with the CPU.

The basic purpose of cache memory is to store program instructions that are frequently re-referenced by software during operation. Fast access to these instructions increases the overall speed of the software program.
As the microprocessor processes data, it looks first in the cache memory; if it finds the instructions there (from a previous reading of data), it does not have to do a more time-consuming reading of data from larger memory or other data storage devices.


4) Generation Of Computers:
a)First Generation (1940-1956) Vacuum Tubes

The first computers used vacuum tubes for circuitry and magnetic drums for memory, and were often enormous, taking up entire rooms. They were very expensive to operate and in addition to using a great deal of electricity, the first computers generated a lot of heat, which was often the cause of malfunctions.
First generation computers relied on machine language, the lowest-level programming language understood by computers, to perform operations, and they could only solve one problem at a time, and it could take days or weeks to set-up a new problem. Input was based on punched cards and paper tape, and output was displayed on printouts.
The UNIVAC and ENIAC computers are examples of first-generation computing devices. The UNIVAC was the first commercial computer delivered to a business client, the U.S. Census Bureau in 1951.


 b) Second Generation (1956-1963) Transistors

Transistors replace vacuum tubes and ushered in the second generation of computers. The transistor was invented in 1947 but did not see widespread use in computers until the late 1950s. The transistor was far superior to the vacuum tube, allowing computers to become smaller, faster, cheaper, more energy-efficient and more reliable than their first-generation predecessors.
Though the transistor still generated a great deal of heat that subjected the computer to damage, it was a vast improvement over the vacuum tube. Second-generation computers still relied on punched cards for input and printouts for output.
Second-generation computers moved from cryptic binary machine language to symbolic, orassembly, languages, which allowed programmers to specify instructions in words. High-level programming languages were also being developed at this time, such as early versions ofCOBOL and FORTRAN. These were also the first computers that stored their instructions in their memory, which moved from a magnetic drum to magnetic core technology.
The first computers of this generation were developed for the atomic energy industry.

c) Third Generation (1964-1971) Integrated Circuits
The development of the integrated circuit was the hallmark of the third generation of computers. Transistors were miniaturized and placed on silicon chips, called semiconductors, which drastically increased the speed and efficiency of computers.
Instead of punched cards and printouts, users interacted with third generation computers through keyboards and monitors and interfaced with an operating system, which allowed the device to run many different applications at one time with a central program that monitored the memory. Computers for the first time became accessible to a mass audience because they were smaller and cheaper than their predecessors.

d) Fourth Generation (1971-Present) Microprocessors

The microprocessor brought the fourth generation of computers, as thousands of integrated circuits were built onto a single silicon chip. What in the first generation filled an entire room could now fit in the palm of the hand. The Intel 4004 chip, developed in 1971, located all the components of the computer—from the central processing unit and memory to input/output controls—on a single chip.
In 1981 IBM introduced its first computer for the home user, and in 1984 Apple introduced the Macintosh. Microprocessors also moved out of the realm of desktop computers and into many areas of life as more and more everyday products began to use microprocessors.
As these small computers became more powerful, they could be linked together to form networks, which eventually led to the development of the Internet. Fourth generation computers also saw the development of GUIs, the mouse and handheld devices.

e)Fifth Generation (Present and Beyond) Artificial Intelligence

Fifth generation computing devices, based on artificial intelligence, are still in development, though there are some applications, such as voice recognition, that are being used today. The use of parallel processing and superconductors is helping to make artificial intelligence a reality.Quantum computation and molecular and nanotechnology will radically change the face of computers in years to come. The goal of fifth-generation computing is to develop devices that respond to natural language input and are capable of learning and self-organization.

CISC, RISC and Register

1)CISC(Complex Instruction Set Computer) :

1. Uses instruction of variable size
2. Instruction have different fetching time
3. Instruction set is large and simple

Image result for risc and cisc architecture4. Compiler addressing modes as most operation are memory based
5. Compiler design is complex
6. Total size of program is small as few instructions are required to perform a task. This is because the instructions are complex and powerful
7. instructions have variable number of operands
8. Ideal for processors performing a variety of operations
9. Since instructions are complex, they generally require a micro-programmed control unit
10. Execution speed is slower as most operations are memory based
11. Since number of cycles per instruction varies, pipe-lining has more bubbles or stalls

For example MULT 3:4 ,6:5. This instruction when executed will load two numbers and multiply them up and then store the result in a register.MULT here is a complex instruction and here we don’t require much of loading and storing elements from the computer’s memory rather they(CISC instructions) act directly on it. IT emphasises on multi clock instructions.

Examples of CISC processors are:

  • Intel 386, 486, Pentium, Pentium Pro, Pentium II, Pentium III
  • Motorola’s 68000, 68020, 68040, etc.

2)RISC(Reduced Instruction Set Computer)
1. Uses instruction of fixed size
2. Most instructions take same time to fetch
3. Instruction set simple and small

Image result for risc and cisc architecture

4. Less addressing modes as most operations are registered based
5. Compiler design is complex
6. Total size of program is large as many instructions are required to perform a task. This is because instructions are simple
7. Instructions uses fixed number of operands
8. Ideal for processors performing dedicated operations
9. Since instructions are simple, they can be decoded by hardware control unit
10. Execution speed is faster as most operations are register based
11. Since number of cycles per instruction os fixed it gives better degree of pipe-lining

so, here instead of MULT as a single instruction, there are a series of loading and storing instructions
Ex: LOAD A, 3:4
LOAD B, 6:5
STORE A, 3:4

Examples of RISC processors:

  • IBM RS6000, MC88100
  • DEC’s Alpha 21064, 21164 and 21264 processors

Computer Registers:In computer architecture, a processor register is a very fast computer memory used to speed the execution of computer programs by providing quick access to commonly used values-typically, the values being in the midst of a calculation at a given point in time.These registers are the top of the memory hierarchy, and are the fastest way for the system to manipulate data. In a very simple microprocessor, it consists of a single memory location, usually called an accumulator. Registers are built from fast multi-ported memory cell. They must be able to drive its data onto an internal bus in a single clock cycle. The result of ALU operation is stored here and could be re-used in a subsequent operation or saved into memory.

Registers are normally measured by the number of bits they can hold, for example, an 8-bit register means it can store 8 bits of data or a 32-bit register means it can store 32 bit of data.Registers are used to store data temporarily during the execution of a program. Some of the registers are accessible to the user through instructions. Data and instructions must be put into the system.

Registers Perform:-

1) Fetch: The Fetch Operation is used for taking the instructions those are given by the user and the Instructions those are stored into the Main Memory will be fetch by using Registers.

2) Decode: The Decode Operation is used for interpreting the Instructions means the Instructions are decoded means the CPU will find out which Operation is to be performed on the Instructions.

3) Execute: The Execute Operation is performed by the CPU. And Results those are produced by the CPU are then Stored into the Memory and after that they are displayed on the user Screen.

Image result for register in cpu

Types of Registers are as Followings:

1)MAR stand for Memory Address Register: This register holds the memory addresses of data and instructions. This register is used to access data and instructions from memory during the execution phase of an instruction. Suppose CPU wants to store some data in the memory or to read the data from the memory. It places the address of the-required memory location in the MAR.

2)Program Counter:The program counter (PC), commonly called the instruction pointer (IP) in Intel x86 microprocessors, and sometimes called the instruction address register, or just part of the instruction sequencer in some computers, is a processor register.It is a 16 bit special function register in the 8085 microprocessor. It keeps track of the the next memory address of the instruction that is to be executed once the execution of the current instruction is completed. In other words, it holds the address of the memory location of the next instruction when the current instruction is executed by the microprocessor.

3)Accumulator Register:This Register is used for storing the Results those are produced by the System. When the CPU will generate Some Results after the Processing then all the Results will be Stored into the AC Register.

4)Memory Data Register (MDR):MDR is the register of a computer’s control unit that contains the data to be stored in the computer storage (e.g. RAM), or the data after a fetch from the computer storage. It acts like a buffer and holds anything that is copied from the memory ready for the processor to use it. MDR hold the information before it goes to the decoder.MDR which contains the data to be written into or readout of the addressed location. For example, to retrieve the contents of cell 123, we would load the value 123 (in binary, of course) into the MAR and perform a fetch operation. When the operation is done, a copy of the contents of cell 123 would be in the MDR. To store the value 98 into cell 4, we load a 4 into the MAR and a 98 into the MDR and perform a store. When the operation is completed the contents of cell 4 will have been set to 98, by discarding whatever was there previously.

The MDR is a two-way register. When data is fetched from memory and placed into the MDR, it is written to in one direction. When there is a write instruction, the data to be written is placed into the MDR from another CPU register, which then puts the data into memory.The Memory Data Register is half of a minimal interface between a micro program and computer storage, the other half is a memory address register.

5)Index Register: A hardware element which holds a number that can be added to (or, in some cases, subtracted from) the address portion of a computer instruction to form an effective address. Also known as base register. An index register in a computer’s CPU is a processor register used for modifying operand addresses during the run of a program.

6)Memory Buffer Register:MBR stand for Memory Buffer Register. This register holds the contents of data or instruction read from, or written in memory. It means that this register is used to store data/instruction coming from the memory or going to the memory.

7)Data Register:A register used in microcomputers to temporarily store data being transmitted to or from a peripheral device.