Processor architecture is the most complex piece of electronics. There are so many variations of processing- CPU, GPU, TPU, NPU, DSP and AI Accelerators. The cache/memory, bus topology and software partitioning is heavily oriented towards the application. Designing processors require significant knowledge of the execution pipeline, buffering, load/store, branch prediction, dispatcher, out-of-order and SIMD/MIMD. To size and optimize the system specification, trade-offs have to be made across so many attributes- latency, throughput, buffer usage, power consumed, reliability, efficiency, quality-of-service, flexibility and SIZE. Doing all of this at RTL, C-models, physical prototypes or test chips will take too long, expensive and will significantly delay the process.
The best way to really understand the behavior is through system modeling. VisualSim Architect is a modeling and simulation software used for the architecture exploration of processors. System modeling is not a one-size-fits-all. The actual size or level of abstraction depends on the question to be answered. If you want to get an overview of the clock speed, buffer size and number of stages of the pipeline, then use a stochastic model with a traffic generator for the instruction sequence. If you are using an existing processor core and are interested in sizing the number of cores, connectivity between cores, sharing of resources such as buses, cache, dma and memory, then you would need a Hybrid modeling. Hybrid model combines cycle-accurate behaviors for the pipeline and caches while abstracting the instruction execution. If you want to fine-tune the firmware, optimize the pipeline operates or design a new branch prediction algorithm, then the cycle-accurate version is preferred.
Today, we are discussing the cycle-accurate version of the system performance modeling in this video.
#design #pipeline #ai #electronics #software #architecture #power #architect #processors #asicdesign #memorydesign #arm #riscv #tensilica