You are on page 1of 10

www.InfoFanz.

com

ADVANCED COMPUTER ARCHITECTURE


CHAPTER #1
NOTES:

Q.1. What is computer architecture and advance computer architecture?

Ans. COMPUTER ARCHITECTURE:


Computer Architecture is a combination of software (set of instructions) and hardware. In
which the instructions are implemented on hardware to perform some task or operation.

ADVANCE COMPUTER ARCHITECTURE:


It’s a computer architecture, which is in the form of abstraction and which reflects the
advancement in the languages and hardware used. It means the more efficient use of languages
on the hardware with the help of advancement in different parts of computer.

Q.2. What are imperative languages and give examples?

Ans. IMPERATIVE LANGUAGES:


We can define such languages according to the characteristics that they display.

 By default, statements (commands) are executed in a step wise, sequential manner.


 As a result order of execution is crucial.
 Destructive assignments – the effect of allocating a value to a variable has the effect of
destroying any value that the variable might have had previously.
 Control is the responsibility of the programmer – programmers must explicitly concern
themselves with issues such as memory allocation & declaration of variables.

EXAMPLES: C, FORTRAN, AND PASCAL.

Q.3. Why imperative languages are important?

Ans. IMPORTANCE OF IMPERATIVE LANGUAGES:


The importances of imperative languages are as follows:

1. The imperative paradigm is the most established paradigm.


2. It is much more in time with the computer community’s way of thinking.
3. Imperative programs tend to run much faster than many other types of programs.
4. Programmers are prepared to sacrifice some of the advance features & programming
convenience generally associated with high-level languages in exchange for speed of
execution.

Q.4. What is computational model?

Ans. COMPUTATIONAL MODEL:


The combination of languages and the computer architecture in a common foundation or
paradigm is called Computational Model. The concept of computational model represents the
higher level of abstraction than either the computer architecture or the programming language
alone, covers the both.
The computational model comprises the set of the following abstractions.
 The basic items of computation.
 The problem description model.
 The execution model.

Q.5. What are basic items of computation in computational model?

Ans. THE BASIC ITEMS OF COMPUTATION:


Data, object, argument and functions, element of sets and the predicates
www.InfoFanz.com
www.InfoFanz.com

.
 Variables (named data entities)
 Memory or registers location.

Q.6. What is problem description model and what are its parts?

Ans. PROBLEM DESCRIPTION MODEL:


The problem description model refers to both the style and the method of problem
description. It means that how the problem will be solved and how its solution will be made.

PARTS:
 Style: The problem description style specifies how the problem in a particular
computational model is described. It has two types:
1. Procedural Style: In this style the algorithm for solving the problem is stated.
2. Declarative Style: In this style all the facts and relationships relevant to the given
problem have to be stated. It also has two ways i.e. using functions (methods) or
predicates (conditional structure).

 Method: The problem description method specifies what will be the method that will be following to solve
the problem. It also has two types:
1. Solution
Based: this method states how the solution of the problem is to be described. E.g.,
Von Neumann Model solution lies in the sequential execution of instruction
expressing an appropriate algorithm.
2. Problem
Based: it specifies how the problem is to described e.g. applicative model problem is
represented set of function which express relationships and facts pertaining to the
problem.

Q.7. What is execution model and what are its parts?

Ans. EXECUTION MODEL:


The third and last element of the computational model describes that how the execution
will be performed on the instructions after selecting the problem description style and method. It
has also has three parts which are discussed below:
1. Interpretation of how to perform the computation: which is strongly related to
the problem description method. The computation has to be interpreted as the
execution of the given sequence of instructions.

2. Execution Semantics: this can be interpreted as a rule that prescribes how a


single execution step is to be performed. It has four types:
 State Transition Semantics: it states that how the data will change its stated
during execution. The Von Neumann, Turing and Object-based model, uses it.
 Data Flow Semantics: it states that how the data will flow during the execution.
Data flow model uses this type of execution semantics.
 Reduction Semantics: its applied to the applicative model.
 SLD-Resolution Semantics: its applied to the predicate logic-based model.

3. Control of the execution sequence: it specifies that how the execution will be
controlled. It has also three types:
 Control-driven: it is assumed that there exists a program consisting of a
sequence of instruction.
⇒ Implicit execution sequence.

www.InfoFanz.com
www.InfoFanz.com

⇒ Explicit control instructions are also there.


It is the characteristic of Von Neumann and Object-based model.
 Data-driven: operation is activated as soon as all the
needed input data is available. This mode of sequence control is also called
eager evaluation. It is the characteristic of Dataflow model.
 Demand-driven: operation is activated only when their
