comarch.jpg

Computer Architecture

Computer Architecture

Computer Architecture

 

Summary

A solid foundation in computer hardware design principles. Topics include instruction set principles, advanced pipelining, data and control hazards, multi-cycle instructions, dynamic scheduling, out-of-order execution, speculation branch prediction, instruction-level parallelism, and high-performance memory hierarchies.

Identifying the issues and trade-offs involved in the design of modern microprocessors, memory cahces and on-chip networks. Complete design of a processor and cache subsystem at the RTL level.

Strong fundamentals in designing and simulating digital circuits in Cadence Virtuoso led to understanding how to transform a circuit from specs to an actual layout on chip. Designed a priority bus arbiter, along with peripheral requesting logic units. The arithmetic circuits are chosen by the specified command code and the arbiter. The key circuit we implemented are the round robin arbiter, tri-state buffer, a 16-bit logarithmic shifter and a 16-bit adder.

I highly recommend reading 'Digital Design and Computer Architecture' by David & Sarah Harris for someone looking to get into this field. Anandtech is a great resource to keep up with the latest products out in the market.

Tools

  • Verilog RTL
  • Cadence Virtuoso - DRC and LVS
  • Programming in C, C++
  • Test automation using Python
  • Logic Analyzers for command and timing analysis