Unit I: Introduction to Computer Architecture and Organization - Computer Architecture - BCA Notes (Pokhara University)

Breaking

Wednesday, April 1, 2020

Unit I: Introduction to Computer Architecture and Organization - Computer Architecture

Computer Organization and Computer Architecture:

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

Computer Organization:

1. The organization of a computer refers to the logical structure of the system, including the CPU, control unit, I/O, etc.

2. Computer organization is how operational attributes are linked together and contribute to realizing the architectural specifications.

3. A computer's organization expresses the realization of the architecture.

4. Architecture describes what the computer does the organization describes how it does it.

Computer Architecture:

1. The architecture of a computer is the set of resources seen by the computer programmer. It includes general-purpose registers, the status word, the instruction set, the address space, etc.

2. Computer architecture is the architectural attributes like physical address memory, CPU and how they should be made and made to coordinate with each other keeping the future demands and goals in mind.

3. A computer's architecture is its abstract model and is the programmer's view in terms of instructions, addressing modes, and registers.

Review of Evolution of Computer System:

The computer as we know it today had its beginning with a 19th-century English mathematics professor name Charles Babbage. He designed the Analytical Engine and it was this design that the basic framework of the computers of today is based on. Generally speaking, computers can be classified into three generations. Each generation lasted for a certain period of time and each gave us either a new and improved computer or an improvement to the existing computer.

First Generation Computers:

The computers which were discovered approximately between 1942 A.D. and 1955 A.D. are classified as the First Generation of Computers. All the computers which were discovered during the first generation had “Vacuum Tubes” for their memory and processing devices. The vacuum tube was developed by Lee De Forest in 1908 A.D. and used later in a computer system.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

Vacuum tubes were a glass device, which used filaments as a source of electronics, could control and amplify electronic signals. It was the only high-speed electronic switching device available in those days. The vacuum tubes required a great amount of energy and generated much heat. Lots of space were required not only for a large number of vacuum tubes but also for housing special air-conditioning units to get rid of the heat generated by vacuum tubes.

Examples: Mark-I, ENIAC, EDSAC, EDVAC, UNIVAC-I, ABC, IBM 701, IBM 700 Series, IBM 704, IBM 709, etc.

Second Generation Computers:

The computers which were discovered approximately between 1955 A.D. and 1964 A.D. are classified as Second Generation of Computers. They have transistors and diodes for their memory and processing devices. Transistor was developed by three scientists John Braden, William Shockley, and Walter Brattain in 1947 A.D. at Bell Laboratory in the United States and won the Nobel Prize in 1956 A.D. for it.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

Transistors were made of solid materials principally called silicon and germanium semiconductor material rather than glass. Therefore they were cheap to produce. One transistor replaced the equivalent of 40 vacuum tubes. Transistors were found to conduct electricity faster and better than vacuum tubes. They were also much smaller and gave off virtually no heat compared to vacuum tubes. Their use marked a new beginning for the computer. Transistors were highly reliable as compared to vacuum tubes since they had no part like filament, which could burn out. They could switch much faster (almost 10 times faster) than vacuum tubes. The transistor is the basic unit in radio, television and computer circuits. It is often used to amplify the current flowing from one circuit to another. A transistor consists of three connecting parts: a base, an emitter, and a collector.

Example: IBM 7090, IBM 7094I, IBM 7094II, IBM 1620, IBM 1401 (the first computer brought in Nepal on hire for National Census 2028), ICL 2950/10 (the second computer brought in Nepal from England on 20 lakhs US dollar for National Census 2038), etc.

Third Generation Computers:

The computers which were discovered approximately between 1964 A.D. and 1975 A.D. are classified as Third Generation of Computers. They have Integrated Circuits for memory and processing devices. Integrated Circuit was developed by Jack St. Clair Kilby and Robert Noyce in 1958 A.D.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

