Speed of memory versus speed of CPU, Computer Engineering

Assignment Help:

In the past there was a large gap between speed of a memory andprocessor. So a subroutine execution for an instruction for illustration floating point addition may have to follow a lengthy instruction sequence. Question is; if we make it a machine instruction then just one instruction fetch will be needed and rest will be done with control unit sequence. So a 'higher level' instruction can be added to machines in an effort to improve performance.

Though this supposition is not very valid in present era where Main memory is supported with Cache technology. Cache memories have decreased the difference between memory and CPU speed and so an instruction execution by a subroutine step may not be that difficult.

Let's explain it with help of an illustration:

Suppose floating point operation ADD A, B needs the subsequent steps (presuming the machine doesn't have floating point registers) and registers being used for exponent are E1, E2, and EO (output); for mantissa M1, M2 and MO (output):

  • Load exponent of A in E1
  • Load mantissa of A in M1
  • Load exponent of B in E2
  • Load mantissa of B in M2
  • Compare E1 and E2

-  If E1 = E2 then MO ← M1 + M2 and EO ← E1

Normalise MO and adjust EO

  • Result will be contained in MO, E1

Else if E1< E2 then find the difference = E2 - E1

  • Shift Right M1, by difference
  • MO ← M1 + M2 and EO ← E2
  • Normalise MO and adjust EO
  • Result is contained in MO, EO

 Else E2 < E1, if so find the difference = E1 - E2

  • Shift Right M2 by difference above
  • MO ← M1 + M2 and EO ← E1
  • Normalise MO and adjust E1 into EO
  • Result is contained in MO, EO

 Store the above results in A

 Checks overflow underflow if any.

If all above steps are coded as one machine instruction then this simple instruction will need many instruction execution cycles. If this instruction is made as part of machine instruction set as: ADDF A,B (Add floating point numbers A and B and store results in A) then it would just be a single machine instruction. All above steps needed will then be coded with help of micro-operations in form of Control Unit Micro-Program. Soonly one instruction cycle (though a long one) may be required. This cycle will need only one instruction fetch. While in the program memory instructions will be fetched.

Though faster cache memory for data and Instruction stored in registers can create an almost similar instruction execution environment. Pipelining can further increase such speed. So creating an instruction as above may not result in faster execution.


Related Discussions:- Speed of memory versus speed of CPU

Instruction level-parallelism based on granularity size, Instruction level ...

Instruction level This is the initial level and the degree of parallelism is uppermost at this level. The fine grain size is used at statement or instruction level as only few

Explain the term- viruses, Explain the term- Viruses Use of firewalls a...

Explain the term- Viruses Use of firewalls and ant-virus software to prevent viruses entering a computer. It's also sensible not to open attachments/emails from "unknown" sourc

What do you mean by directives, Q What do you mean by Directives? Assem...

Q What do you mean by Directives? Assembly languages support numerous statements. This allows you to control the way in which a source program assembles and list. These stateme

Explain the t flip flop, Explain the T Flip Flop? The toggle, or T, fli...

Explain the T Flip Flop? The toggle, or T, flip-flop is the bistable device that changes state on command from a common input terminal.   Truth Table

Discuss different mode of centralized stored program control, Explain SPC. ...

Explain SPC. Also discuss the different modes of Centralized SPC In stored program control systems, set of instructions or a program to the computer is stored into its memory a

Define atomic directive in fortan, Q. Define Atomic Directive in FORTAN? ...

Q. Define Atomic Directive in FORTAN? Atomic directive guarantees a specific storage location is updated atomically rather than exposing it to odds of multiple simultaneous wri

How does VB.NET achieve polymorphism, How does VB.NET/C# achieve polymorphi...

How does VB.NET/C# achieve polymorphism?  VB.Net / C# give polymorphism through the following mechanisms: 1. Inheritance - base class gives overridable methods which are re-

What is task identifier, Q. What is task identifier? Each and every PVM...

Q. What is task identifier? Each and every PVM task is uniquely recognized by an integer known as task identifier (TID) assigned by local pvmd. Messages are received from and s

Conjunctive normal form -artificial intelligence , Conjunctive Normal Form ...

Conjunctive Normal Form -artificial intelligence : For the resolution law to determine two sentences, they should both be in a normalized format known as conjunctive normal fo

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd