0% found this document useful (0 votes)
6 views10 pages

1

The document discusses the concept of architecture in computing, focusing on the evolution from fixed program computers to stored program computers, particularly the Von Neumann architecture. It outlines the components of a CPU, including the control unit, arithmetic logic unit, and various registers, as well as the role of instruction sets in programming. Additionally, it highlights the limitations of the Von Neumann architecture, such as the bottleneck effect, and explains the structure and types of instructions used in machine language.

Uploaded by

anukaranugi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views10 pages

1

The document discusses the concept of architecture in computing, focusing on the evolution from fixed program computers to stored program computers, particularly the Von Neumann architecture. It outlines the components of a CPU, including the control unit, arithmetic logic unit, and various registers, as well as the role of instruction sets in programming. Additionally, it highlights the limitations of the Von Neumann architecture, such as the bottleneck effect, and explains the structure and types of instructions used in machine language.

Uploaded by

anukaranugi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

What is Architecture?

“The complex or carefully design structure of something”

Early Days?

Historically there have been 2 types of Computers:

Fixed Programs

They were designed to do very specific operations

It can do basic mathematics, but it cannot be used as a word processor or a gaming console

Changing the program of a fixed program machine requires rewiring, restructuring, or redesigning
the machine

A calculator is a fixed program computer

Stored Programs:

A stored program computer is one that stores program instructions in electronic memory

Therefore easily reprogrammable


Modern computers are based on a stored-program concept introduced by John Von Neumann a
Hungarian-American Mathematician, physicist, computer scientist in 1945. It was later known as
Von-Neumann architecture (also known as Princeton architecture).

In this stored-program concept, programs and data are stored in the same memory. The basic
concept is the ability to store program instructions in memory along with the data on which those
instructions operate. This novel idea meant that a computer built with this architecture would be
much easier to reprogram.

The basic structure is like this,

It is also known as ISA (Instruction set architecture) computer and is having three basic units:

1. The Central Processing Unit (CPU)

2. The Main Memory Unit

3. The Input/Output interfaces

1. Central Processing Unit: The central processing unit considered as heart of computing system is
defined as an electric circuit used for the executing the instruction of computer program.

It has following major components:

1. Control Unit

A control unit (CU) handles all processor control signals. It directs all input and output flow,
fetches code for instructions, and controls how data moves around the system. The execution of
each instruction is determined by a sequence of control signals produced by the control unit.
2. Arithmetic and Logic Unit (ALU) –
The arithmetic logic unit is that part of the CPU that handles all the calculations the CPU may
need, e.g. Addition, Subtraction, Comparisons. It performs Logical Operations, Bit Shifting
Operations, and Arithmetic operations. The inputs to an ALU are the data to be operated on,
called operands, and a code indicating the operation to be performed; the ALUs output is the
result of the performed operation.

Figure – Basic CPU structure, illustrating ALU

3. Registers (Variety of Registers)

Registers refer to high-speed storage areas in the CPU or in other words Registers are memory
location with specific purpose. The data processed by the CPU are fetched from the registers. There
are di erent types of registers used in architecture :-

Accumulator (AC): Stores the results of calculations made by ALU. It holds the intermediate of
arithmetic and logical operations. It acts as a temporary storage location or device.

How it works

An accumulator stores the intermediate results of each operation in multistep calculations. For
example, when adding multiple numbers, the accumulator first holds the result of adding the first
two numbers. Then the next number is added, and the new result replaces the previous result in the
accumulator

Program Counter (PC): Keeps track of the memory location of the next instructions to be dealt with.
The PC then passes this next address to the Memory Address Register (MAR). It is also known as the
instruction pointer.

How it works
When a computer starts or resets, the PC is automatically set to zero. After each instruction is
executed, the PC is incremented by one to point to the next instruction. The CPU reads the address
stored in the PC and executes the instruction at that address.

Memory Address Register (MAR): It stores the memory locations of instructions that need to be
fetched from memory or stored in memory.

How does it work?

The MAR sets its output to the address from the instruction register (IR) or program counter (PC)

The MAR transfers the address to the memory unit

The memory data register (MDR) holds the data found at the address in the MAR

Memory Data Register (MDR): It stores instructions fetched from memory or any data that is to be
transferred to, and stored in, memory.

How it works

The MDR temporarily stores data that's being read from or written to memory.

It acts as a bu er between the CPU and memory, allowing for e icient data transfer.

The MDR works in conjunction with the memory address register (MAR), which holds the address of
the location where data is to be read or written.

Current Instruction Register (CIR): It stores the most recently fetched instructions while it is waiting
to be coded and executed.

Buses – Data is transmitted from one part of a computer to another, connecting all major internal
components to the CPU and memory, by the means of Buses. Types:

1. Data Bus: It carries data among the memory unit, the I/O devices, and the processor.

2. Address Bus: It carries the address of data (not the actual data) between memory
and processor.

3. Control Bus: It carries control commands from the CPU (and status signals from
other devices) in order to control and coordinate all the activities within the
computer.

2. The Main Memory Unit


The computer memory is used to store program instructions and data. It consists of many
memory cells (storage units) of a fixed size. Each cell has an address associated with it.

3. Input/Output Devices – Program or data is read into main memory from the input device or
secondary storage under the control of CPU input instruction. Output devices are used to
output information from a computer. If some results are evaluated by the computer and it is
stored in the computer, then with the help of output devices, we can present them to the user.

Von Neumann bottleneck –

Whatever we do to enhance performance, we cannot get away from the fact that instructions can
only be done one at a time and can only be carried out sequentially. Both of these factors hold back
the competence of the CPU. This is commonly referred to as the ‘Von Neumann bottleneck’. We can
provide a Von Neumann processor with more cache, more RAM, or faster components but if original
gains are to be made in CPU performance then an influential inspection needs to take place of CPU
configuration.