An integrated circuit (IC) also called a microchip, is an electronic circuit consisting of a large number of electronic components like transistors, resistors, and capacitors placed on a single silicon chip, eliminating wired interconnection between components. IC chips are much smaller in size, faster in operation, consuming much less power, high performance, and more reliable than a transistor and vacuum tubes. Initially, the integrated circuits contained only up to 100 components and the technology named as SSI (Small Scale Integration). Later, with the advancement in technology for manufacturing ICs, it became possible to integrate from 100 to 3000 components on a single chip, and this technology named MSI (Medium Scale Integration). They function as timers, amplifiers, logic units, counters, calculators, temperature sensors, and radio receivers.

Example: IBM system/360, ICL 1900, IBM 370 series, Honeywell 2200 series, CDC 7600, STAR-100, UNIVAC 9000, etc.

Fourth Generation Computers:

The computers which were discovered approximately between 1975 A.D. and 1989 A.D. are classified as Fourth Generation of Computers. They have microprocessor as CPU "Central Processing Unit" with LSI "Large Scale Integration" and VLSI "Very Large Scale Integration" technology in ICs as memory and processing devices. The microprocessor was developed by Intel Corporation in 1971 A.D.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

A microprocessor is a single chip in which millions of components like transistors are integrated together in different layers and it performs all the operations of the computer's processor; since it is so small, it is called a microprocessor. It is a complete CPU built on a single chip by using LSI or VLSI technology.

Intel Corporation of USA developed the first microprocessor named "Intel 4004" in 1971 A.D. It contained about 1600 transistors. It was a 4-bit microprocessor and process only 4 bits of data at a time. Since then, technology has increased by leaps and bounds. The microprocessors available today are more powerful than many of the large computers of the past. They have become cheaper and more reliable too. The modern processors are available in 32, 64, or higher bits word length. The important characteristics of a microprocessor are the width of an address bus, data bus, clock speed, and instruction set architecture. Processors are also often classified as being either RISC "Reduced Instruction Set Computer" or CISC "Complex Instruction Set Computer".

Example: IBM PC, Apple/Macintosh, Wang Laser, Letron, Acer ASPIRE 5741, Apple MacBook Air, Dell Inspiron 1440, etc.

Fifth Generation Computers:

The computers which were discovered approximately between 1989 A.D. and present are classified as Fifth Generation of Computers. In the fifth-generation, VLSI "Very Large Scale Integration" technology became ULSI "Ultra Large Scale Integration" technology, resulting in the production of microprocessor chips having ten million electronic components. In fact, the speed of microprocessors and the size of main memory and hard disk doubled almost every 18 months.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

This generation is based on parallel processing hardware and Artificial Intelligence "AI" software. Artificial Intelligence is an emerging branch in computer science, which interprets means and method of making computers think like human beings. All the high-level languages like C and C++, Java, .Net, etc are used in this generation.

During the fifth generation, there was a tremendous outgrowth of computer networks which emerge the use of electronic mail and World Wide Web "WWW". Moreover, exciting applications like electronic commerce, virtual libraries, virtual classrooms, distance education, etc emerged during the period.

Generally, this generation computers are referred to as Artificial Intelligence which includes:
1. Robotics
2. Neural Networks
3. Game playing
4. Expert Systems
5. Understand natural languages such as Nepali, English, Hindi, etc.

As a result of the various improvements to the development of the computer, we have seen the computer being used in all areas of life. It is a very useful tool that will continue to experience new development as time passes.

Basic Structure of Computer System:

Structure and Function:

The computer is a complex system as it contains millions of electronic components. It simply refers to the architecture of a computer system. The key concept if to recognize the hierarchical model of a more complex system and each complex system is divided into the lower-level hierarchical model until we reach the lowest level of the elementary subsystem.

The structure refers to the way in which components are inter-related. Similarly, function refers to the operation of each individual component as a part of the structure. The functional view of the computer system is shown below:

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

It is essential that computer stores data even if the computer is processing data on the flying mode (data coming, get a process and result go out). A computer must temporarily store at least those pieces of data that are being worked at any given movement. Thus, there is at least a short term data storage function.

