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

Discrete mathmetics and structures, how to prove the partial order R is a t...

how to prove the partial order R is a total order in discrete mathmetics and structures by topological sorting method in c programming

Java, differentiate between multitasking and multithreading in java

differentiate between multitasking and multithreading in java

Computer engineering designing, How the production of metal contributes to ...

How the production of metal contributes to computer engineering designing?

What are problems of clock skew, What are problems of clock skew? This ...

What are problems of clock skew? This is typically because of two causes. The primary is a material flaw that causes a signal to travel faster or slower than imagined. The seco

State the example of begin end, State the Example of begin end module s...

State the Example of begin end module sequential(); reg a; initial begin $monitor ("‰g a = ‰b", $time, a); #10 a = 0; #11 a = 1; #12 a = 0; #13 a = 1; #

What is rational administrator, Use the Rational Administrator to: * M...

Use the Rational Administrator to: * Make and manage projects. * Make a project under configuration management. * Make a project outside of configuration management.

Show the layout of dvorak-dealey keyboard, Q. Show the layout of Dvorak-Dea...

Q. Show the layout of Dvorak-Dealey keyboard? This was one keyboard layout designed to be a challenger to QWERTY layout. This was designed by August Dvorak and William Dealey a

What is a session in php, A session is a logical object formed by the PHP e...

A session is a logical object formed by the PHP engine to permit you to preserve data across subsequent HTTP requests. There is only one session object available to your PHP scr

Explain multithreading in a programming language, Multithreading is the pro...

Multithreading is the process in which more than single thread run independent of each other within the process in any programming language such as C, C++, etc.

Define parity bit and list its types, Define parity bit and List its types....

Define parity bit and List its types. The most common error detection code used is the parity bit. Parity bit is a extra bit contained with a binary message to make the total n

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