Strided access allows a vector architecture to pipelined access to non-sequential memory locations provided that there is no bank conflict.

Continue reading# Vector Optimization – Memory Banks

Using memory banks improves vector performance by increasing bandwidth.

Continue reading# Vector Optimization – Vector Mask Register

Vector mask registers can parallelize code even when if conditionals introduce dependencies.

Continue reading# Vector Optimization – Vector-Length Register

Using a register to define the length of a vector can improve vector performance.

Continue reading# Vector Optimization – Multiple Lanes

Vector performance can be improved by increasing the number of lanes if enough parallel function units are available.

Continue reading# Vector Architecture

A discussion about vector architecture, memory system, instructions and execution time.

Continue reading# Multithreading

An article on how a single CPU handles multiple threads. Three different (coarse, fine and simultaneous) are discussed.

Continue reading# Rice’s Theorem

A clear explanation and proof of Rice’s Theorem followed by a worked out example.

Continue reading# Property of the language of Turing Machines

Formal definition of property of the language of Turing Machines along with examples.

Continue reading# Venn Diagram of Languages with Examples

Venn diagram showing relative positions and examples of different type of languages.

Continue reading