Found 312 Articles for Computer Architecture

What is Software Pipelining?

Ginni
Updated on 20-Jul-2021 07:55:05

2K+ Views

Software pipelining is a compile-time scheduling technique that overlaps subsequent loop iterations to disclose operation-level parallelism. A necessary issue with the development of adequate software pipelining algorithms is how to deal with loops with conditional branches. Conditional branches raise the complexity and reduce the performance of software pipelining algorithms by offering few possible execution paths into the scheduling opportunity.In order to demonstrate the underlying idea let us look at the most feasible parallel execution of a loop on an ILP-processor which has multiple execution units that operate in parallel. Let us assume a RISC-like intermediate code for the loop body ... Read More

What are the types of Loop Scheduling?

Ginni
Updated on 20-Jul-2021 07:50:56

2K+ Views

Loops are an important source of parallelism for ILP-processors. Therefore, the regularity of the control structure can speed up computation. Loop scheduling is a central point of instruction schedulers that have been advanced for highly parallel ILP-processors, including VLIWs.Types of Loop SchedulingThere are two different types of loop scheduling are as follows −Loop unrollingThe basic concept of loop unrolling is to repeat the loop body multiple times and to discard unnecessary inter-iteration code, including decrementing the loop count, verification for loop end, and branching back conditionally between iterations.This will result in a shortened implementation time. Loop unrolling can be executed ... Read More

What is Basic block scheduling?

Ginni
Updated on 20-Jul-2021 07:48:36

2K+ Views

Basic block scheduling is the clean but least effective code scheduling technique. Therefore, only instructions inside a basic block are acceptable for reordering. As a result, the feasible speed-up is definite by both true data and control dependencies. Basic block schedulers are typically used for slightly and moderately parallel ILP-Processors, such as pipelined and early superscalar processors.Most basic block schedulers for ILP-processors belong to the class of list schedulers, like the ones developed for the MIPS processors, Sparc processors, RS/6000, HP Precision Architecture, and DEC α 21064 (Kerns and Eggers, 1993, Gibbons and Muchnick, 1986).List schedulers can be used in ... Read More

What are the different levels of Code Scheduling in computer architecture?

Ginni
Updated on 20-Jul-2021 07:47:00

2K+ Views

Code scheduling is used to cover dependency detection and resolution and parallel optimization. Code scheduling is generally adept in conjunction with traditional compilation. A code scheduler gets as input a set, or a sequence, of executable instruction, and a set of precedence constraints enforced on them, frequently in the form of a DAG. As output, it undertakes to deliver, in each scheduling phase, an instruction that is dependency-free and defines the best option for the schedule to manage the precise available execution time.Traditional non-optimizing compilers can be treated as including two major parts. The front-end part of the compiler implements ... Read More

What is VLIW Architecture?

Ginni
Updated on 20-Jul-2021 07:45:15

2K+ Views

VLIW stands for Very long instruction word. It is an instruction set architecture designed to take complete benefit of instruction-level parallelism (ILP) for revised implementation. Central processing unit processors enables programs to determine instructions to execute in sequence only although a VLIW processors enable programs to explicitly define instructions to implement in parallel. This design is predetermined to enable higher implementation without the complexity fundamental in some multiple designs.The VLIW approach requires very long instruction words to define what each execution unit must do. The length of a VLIW instruction is n-times the length of a traditional RISC instruction word ... Read More

How to remove Load-use delay in Computer Architecture?

Ginni
Updated on 20-Jul-2021 07:44:00

232 Views

The layout of a processor pipeline affects load-use delay. The figure shows the traditional RISC, MIPS, and CISC pipeline layouts and the associated load-use delays.In the case of a traditional four-stage RISC pipeline, first, the registers are accessed for the components of an address calculation, such as the content of a specified base or index register, in the D stage. Next in the E stage, the effective (virtual) address is calculated using the FX adder. At the end of this cycle, the virtual address can be sent to the MMU and/or to the cache. Assuming a high-performance cache, data will ... Read More

What is the performance of Load-use delay in Computer Architecture?

Ginni
Updated on 20-Jul-2021 07:41:35

594 Views

In this section, we are concerned with an important performance measure of pipelined load/store processing such as load-use delay. The value of the load-use delay is a characteristic attribute of pipelined execution of loads. Large load-use values can seriously impede processor performance, especially in a superscalar processor.Load-use delays arise from load-use dependency, a kind of RAW dependency. Load-use dependency gives rise to a load-use delay if the outcome of the load instruction cannot be made accessible by the pipeline in due time for the subsequent instruction.A Load-use delay can be handled either statistically or dynamically. If the static resolution is ... Read More

What is the Pipelined execution of Load/Store Instructions in Computer Architecture?

Ginni
Updated on 20-Jul-2021 07:39:19

1K+ Views

Load and Stores are frequent operations, especially in RISC code. While executing RISC code we can expect to encounter about 25-35% load instructions and about 10% store instructions. Hence, it is one of big significance to execute load and store instructions effectively.It can summarize the subtasks which have to be performed during a load or store instructions as shown in the figure.Let us first consider a load instruction. Its execution begins with the determination of the effective memory address (EA) from where data is to be fetched. In this case, like RISC processors, this can be done in two steps: ... Read More

What is the implementation of FX Pipelines in Computer Architecture?

Ginni
Updated on 20-Jul-2021 07:38:04

203 Views

FX Pipelines can be implemented as either universal or dedicated FX units. Furthermore, a processor can incorporate either a single universal unit multiple universal units.Single Universal FX UnitsAll earlier and some current designs employ a single universal FX Pipeline, which is a single FX unit as shown in the figure. Here the adjective universal refers to the capability of executing all integers and Boolean operations of the processor. Besides the earlier pipelined processors of the 1980s, the i486, IBM Power1 (RS/6000), R (4000), HP 7100, DEC α 21064, PowerPC 601, and Power603 have a single universal FX pipeline and thus ... Read More

What is logical layout of FX Pipelines in Computer Architecture?

Ginni
Updated on 20-Jul-2021 07:36:38

388 Views

A logical layout of an FX pipeline consists, first of the specification of how many stages an FX pipeline has and what tasks are to be performed in these stages. The other key aspect of the design space is how FX pipelines are implemented. FX pipeline can be interpreted in both a broader and narrower sense.In the broader sense, it covers the full task of instruction fetch, decode, execute and if required writeback. In this case, it is usually also employed for the execution of L/S and branch instructions and is termed as master pipeline.In the narrower sense, an FX ... Read More

Advertisements