COA Preparation

Created by
BBorhan
Last edited time
Tag
Computer ArchitectureComputer Organization
Computer architecture explains what a computer should doComputer organization explains how a computer works.
Computer architecture provides a functional behavior of computer system.Computer organization provides structural relationship between parts of computer system
Computer architecture deals with high level designComputer Organization delas with low level design (often called microarchitecture )
Computer architecture assists in understanding the functionality of the computer.Computer organization helps to understand the exact management of component of a computer
Actor in computer parts are hardware partsActor in computer organization is performance
Computer architecture design firstIt is started after computer architecture
Programmer viewTransparent from programmer
It involves with logical attributes, like instruction sets, data types, addressing modes, etc.It involves the relationship among physical parts of the system, like circuit etc.
AspectIBM System 370
Architecture32-bit mainframe computer architecture
Instruction seta wide range of instructions for arithmetic, logical, data manipulation operations
supporting both fixed-point and floating-point arithmetic
Addressing modesprovides various addressing modes including direct, indirect, indexed, base/displacement
Operating systemIBM’s OS/360 and its successor
third party operating system like UNIX
Peripheral supportsupport for peripherals such as printers, disk drives, tape drives and communication device
Virtualizationintroduced virtualization capabilities
Performancehigh performance, reliability, suitable for large scale computing task in business, government and academia

StructureFunction
Structure refers to the organization and interconnection of hardware components within a computer systemFunction refers to the operation and tasks performed by the hardware components within computer system to execute instructions, process data, and interact peripherals.
The structure includes components such as CPU, memory, buses, input/output devices.Functions encompass operations such as instruction fetching, decoding, execution, memory access, arithmetic/logic operations, i/o operation, system control etc.
It involves the arrangement and interconnection of hardware components to facilitate data flow, control signals and communication within computer system.Functions are organized to execute instructions in a sequential or parallel manner, utilizing the capabilities of different hardware components.
Structure optimization involves designing and configuring hardware components to minimize bottlenecks, reduce latency, increase throughput and enhance overall performance.Function optimization focuses on improving the efficiency of individual operations and algorithm implemented by the hardware components, utilizing techniques such as pipelining, parallel processing, caching etc.

System

  • CPU : Control Processing Unit

    Potions of the computer that fetches and executes instructions

    • CU
      • Control Unit
      • Controls the operation of the CPU
    • ALU
      • Arithmetic and Logic Unit
      • Perform Data processing function
    • Resistors
      • Provides storage internal to the CPU
    • CPU Interconnection
      • Some mechanism that provides for communication among the CU, ALU, registers
  • Main Memory : Stores data
  • I/O: moves data between the computer and its external environment
  • System Interconnection: Some mechanism that provides for communication among CPU, main memory and I/O. A common example of system interconnection is by means of a system bus.

Functions

  • Data Processing

    The data may take a wide variety of forms, and the range of processing requirements is broad.

  • Data Storage

    Even if the computer is processing data on the fly, the computer must temporarily store at least those piece of data that are being worked on at any given moment. Thus, there is at least short-term memory data storage function. Equally important, the computer performs a long-term data storage function.

  • Data Movement

    The computer ‘s operating environment consists of device that serve as either source or destination of data.

    • I/O : when data are received from or delivered to a device, that is directly connected to the computer
    • Data communications: when data are moved over longer distances to or from a remote device
  • Control: A control unit manages the computer’s resources and orchestrates the performance of its functional parts in response to instructions.

AspectFirst GenerationSecond GenerationThird GenerationFourth GenerationFifth Generation
Time Period1940s to early 1950sLate 1950s to mid-1960sLate 1960s to mid-1970sMid-1970s to mid-1990sMid 1990s to Present
TechnologyVacuum tubesTransistorsIntegrated CircuitsMicroprocessorAI, Quantum Computing, Nanotechnology
Size and PowerLarge, bulky, high power consumptionSmaller, less power consumptionFurther miniaturization, lower power usageSmaller, more efficient , increasingly powerfulHigher compact efficient and powerful
ProgrammingMachine languageAssembly languageHigh-level language (FORTRAN, COBOL)High-level languages (C, C++, Java)Focus on AI, ML. NLP, Robotics
Main usageScientific calculations, codebreakingBusiness data processing, scientific researchBusiness applications, database managementPersonal computers, networking, internetAI research, ML, Robotics
MemoryMagnetic drum, limited capacityMagnetic core, improved capacitySemiconductor RAMMagnetic and solid-state storage, RAMAdvance memory technology
User InterfacePunch cards, no interactive interfacebatch processing limited interactive accessTime-sharing system, limited GUIGUI, OS SupportNLP, AI agents
PerformanceSlow, limited capabilitiesImproved speed and capabilitiesFurther speed improvementRapid advancement in speed and capabilitiesFocus on optimization and parallelism
ExampleENIACIBM 7000IBM 360IBM PC,
Apple Macintosh
IBM Watson, Deep Blue, Google DeepMind

Moore’s Law: Number of transistors that could be put on a single chip was doubling every year.

Consequences:

A communication pathway connecting two or more devices.

