MCA-303 Computer Architecture and Parallel Processing !
Fundamentals: Computational model. Evolution of computer architecture, process, thread, concurrent and parallel execution, types and levels of parallelism, classifications of parallel architectures. Relationships between languages and parallel architectures.
Instruction-Level-Parallel Processors: Dependencies between instructions. Principles of Pipelining. Pipelined instruction processing. Synchronous & asynchronous pipeline. Linear Pipeline-clocking & timing control, speedup, efficiency & throughput. Non linear pipeline- reservation table, latency analysis, collision free scheduling, internal data forwarding.
Superscalar pipeline design- structure, data dependencies, pipeline stalling, in-order issue, out of order issue. VLIW architecture. Branch handling- delayed branching, branch processing, multiway branching, guarded execution. Code scheduling- basic block scheduling, loop scheduling, global scheduling.
Memory Hierarchy Technology: inclusion, coherence and locality, virtual memory models, TLB, paging and segmentation, memory replacement policies, cache addressing models, cache performance issues, interleaved memory organization.
Shared-Memory MIMD architectures: Dynamic interconnection networks- shared path, switching networks- crossbar & multistage networks. Cache coherence problem, Hardware based cache coherence protocol-Snoopy cache protocol, directory scheme, scalable coherent interface, hierarchical cache coherence protocol. UMA, NUMA, CC-NUMA and COMA multiprocessors.