Except for it, the computer uses a different hierarchy of memory like primary memory, secondary memory, etc. The computer must be able to move data between itself and the outside world. The computer operating environment consists of devices that serve as either source or destination whereas the control mechanism controls all the activities.

Structure of Computer System (Top Level):

The computer system has mainly four parts and they are:
1. CPU: It controls the operation of the computer and performs its data processing.
2. Main Memory: It stores the data.
3. Input/output: They move data between the computer and the external environment.
4. System Interconnection: Some mechanism that provides communication among CPU, Main Memory, and Input/output.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

Structure of the CPU:

Some major components of the CPU structure are:
1. Control Unit: It controls the overall operations of the CPU.
2. ALU: It performs arithmetic and logical operations.
3. Registers: It provides storage inside the CPU.
4. CPU Interconnection: It provides communication between register, ALU, and Control Unit.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

Structure of Control Unit:

The structure of the control unit contains the following components:
1. Sequence Logic: Digital circuit whose output depends on current input and state of circuits.
2. Control Memory: The register which stores data related to the controlled operation.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

Examples of Computer Families:

Pentium is the family of microprocessor developed by Intel Corporation which was introduced in 1993 as a successor of Intel 80486 microprocessor. It was developed by CISC architecture (Complex Instruction Set Computer).  Its main feature was a 32-bit address bus memory management unit. The evolution of Intel Pentium processor is described below:

1. 4-bit Processor: Intel 4004 was the first microprocessor originally developed to be used in the calculator.

2. 8-bit Processor: Intel 8008 was the first 8-bit microprocessor originally intended for use in a data point.

3. 16-bit Processor: It has data bus for 19-bit and address bus of 20-bit. It includes 8086, 80186 and 80286 microprocessors.

4. 32-bit Processor: It includes 80386 and 80486 processor which supports multitasking.

5. Pentium Series: with the Pentium, Intel introduced the use of superscalar technology which allows multi-instructions to execute in parallel. The Pentium series are:
  a. Pentium Pro
  b. Pentium II
  c. Pentium III
  d. Pentium IV

Future Trends in Computer:

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

1. 5G:

Enabling everything from interactive automobiles and super gaming to the industrial Internet of Things, 5G will take wireless to the future and beyond, preparing for the rapidly approaching day when everything, including the kitchen sink, might be connected to a network, both local and the Internet.

2. Virtual Reality:

VR technologies reach a critical mass of functionality, reliability, ease of use, affordability, and availability. Movie studios are partnering with VR vendors to bring content to the market. News organizations are similarly working with VR companies to bring immersive experiences of news directly into the home, including live events.

3. Nonvolatile Memory: 

Nonvolatile memory, which is computer memory that retrieves information even after being turned off and back on has been used for secondary storage due to issues of cost, performance and write endurance, as compared to volatile RAM memory that has been used as primary storage. This will literally change the landscape of computing, allowing smaller devices to store more data and large devices to store huge amounts of information.

4. Cyber Physical Systems (CPS):

CPS are smart systems that have cyber technologies, both hardware and software, deeply embedded in and interacting with physical components, sensing and changing the state of the real world. These systems have to operate with high levels of reliability, safety, security, and usability since they must meet the rapidly growing demand for applications such as the smart grid, the next generation air transportation system, intelligent transportation systems, smart medical technologies, smart buildings and smart manufacturing.

5. Data Science: 

Technically, data science is an interdisciplinary field about processes and systems to extract knowledge or insights from data in various forms, either structured or unstructured, which is a continuation of some of the data analysis fields such as statistics, data mining, and predictive analytics. In less technical terms, a data scientist is an individual with the curiosity and training to extract meaning from big data, determining trends, buying insights, connections, patterns, and more. Frequently, data scientists are mathematics and statistics experts. Sometimes, they’re more generalists; other times, they are software engineers.

6. Capability-Based Security: 

The greatest single problem of every company and virtually every individual in this cyber world is security. The number of hacks rises exponentially every year, and no one’s data is safe. Finding a “better way” in the security world is golden. Hardware capability-based security, while hardly a household name, maybe a significant weapon in the security arsenal of programmers, providing more data security for everyone. Capability-based security will provide finer grain protection and defend against many of the attacks that today are successful.