CentralizedDistributedDecentralized
Central authorityShared among all nodes or devices on the busDistributed among multiple independent nodes
Controlled by a single arbiterMay involve negotiation among requesting devicesDecisions made autonomously by individual nodes
Granted sequentiallyNegotiated among requesting devicesNodes independently decide when to access the bus
Algorithm: fixed-priority or round robinToken Passing, CSMAVoting, Consensus
simple implementationcomplex due to negotiationmay require sophisticated algorithm and coordination mechanism
performance : Efficient in smaller systemsPerformance may vary depending on algorithmPerformance influenced by the arbitration method chosen
Example :PCI, ISAEthernetBlockchain-based protocols
Centralized
Decentralized

Previous:

Addressing mode: Addressing mode is a basically a technique used for determining the operand that associates with any given instruction.

ParametersDirect Addressing ModeIndirect Addressing Mode
Address FieldAddress field contains the effective address of operand.Address field contains reference of effective address.
Memory ReferencesRequires only one memory referenceRequires two memory references
Processing SpeedThis addressing mode has fast addressing compared to indirect addressing modeIt is slower than direct addressing mode.
ClassificationNo further classificationFurther classified into two categories- Memory Indirect and Register Indirect Addressing Mode.
CalculationNo further calculation is required to perform the operation.Requires further calculation to find the effective address.
Address SpaceIt occupies a smaller amount of space than the indirect mode.It occupies a large amount of space than the direct mode.
OverheadNo additional overhead is involved while searching for operand.Additional overhead is involved while searching for operand.
AdvantageEasy as no intermediary is involved.Availability of large address space.
DisadvantageAddress space is restricted.Requires more number of memory references.
ApplicationIt aids in accessing static data and using variables.It assists in passing arrays as parameters and implementing pointers.
Addressing methodExplicit: address of the operand is directly specified in the instructionExplicit: address of the operand is stored in a memory location specified by the instruction
FlexibilityLess flexible: only allows for fixed memory addressingMore flexible: allows for more dynamic memory addressing
Code sizeRequires less code: operand address is directly specified in the instructionRequires more code: additional instructions are needed to load the operand address from memory
Execution speedFaster: operand address is immediately availableSlower: additional memory accesses are required to obtain the operand address
ComplexityLess complex: requires fewer instructions and is generally easier to debugMore complex: requires additional instructions and memory accesses, and can be more difficult to debug
RISCCISC
Reduced Instruction Set ComputerComplex Instruction Set Computer
Simple Instructioncomplex
Simple processor circuitry ccomplex
Requires more registerless
Large Programsmall
More RAM usageless
Fixed length instructionvariable
Fixed clock cyclevariable
Focus on SoftwareHardware
used for high-end application, like video processing, telecommunicationlow-end-application like home automation device, security system

Instruction Pipelining is a technique used to improve instruction throughout and overall performance by allowing multiple instructions to be processed concurrently.

Handling Branches in instruction pipelining introduces challenges because the next instruction to be fetched may depend on the outcome of a branch instruction.

For Branch Operation

FI → Fetch the instruction from memory

DA → Decode the instruction

FO → Fetch the operands from memory

Ex → Execute the instruction.

Yes, Pipelining be a trouble for several issues and complications. These are:

The way of resolving:

  • We can always resolve hazards by waiting
  • Pipeline control must detect hazards and take action to resolve hazards.

ParameterHalf AdderFull Adder
BasicsThe Half Adder is a type of combinational logic circuit that adds two of the 1-bit binary digits. It generates carry and sum of both the inputs.The Full Adder is also a type of combinational logic that adds three of the 1-bit binary digits for performing an addition operation. It generates a sum of all three inputs along with a carry value.
Adding the Previous CarryThe Half Adder does not add the carry obtained from the previous addition to the next one.The Full Adder, along with its current inputs A and B, also adds the previous carry.
Hardware ArchitectureA Half Adder consists of only one AND gate and EX-OR gate.A Full Adder consists of one OR gate and two EX-OR and AND gates.
Total InputsThere are two inputs in a Half Adder- A and B.There are a total of three inputs in a Full Adder- A. B. C-in.
UsageThe Half Adder is good for digital measuring devices, computers, calculators, and many more.The Full Adder comes into play in various digital processors, the addition of multiple bits, and many more.
Logical ExpressionHere is the logical expression of Half Adder:
C = A * B
S = A ⊕ B
Here is the logical expression of Full Adder:
Cout = (AB) + CinA ⊕ CinB
S =A ⊕ B ⊕ Cin

SRAMDRAM
Static RAMDynamic RAM
Structure is flip-flops made of transistorsCapacitors
fasterslower
complex but less denseless complex but more dense
expensivecheap
used in cache memorymain memory

Disadvantages:

Parallel processing is a method in computing of running two or more processor to handle separate parts of an overall task.

Four levels:

SDRAMDDR SDRAM
Synchronous DRAMDouble Data Rate SDRAM
168 pins and 2 notches184 pins and 1 notch
released in 1997released in 2000
3.3 volts requred2.5 volts as standard, 1.8 volt as low voltage
Clock speed ranges between 100 to 166 MHz130 to 200 MHz
prefetch timing 1 ns2 ns
completion of previous read/write operation to continue other operationdoes not wait for completion of previous read and write operation

Advantage

Disadvantages