Spring – AOP

Aspect Oriented Programming with Spring Aspect-oriented Programming (AOP) complements Object-oriented Programming (OOP) by providing another way of thinking about program structure. The key unit of modularity in OOP is the class, whereas in AOP the unit of modularity is the aspect. Aspects enable the modularization of concerns (such as transaction management) that cut across multiple …

Spring – IoC

Introduction This Blog covers the Spring Framework implementation of the Inversion of Control (IoC) principle. From Spring official document, IoC is also known as dependency injection (DI). It is a process whereby objects define their dependencies (that is, the other objects they work with) only through constructor arguments, arguments to a factory method, or properties …

ISA and Pipelining

ISA Instruction set architecture A well-defined hardware/software interface The “contract” between software and hardware An ISA includes a specification of the set of opcodes (machine language), and the native commands implemented by a particular processor. Single-cycle and Pipelining 5 stages of pipelining

Latency and throughput

Latency (execution time): time to finish a fixed task Throughput (bandwidth): number of tasks per unit time Calculate speed up Average performance CPU Performance CPI: Cycles/instruction IPC = 1/CPI Used more frequently than CPI Favored because “bigger is better”, but harder to compute with What is the CPI? (1 cycle+2 cycles +3 cycles) / 3 …