7. Advanced Machine Learning: 

Impacting everything from the game playing and online advertising to brain/machine interfaces and medical diagnosis, machine learning explores the construction of algorithms that can learn from and make predictions on data. Rather than following strict program guidelines, machine learning systems build a model based on examples and then make predictions and decisions based on data. They “learn.”

8. Network Function Virtualization (NFV): 

More and more, the world depends on cloud services. Due to limitations in technology security, these services have not been widely provided by telecommunications companies — which is a loss for the consumer. NFV is an emerging technology which provides a virtualized infrastructure on which next-generation cloud services depend. With NFV, cloud services will be provided to users at a greatly reduced price, with greater convenience and reliability by telecommunications companies with their standard communication services.

9. Containers: 

Containers allow companies to develop and deliver applications faster and more efficiently. This is a boon to consumers, who want their apps fast. Containers provide the necessary computing resources to run an application as if it is the only application running in the operating. While containers can deliver many benefits, the gating item is security, which must be improved to make the promise of containers a reality.

Instruction and Instruction Format:

An instruction is a command given to the computer to perform a specific task. Instructions are represented as a sequence of bits. Instruction is divided into a number of fields corresponding to elements of instruction. A layout of instruction is known as instruction format. For example: if an instruction is of 3 bytes then its layout is represented as:

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

Instruction Sets Design Issues:

An instruction set is a complex job because it affects so many aspects of the computer system. The instruction set defines many of the functions performed by CPU and therefore, has a significant effect on the implementation of the CPU. Some instruction sets are the means by which a programmer can control CPU. Therefore programmer view must be considered while designing an instruction set.

Some of the important issues related to instructional design are:

1. Operation: How many and which operation to provide and how complex operation should be performed.
2. Data Types: The variable types of data on which the operations are performed.
3. Registers: The number of registers that can be referenced to the operand is specified.
4. Registered: This includes instruction length number of address size, etc.

Milestone in Computer Organization:

In the development process of the computer, a new concept is invented and used. One of the milestone concepts is the stored program concept (SPC). In this concept of computer design instructions are stored in memory and are used by accessing that memory by a processor.

In 1946, Von-Neumann and his colleagues design a new stored programmed computer called IAS (Institute for Advanced Study) computer. 

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

Instruction Format of IAS (Institute for Advanced Study) Computer:

IAS machine consists of thousands of memory locations. The location is a word and has a 40-bit length.
Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

1. A number or data word contains 1-bit sign and remaining 39-bit for magnitude.
2. The address value maybe 0 – 999

Expanded Structure of IAS Computer:

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

Before executing an instruction the address, data, and instructions are stored in the register. The CPU consisting Program Control Unit and Arithmetic Logic Unit have small registers which are as follows:
1. Memory Buffer Register (MBR): It contains a word to be stored in memory or is used to receive a word from memory.
2. Memory Address Register (MAR): It contains the address value to a specific address in memory of the word to be written from or read into MAR.
3. Instruction Register (IR): It controls the Opcode of the instruction begins executed.
4. Instruction Buffer Register (IBR): It temporarily holds an instruction from a word in memory.
5. Program Counter (PC): It contains the address of the next instruction to be fetched from memory.
6. Accumulator and Multiplier Quotient (AC and MQ): Holds temporary operands and results of ALU operation.

IAS Instructions:

1. Data Transfer Group:

Move data between memory and ALU register and vice-versa.
a. Load MQ: Transfer contents of register MQ to the accumulator.
b. Load MQ, M(X): Transfer contents of memory location X to MQ.
c. Store M(X): Transfer content of accumulator.
d. Load M(X): Transfer M(X) to the accumulator.
e. Load –M(X): Transfer –M(X) to accumulator.

2. Arithmetic Instruction:

