Compiler software difficulty, Computer Engineering

Assignment Help:

IA-64 instead depends on the compiler for this task. Even before the program is fed into the CPU, the compiler studies the code and makes the similar sorts of decisions that would otherwise happen at "run time" on the chip itself. Once it has determined what paths to take, it collect up the instructions it knows can be run in parallel, bundles them into one bigger instruction, and then kept it in that form in the program.

Moving this task from the CPU to the compiler has many advantages. First, the compiler can spend considerably more time examining the code; a advantage the chip itself doesn't have because it has to finish the task as quickly as possible. Therefore the compiler version can be considerably more accurate than the similar code run on the chip's circuitry. Second, the prediction circuitry is rather difficult, and offloading a prediction to the compiler decreases that complexity enormously. It no longer has to study anything; it easily breaks the instruction apart again and feeds the pieces off to the cores. Third, doing the prediction in the compiler is a one-off cost, quite than one incurred every time the program is run.

The downside is that a program's runtime-behaviour is not always obvious in the code used to produce it, and may vary considerably depending on the real data being processed. The out-of-order processing logic of a mainstream CPU can create decisions on the basis of actual run-time data which the compiler can only guess at. It means that it is possible for the compiler to get its prediction wrong more often than comparable (or easier) logic placed on the CPU. Therefore this design this relies heavily on the performance of the compilers. It leads to reduce in microprocessor hardware difficulty by increasing compiler software difficulty.

Registers: The IA-64 architecture contains a very generous set of registers. It has a 64-bit integer registers and 82- bit floating point. In addition to these registers, IA-64 adds in a register rotation mechanism that is handled by the Register Stack Engine. Rather than the typical fill / spill or window mechanisms used in other processors, the Itanium can turn in a set of new registers to accommodate new temporaries or function parameters. The register rotation mechanism combined with predication is also very effective in implementing automatically unrolled loops.


Related Discussions:- Compiler software difficulty

What is the basic approach of page replacement, What is the basic approach ...

What is the basic approach of page replacement?  If no frame is free is available, find one that is not currently being used and free it. A frame can be freed by writing its co

Describe the concept of aggregation, Aggregation Aggregation is a spec...

Aggregation Aggregation is a special form of association that models the "part-whole" or "a-part-of" relationship as an aggregate (the whole) and parts. The most important pro

Explain conditions for the critical section problem solution, What are the ...

What are the properties which a data item should possess to implement a critical section? The Critical Section Problem Solution should satisfy the following conditions: 1.

What are the advantages of segmentation, What are its advantages? How is se...

What are its advantages? How is segmentation implemented in typical microprocessors? The first benefit that memory segmentation has is that only 16 bit registers are necessary

State the relative addressing, State the Relative addressing The locati...

State the Relative addressing The location of data is specified relative to current value of the program counter. This is helpful for specifying location of data which is given

Explain the working of a demultiplexer, Explain the working of a demultiple...

Explain the working of a demultiplexer with the help of an example. Ans: 1:4 Demultiplexer: Fig.(a) demonstrates the logic circuit of a 1:4 demultiplexer. This has two NOT

Addressability of memory - computer architecture, Addressability: Loc...

Addressability: Location-addressable Each alone accessible unit of information in storage is chosen with its numerical memory address. In the modern computers, location-a

Analysis of algorithms, Analysis of Algorithms For this task, each stu...

Analysis of Algorithms For this task, each student should do two things: An empirical analysis of the runtime and comparisons made for all algorithms as a function of input si

Demultiplexers, Explain briefly about demultiplexers?

Explain briefly about demultiplexers?

Performance of a parallel algorithm - number of processors, Factor which he...

Factor which helps in analysis of parallel algorithms is the total number of processors needed to deliver a solution to a provided problem. So for a given input of size let's say 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