A interface entre hardware e software de programação é a
conjunto de instruções Arquitetura (ISA) .
Enquanto as APIs (interfaces de programação de aplicativos) também desempenham um papel no software que interage com o hardware, elas operam em um nível mais alto de abstração. O ISA define as instruções fundamentais que o hardware entende no nível mais baixo. As APIs estão no topo disso, fornecendo uma maneira mais fácil de usar e muitas vezes independente de hardware para o software acessar recursos de hardware. A API pode usar o ISA indiretamente através de drivers ou outros componentes de software de nível inferior. Mas o ISA é a interface direta para o hardware físico.