execution is needed to achieve the final result. This mode of execution control is
also called lazy evaluation because the ‘delayed until need’ philosophy is
applied. It has the characteristics of Applicative model.

Q.8. Draw the complete hierarchy of computational model?

Ans.

COMPUTATIONAL MODEL

Basic items of Problem Description Execution


computation Model Model

Data Objects Sets Style Method Interpretation Execution Control of


of how to Semantics execution
perform the sequence
computation

Procedural Declarative Procedural Declarative

Using Using
Functions Predicates
State Reduction SLD
Dataflow Semantics
Transition Semantics Resolution
semantics Semantics

Control
driven Data Demand
driven driven

Q.9. What is a Bus?

Ans. BUS:

 A communication pathway connecting two or more devices.

www.InfoFanz.com
www.InfoFanz.com

 Usually broadcast.
 Often grouped.
o A number of channels in one bus.
o E.g. 32 bits data bus is 32 separate single bit channels.
Power lines may not be shown.

Q.10. What is a Program?

Ans. PROGRAM:
 A sequence of steps.
 For each step arithmetic or logical operation is done or data movement is done.

Q.11. What is an Instruction cycle?

Ans. INSTRUCTION CYCLE:


There are two steps
 Fetch.
 Execute.
Fetch Cycle Execution Cycle

START Fetch Next Execute HALT


Instruction Instruction

Q.12. What is a Fetch cycle?

Ans. FETCH CYCLE:


 Program counter (PC) holds address of next instruction to be fetched.
 Processor fetches instruction from memory location pointed to by PC.
 Increment PC.
o Unless told otherwise.
 Instruction loaded into instruction register (IR).
 Processor interrupts instructions & performs required action.
 Program Status Word (PSW).
o Which holds information all the registers like a snapshot. All values are saved we
can use in context switching.

Q.12. What is critical section?

Ans. CRITICAL SECTION:


The section of program that is required to be executed in one go.

Q.13. What is Semaphores?

Ans. SEMAPHORES:
Kernel forms the data structure for each section and that data structure is called
semaphores.

Q.14 Describe Execution cycle?

www.InfoFanz.com
www.InfoFanz.com

Ans. EXECUTION CYLCLE:


 Process or memory.
o Data transfer between CPU & main memory.
 Processor I/O.
o Data transfer between CPU & I/O module.
 Data Processing.
o Some arithmetic or logical operation on data.
 Control.
o Alteration of data.
 Jumping.

Q.15. What are the concepts of computational model, programming language & architecture explain
with the help of diagram?

Ans. Every computational model uses two things one are programming language and the other is
corresponding computer architecture. Programming language is the specification part and
computer architecture is the implementation part.

Concepts of computational model, programming language, and architecture

Specification tool Implementation tool


Computational
Model

Execution

Programming Language Computer Architecture


Q.16. What are the features of Von Neumann model?

Ans. FEATURES OF VON NEUMANN MODEL:

 Variables are implemented as addressable locations in the memory or register.


 Sequencing is implemented by storing index of instruction in PC (Program Counter).
Q.17. What are the advantages and disadvantages of Von Neumann model?

Ans. ADVANTAGES:
 It can be easily implemented.

DISADVANTAGES:
 Sequential in nature.
 History sensitive.
o Not referentially transparent.
o Side effect.

Q.18. List down points of typical evolution?

Ans. Typical Evolution

www.InfoFanz.com
www.InfoFanz.com

Computation model
Corresponding programming language
Corresponding architecture

Q.19. What are the basic computational models?

Ans. Basic computational models:


Turing
Von Neumann
Object based
Dataflow
Applicative
Predicate logic based

Q.20. Explain Von Neumann model?

Ans. The von Neumann computational model:

Basic items of computation are data


Variables (named data entities)
Memory or register locations whose addresses correspond to the names of the variables
Data container
Multiple assignments of data to variables are allowed.

Problem description model is procedural (sequence of instructions).

Execution model is state transition semantics


Finite State Machine

Q.21. What are the key characteristics of Von Neumann model?

Ans. Key characteristics of the von Neumann model


Consequences of multiple assignments of data
History sensitive.
Side effects.
Consequences of control-driven execution
Computation is basically a sequential one.
++ Easily be implemented
Related language
Allow declaration of variables with multiple assignments.
Provide a proper set of control statements to implement the control-driven mode of execution.

Q.22. What are the extensions of Von Neumann model?

Ans. Extensions of the von Neumann computational model:

New abstraction of parallel execution

Communication mechanism allows the transfer of data between executable units


Unprotected shared (global) variables
Shared variables protected by modules or monitors
Message passing, and
Rendezvous

