En programmerbar enhet är alla enheter vars funktionalitet kan ändras genom att ändra sina interna instruktioner eller konfiguration. Detta står i kontrast till en hårddisk enhet, där funktionaliteten är fixerad och inte enkelt kan ändras. "Programmet" kan vara allt från en enkel sekvens av instruktioner till en komplex mjukvaruapplikation.
Här är en uppdelning av vad som gör något programmerbart:
* Instruktioner: Det måste kunna lagra och utföra en uppsättning instruktioner eller ett program. Detta program dikterar enhetens beteende.
* minne: Den behöver någon form av minne för att lagra dessa instruktioner. Detta kan vara ROM (skrivskyddande minne), RAM (slumpmässigt åtkomstminne) eller andra former av ihållande eller flyktig lagring.
* processor (ofta): Även om de inte alltid uttryckligen är närvarande (t.ex. enkla programmerbara logikenheter), har de flesta programmerbara enheter någon form av bearbetningsenhet, oavsett om det är en mikroprocessor, mikrokontroller eller en programmerbar logikuppsättning, som tolkar och kör instruktionerna i minnet.
Exempel på programmerbara enheter inkluderar:
* Datorer: Från stationära datorer till smartphones är det främsta exempel, kör komplexa operativsystem och applikationer.
* mikrokontroller: Små, billiga datorer på ett enda chip som finns i många inbäddade system (t.ex. tvättmaskiner, bilar).
* Programmerbara logikstyrenheter (PLC): Används för industriell automatisering, kontroll av maskiner och processer.
* Fältprogrammerbara grinduppsättningar (FPGA): Chips vars logiska kretsar kan konfigureras om efter tillverkning, vilket möjliggör anpassade hårdvarukonstruktioner.
* smartphones: Dessa är i huvudsak sofistikerade programmerbara datorer.
* Smart TV -apparater: Dessa har processorer och programvara som möjliggör uppdateringar och nya appinstallationer.
* Vissa kalkylatorer: Mer avancerade kalkylatorer möjliggör enkla rutiner för programmering.
* robotik: Roboter förlitar sig ofta på programmerbara styrenheter eller inbäddade system för att styra deras rörelser och åtgärder.
Den viktigaste skillnaden är förmågan att ändra enhetens beteende utan att fysiskt modifiera hårdvaran. Du ändrar programvaran eller konfigurationen, och enhetens åtgärder ändras i enlighet därmed.