Gränssnittet mellan hårdvara och programmeringsprogramvara är
instruktionsuppsättningsarkitekturen (ISA) .
Medan API:er (applikationsprogrammeringsgränssnitt) också spelar en roll i programvara som interagerar med hårdvara, arbetar de på en högre abstraktionsnivå. ISA definierar de grundläggande instruktionerna som hårdvaran förstår på den lägsta nivån. API:er sitter ovanpå det och ger ett mer användarvänligt och ofta hårdvaruoberoende sätt för programvara för att få tillgång till hårdvarufunktioner. API:n kan använda ISA indirekt genom drivrutiner eller andra programvarukomponenter på lägre nivå. Men ISA är det direkta gränssnittet till den fysiska hårdvaran.