Synchronization mechanism is to impose restrictions on the execution sequence of the


executable units.

www.InfoFanz.com
www.InfoFanz.com

Semaphores
Signals
Events
Queues
 Barrier synchronization.

 Data sharing mechanism is needed to declare whether parallel


executable units are (processes) are allowed to access a common data space (shared
variable concept) or whether distinct processes have access to their local data spaces.
Also a communication mechanism should be provided for accessing data pertaining to
other processes (often termed as message-passing concept).

Q.23. What are the key concepts relating to computational models?

Ans. Key concepts relating to computational models:

Granularity
Complexity of the items of computation
Size
Fine-grained (e.g. Assembly)
Middle-grained
Coarse-grained (e.g. High-level language)
Typing
Data based type ~ Tagged
Object based type (object classes)

Q.24. Define the following terms with their types?

Ans. TYPED: which are declared variable with specific data type for example in C/C++, Java, VB and
so on.
 Strongly typed: when you declare any variable and you give wrong input it will give
error.
 Weakly typed: languages in which errors are not normally generated.
UNTYPED: which are not declared variable with specific data types for example in GWBasic.

TAGGED ARCHITECTURE: those architectures in which variables are tagged are called ‘tagged
architectures’.

PREFETCH: it is a technique, which you use to do more instructions at the same time.

SOME ABBREVIATIONS:
VLSI - Very Large Scale Integration.
SISD - Single Instruction Single Data Stream.
SIMD - Single Instruction Multiple Data Stream.
MISD - Multiple Instruction Single Data Stream.
MIMD- Multiple Instruction Multiple Data Stream.
CMOS – Component Metal Oxide Semiconductor
CISC - Complex Instruction Set Code
RISC – Reduced Instruction Set Code
SFI – Set Flag Interrupt
CLI – Clear Flag Interrupt
MAR – Memory Address Register
MBR – Memory Buffer Register

www.InfoFanz.com
www.InfoFanz.com

CHAPTER #2

Q.1. What is the concept of computer architecture?

Ans. The Concept of Computer Architecture:


Evolution and interpretation
Levels of abstraction
Hierarchical framework
Extensions
Description of computer architectures

Q.2. What is the evolution of computer architecture?

Ans. Evolution of the concept of computer architecture:


Computer architecture (programmer’s view)
The structure of a computer that a machine language programmer must understand to write a
correct (timing independent) program for the machine
Computer organization (implementer’s view)
Actual hardware structure and realization
Hierarchical, multilevel description
Electronic circuit, logic design, programming, processor-memory-switch
Functional specification and hardware implementation

Q.3. What is the evolution of computer architecture?

Ans.
 Computer architecture
 Underlying computational model
o Von Neumann, dataflow, …
 Level of consideration
o Micro machine, processor, computer system
 Scope of interest
o Functional specification, implementation
Abstract Architecture Concrete Architecture
Programming Model Hardware Model
Logical Design Physical Design
Registers, EU Circuits, Signals
Interconnections Interconnections
Ops, MicroInst, Inst Associated Signals

Q.4. What is the Multi-level hierarchical framework


?

Ans. Multilevel hierarchical framework:

P
www.InfoFanz.com

C
www.InfoFanz.com

Also see figure no.210

Q.5. What is the hierarchical description of digital systems


?

Ans. Hierarchical description of digital systems:


Operating system
Computer system
Processor
Functional block
Circuit
Circuit elements

APPLICATION
PROGRAMS

User OPERATING
Interface SYSTEM I/O CONTROLLER

Q.6.

DATA CARRIER

What is the description of computer architecture


?

Ans. Description of computer architectures


Informal description
An informal description is used in most papers introducing a new architecture or in
papers comparing existing architectures.
Formal description
A formal description is required if a precise, unambiguous representation is needed, such
as for inputting architecture specifications into a CAD package.
Description by ADLs (VHDL)
A fixed set of design decisions is assumed.
Description by a design space using DS-trees
All considered design aspects & available choices for each of the aspects can be
represented by means of DS-trees.

Q.7. Write a brief overview of general purpose ADLs?


www.InfoFanz.com
www.InfoFanz.com

Ans. A brief overview of general purpose ADLs:


VHDL
Very high speed integrated circuits Hardware Definition Language
Formal description used by simulation tools
Circuit, logic, functional, algorithmic, architectural

Q.8. What is the design space and its representation


?

Ans.
The design space and its representation Using DS-trees

A “consists of” B and C

B C

A “can be performed by”


B or C

B C

A “can be executively
performed by” B or C

B C

www.InfoFanz.com

You might also like