Source: https://iast.univ-setif.dz/documents/Cours/PresentationHCAL2Arch22.pdf