Computing With an All-Optical Cache Hierarchy Using Optical Phase Change Memory as Last Level Cache