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

Explain the potential role of information technology, Question 1: Descr...

Question 1: Describe the five maturity levels of KM that an organization faces when adopting the Frid's KM framework. Question 2: (a) Describe three major issues that

Returns the information about tasks running, Returns the information about ...

Returns the information about tasks running int info = pvm_tasks( int where, int *ntask, struct pvmtaskinfo **taskp ) struct pvmtaskinfo {  int ti_tid; int ti_pt

What are advantages and disadvantages of using eeprom, What are advantages ...

What are advantages and disadvantages of using EEPROM? The benefits are that EEPROM do not have to be removed for erasure. Also it is possible to delete the cell contents selec

What are condition codes, What are condition codes? In many processors,...

What are condition codes? In many processors, the condition code flags are kept in the processor status register. They are either set are cleared by lots of instructions, so th

Illustrate memory read operation, Q. Illustrate Memory Read operation? ...

Q. Illustrate Memory Read operation? Memory unit receives the address from a register known as the memory address register designated by MAR. Data is transferred to another re

Functions employed for messaging passing, Q. Functions employed for messagi...

Q. Functions employed for messaging passing? The functions employed for messaging passing are: int MPI_Send(void *msgaddr, int count, MPI_Datatype datatype, int dest, int ta

Advantage of crc over simple checksum, Why can CRC detect more errors than ...

Why can CRC detect more errors than simple Checksum? There are two purposes a CRC can identify more errors than a simple Checksum. 1. Since an input bit is shifted by all th

Illustrate when are intermolecular forces the strongest, Q. Illustrate when...

Q. Illustrate when are intermolecular forces the strongest? Answer:- Intermolecular forces dispersion and dipole-dipole and hydrogen bonds. These forces are feeble than ch

Classes, write a program to copt values of object without using copy constr...

write a program to copt values of object without using copy constructor or = operator

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