These are the instructions performed by ALU.
a. Add M(X): Add M(X) to the accumulator.
b. Sub M(X): Subtract M(X) from the accumulator.
c. MUL M(X): Multiply M(X) and MQ.
d. DIV M(X): Divide accumulator by M(X).

3. Unconditional Branching Instructions:


The sequence of execution of instruction changes by the unconditional branch. The purpose is to execute instructions repeatedly.
a. Jump M(X; 0:19): Take the next instruction from the left half of M(X).
b. Jump M(X; 20:39): Take the next instruction form right of M(X).

4. Conditional Branch Instruction:


The jump depends on the condition.
a. Jump +M(X; 0:19): If the number in the accumulator is non-negative take the next instruction from the left half of M(X).
b. Jump –M(X; 20:39): If the number in the accumulator is negative take the next instruction from the right half of M(X).

5. Address Modify:

Permits address to be compared by ALU and then inserted an instruction stored in memory.
a. STOR M(X; 8:19): Replace left address the field at M(X) by 12 rightmost bits of accumulator.
b. STOR M(X; 28:39): Replace the right address filed at M(X) by 12 rightmost bits of accumulator.

Addressing Mode:

The operation field of an instruction specifies the operation to be performed. This operation must be executed on some data stored in a computer register as memory words. The way the operands are chosen during program execution is dependent on the addressing mode of the instruction. The addressing mode specifies a rule for interpreting or modifying the address field of the instruction between the operand is activity referenced. Computer use addressing mode technique for the purpose of accommodating one or both of the following provisions.

1. To give programming versatility to the uses by providing such facilities as a pointer to memory, counters for top control, indexing of data, and program relocation.

2. To reduce the number of bits in the addressing fields of the instruction.

The Most Common Addressing Techniques Are:

1. Direct Addressing:

A very simple form of addressing is direct addressing, in which the address field contains the effective address of the operand:
EA = A

It requires only one memory reference and no special calculation.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

2. Indirect Addressing:

With direct addressing, the length of the address field is usually less than the word length, thus limiting the address range. One the solution is to have the address field refer to the address of a word in memory, which in turn contains a full-length address of the operand. This is known as indirect addressing:
EA = (A) 

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

3. Immediate Addressing:

The simplest form of addressing is immediate addressing, in which the operand is actually present in the instruction:
OPERAND = A

This mode can be used to define and use constants or set initial values of variables. The advantage of immediate addressing is that no memory reference other than the instruction fetch is required to obtain the operand. The disadvantage is that the size of the number is restricted to the size of the address field, which, in most instruction sets, is small compared with the world length.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

4. Register Addressing:

Register addressing is similar to direct addressing. The only difference is that the address field refers to a register rather than a main memory address:
EA = R

The advantages of register addressing are that only a small address field is needed in the instruction and no memory reference is required. The disadvantage of register addressing is that the address space is very limited.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

5. Register Indirect Addressing:

Register indirect addressing is similar to indirect addressing, except that the address field refers to a register instead of a memory location. It requires only one memory reference and no special calculation.
EA = (R)

Register indirect addressing uses one less memory reference than indirect addressing. Because the first information is available in a register which is nothing but a memory address. From that memory location, we use to get the data or information. In general, register access is much faster than memory access.

Computer Organization and Computer Architecture Review of Evolution of Computer System, Basic Structure of Computer System, Examples of Computer Families, Future Trends in Computer, Review of Instruction Set, Instruction Formats, Milestone in Computer Organization, Instruction Format of IAS Computer, IAS Instructions, Addressing Modes,

6. Relative Addressing:

For relative addressing, the implicitly referenced register is the program counter (PC). That is, the current instruction address is added to the address field to produce the EA. Thus, the effective address is a displacement relative to the address of the instruction.

7. Base-Register Addressing:

The reference register contains a memory address, and the address field contains a displacement from that address. The register reference may be explicit or implicit. In some implementation, a single segment/base register is employed and is used implicitly. In others, the programmer may choose a register to hold the base address of a segment, and the instruction must reference it explicitly.

No comments:

Post a Comment

If you have any doubt, then don't hesitate to drop comments.