This architecture is very important and is used in our PCs and even in Super Computers.
Comment on the results. Although machine B has a higher MIPS than machine A, it requires a longer
CPU time to execute the same set of benchmark programs
A programmer writes the program instructions in assembly language, which are easily understandable for
the humans. But the assembly language is not understandable by the computer machines, as these computer
machines are made of digital modules, which understand only binary logic. Hence, during execution,
program is converted into binary codes which is understandable by the computer machines. The Instruction
Set Architecture (ISA) is the part of the processor that is visible to the programmer or compiler designer.
They are the parts of a processor design that need to be understood in order to write assembly language,
such as the machine language instructions and registers. A binary coded instruction is in format, which is
interpreted and executed by the machine. The ISA serves as the boundary between hardware and software.

INSTRUCTION SET CHARACTERISTICS


The key role of the Central Processing Unit (CPU) is to perform the calculations, to issue the commands,
to coordinate all other hardware components, and executing programs including operating system,
application programs etc. on your computer. But CPU is primarily the core hardware component; assembly
language is not understandable by the computer machines, as these computer machines are made of digital
modules, which understand only binary logic. Hence, you must speak to it in the core binary machine
language. The words of a machine language are known as instructions, and its syntax is known as an
instruction set.
The Instruction Set Viewpoints
Instruction set is the boundary where the computer designer arid the computer programmer see the same
computer from different viewpoints. From the designer's point of view, the computer instruction set
provides a functional description of a processor, that is:
(i) A detailed list of the instructions that a processor is capable of processing.
(ii) A description of the types/ locations/ access methods for operands.
The common goal of computer designers is to build the hardware for implementing the machine's
instructions for CPU.
From the programmer's point of view, the user must understand machine or assembly language for low-
level programming. Moreover, the user must be aware of the register set, instruction types and the function
that each instruction performs.
This unit covers both the viewpoints. However, our prime focus is the programmer's viewpoint with the
design of instruction set. Now, let us define the instructions, parts of instruction and so on.

What is an Instruction Set?


Instruction set is the collection of machine language instructions that a particular processor understands and
executes. In other words, a set of assembly language mnemonics (when writing programs for a specific
computer words are normally replaced by acronyms called mnemonics, such as LD, ST, and ADD.)
represents the machine code of a particular computer. Therefore, if we define all the instructions of a
computer, we can say we have defined the instruction set. It should be noted here that the instructions
available in a computer are machine dependent, that is, a different processors have different instruction sets.
However, a newer processor that may belong to some family may have a compatible but extended
instruction set of an old processor of that family. Instructions can take different formats.

Instruction format
A simple instruction format is shown in Figure 1. It consists of three components: the operand address, the
operation code or opcode and the mode.

The number of bits is allocated to each component. Basic definition of these components are:

Opcode: In instruction, opcode decides the operation to be performed on the data.


Operand: In Instruction, operands are the data on which operation is to be performed.
Effective address: In instruction, it is the memory address where the data/operand is stored. For example,
if data is stored in register, register is the effective address.
Effective address is decided by the addressing schemes, which will be discussed in detail later. The mode
field of the instruction determines how the effective address would be computed in a machine.
The total number of operations, which can be performed by a computer machine is decided by the bits
allocated for the operation code of an instruction. The n-bits operation code can be used to code 2n distinct
operations. For example, the 7 bits opcode, as given in Figure, can be used to code 2 = 128 distinct
operations. The computer can be designed using these opcodes, such that a typical opcode may represent,
a typical operation. An example opcode can be designed as:
ADD operation: 1100100 (7-bit opcode)
The number of bits allocated to operand field, of the instruction in Figure, depends on the memory address
size or the data bits. In Figure, the 31st bit “I” decides the mode if address is in direct or indirect mode. In
direct mode, the address given in the instruction is the effective address of the operand. In indirect mode,
the instruction holds the memory address where the effective address of operand is saved. It may be noted
that this instruction format just allows direct and indirect addressing mode and a single operand in each
instruction. However, different instruction formats may support different types of addressing modes and
different number of operands.

A point that can be noted for the instruction format of Figure is that size of operand filed of instruction is
24 bits. In case, this operand is a direct operand, then the size of the main memory addresses that can be
supported by the machine having instruction format, as given in Figure is 2 = 16 M memory words.
Operand Data Types
In computer, operands are the data bits on which operation is to be performed. As shown in Figure 9.1, data
types can be categorised as logical, integer and characters. Logical data is Boolean which may be 1/0 or
true/false. Integer data may be further divided into: decimal, fixed point, and floating point. And the
character data have mnemonics such as: ASCII, UNICODE etc.

Types of Instructions
To evaluate any computable function, a computer must have a group of instructions created by the designer
in machine language. Computer instructions are the translation of high level language code to machine level
language programs. The set of instructions include various types such as: arithmetic instructions, logical
instructions, shift instructions, instructions to transfer content from memory to processor register, program
control instructions and input/output instructions. Broadly, instruction can be categorized as below:
1. Data Transfer Instruction
2. Data Processing Instruction
3. Program Control Instruction

1. Data Transfer Instruction


These instructions transfer data from one location in the computer to another location without changing the
data content. The most common transfers are between:

processor registers and memory,


processor registers and I/O, and
processor registers themselves.
The instructions with data in the central processor register are faster than that of instructions with data in
memory. Each instruction has a mnemonic which can be used as part of the assembly language. Please note
that these mnemonics may vary for different machines. Data transfer instructions are listed below:

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy