IBM-PC-kompatibel dator - en familj av datorer som härrör från IBM PC , XT och AT , med vissa arkitektoniska egenskaper , utvecklade under inflytande av Intel och Microsoft [1] . Kompatibilitet gäller både mjukvara , vilket gör att den kan köras på verkliga maskiner utan emulering , och hårdvara genom användning av öppna standarder . På grund av försvagningen av IBMs inflytande försvann dess namn, och de började kallas helt enkelt PC-kompatibla eller till och med " PC ". Ingaen persondator är en PC [2] , samtidigt är inte varje PC en persondator - det finns PC-kompatibla servrar och kluster .
Datorn var inte den första persondatorn alls, och inte ens den första persondatorn från IBM. Sedan 1975 har maskiner i 51XX- serien producerats på en processor av egen design IBM PALM , som var en uppsättning chips med låg integrationsgrad och individuella transistorer. År 1980 förbereddes efterföljaren till denna serie, redan på Intel 8085- mikroprocessorn , IBM System / 23 , känd som "Datamaster", för release, men på grund av problem med portering till ett nytt BASIC -språksystem, lanserades releasen av den nya maskinen försenades [3] . Den här åttabitarsdatorn var betydligt dyrare än sina konkurrenter: Apple II , Commodore VIC-20 , Atari 400/800 och TRS-80 CoCo , och hade inte ens möjlighet att visa grafik. Företaget behövde en billigare modell, vars utveckling anförtroddes Don Estridge . För att påskynda utvecklingen fick han fullständig handlingsfrihet, inklusive den utbredda användningen av komponenter från tredje part.
Trots lagets ringa storlek tog utvecklingen av IBM PC bara ett år - datorn introducerades i augusti 1981, en månad efter lanseringen av System / 23. De viktigaste egenskaperna hos IBM PC var den modulära principen - när enheten bestod av utbytbara moduler, och principen om öppen arkitektur , som bestod i det faktum att datorenheten inte hölls hemlig, såldes en uppsättning kretsar för $ 49 - för att göra det lättare för tredjepartstillverkare att utveckla kringutrustning [4] . En annan viktig egenskap hos IBM PC är användningen av BIOS , en mellanprogramvara inbäddad i moderkortets ROM som implementerar ett standardprogramvarugränssnitt för att komma åt dess funktioner utan att känna till deras specifika hårdvaruimplementering och OS- anrop . Många utvecklare av kringutrustning (till exempel hårddiskar) har tagit samma tillvägagångssätt och skrivit drivrutinsprogram på låg nivå som implementerar standardprotokoll i ROM på sina enheter. För att förhindra konkurrens patenterade IBM BIOS-firmwaren och förbjöd dess användning i konkurrenters datorer [5] [6] [7] . Emellertid patenterades endast den specifika firmwarekoden, men inte dess mjukvarugränssnitt, vilket senare gjorde det möjligt för tredjepartsutvecklare att släppa mjukvarukompatibla produkter, och kringgå IBM-patentet med "clean room"-metoden [6] .
Rykten om att andra företag förberedde sig för att släppa datorer kompatibla med IBM PC:n uppstod omedelbart efter lanseringen av PC:n [8] [9] Ett år efter releasen dök en artikel upp i tidningen InfoWorld [10] :
Den andra sidan av öppna standarder är imitation. Om deras text är begriplig för att utveckla kringutrustning är den lämplig för att utveckla hela datorn. Apple... har patent på två kritiska komponenter i deras system... och IBM verkar inte ha specifika patent på datorer, vilket gör dem ännu mer sårbara. Flera PC-kompatibla maskiner – som ryktas vara minst 60 – kommer snart ut på marknaden.
Originaltext (engelska)[ visaDölj] Den mörka sidan av ett öppet system är dess imitatorer. Om specifikationerna är tillräckligt tydliga för att du ska kunna designa kringutrustning är de tillräckligt tydliga för att du ska kunna designa imitationer. Apple … har patent på två viktiga komponenter i sina system … IBM, som enligt uppgift inte har några speciella patent på PC:n, är ännu mer sårbart. Många PC-kompatibla maskiner - enligt vinrankan 60 eller fler - har börjat dyka upp på marknaden.Populariteten för IBM PC var så hög att de omedelbart blev en bristvara, vilket också garanterade en hög efterfrågan på kompatibla maskiner [11] [12] [13] . Columbia Data Products var först med att lansera MPC 1600 i juni 1982. Eagle Computers delvis kompatibla Eagle 1600 kom ut samtidigt , och den första PC-kompatibla datorn, Compaq PortableProblemet med företagets BIOS-patent löstes genom reverse engineering enligt " renrumsmetoden ". Samma år började AMD producera licensierade kopior av Intel-processorer .
I maj 1984 släppte Phoenix TechnologiesPhoenix BIOS på marknaden , snart dök andra utvecklare upp - American Megatrends and Award Software , som gjorde det möjligt för andra tillverkare att komma in på den PC-kompatibla datormarknaden.
I syfte att tvinga bort konkurrenter från marknaden 1987 släppte IBM PS / 2 -modellen [14] - en serie datorer med högre prestanda än modeller från andra tillverkare på marknaden på grund av den nya MCA -bussen med högre bandbredd än ISA , och stöder även automatisk detektering av den anslutna enheten. Licenspolicyn för den nya produkten var dock för strikt, varför tillverkarna föredrog att samarbeta och utveckla en EISA -buss som inte skulle bryta kompatibiliteten med äldre enheter. Senare utvecklade Intel den mer framgångsrika PCI-bussen , som visade sig vara mer populär än EISA och blev de facto-standarden fram till lanseringen av PCIe -bussen 2004 . Istället för att slå ut konkurrenter förlorade IBM äntligen sitt inflytande på marknaden för PC-kompatibla maskiner med lanseringen av PS / 2 och gav plats för Intel och Microsoft . 2004 tillkännagav IBM sin utträde från den PC-kompatibla datormarknaden [15] , och sålde därefter alla rättigheter till produktionen av bärbara och stationära datorer till Lenovo .
Även om datorer med 80386-processorer har funnits tillgängliga sedan 1986 (en av de första var Compaq Deskproförblev MS-DOS , ett operativsystem med en enda uppgift som inte utnyttjade processorns fulla kapacitet, det huvudsakliga operativsystemet för datorer Alternativa operativsystem för PC fanns, men var inte populära, eller användes bara i högt specialiserade nischer. De första versionerna av Windows användes inte heller i stor utsträckning, dessutom var de bara DOS-tillägg som implementerade multitasking och en skrivbordsmiljö .
Men denna situation ändrades genom lanseringen av Windows 95 , åtföljd av en storskalig reklamkampanj. När det gäller funktionalitet var Windows 95 redan i nivå med konkurrenter från andra plattformar, med stöd av automatisk hårdvarukonfiguration ( Plug & Play ) och minnesskydd . Dessutom har DirectX API utvecklats för spel- och multimediaapplikationer , vilket ger tillgång till avancerade funktioner i videoadaptern, ljudkortet och spelkontrollerna. Med lanseringen av Windows 95 har Microsoft blivit en stor aktör, tillsammans med Intel , som dikterar de viktigaste plattformsstandarderna. Speciellt släppte Intel och Microsoft 1997-2001 en uppsättning specifikationer PC System Design Guide , som dikterade vilka standarder en dator måste stödja för att anses vara PC-kompatibel.
DOS-applikationer, inklusive spel, fortsatte dock att släppas efter introduktionen av Windows 95, särskilt Build Engine- spel som Duke Nukem 3D (1996). Det främsta skälet är att DOS med en enda uppgift gjorde det möjligt att ge alla processorresurser till spelet, vilket gjorde det möjligt att minska systemkraven, såväl som omognaden hos "spelets" API:er, som hade låg funktionalitet och hög overhead , vilket begränsade prestandan. Den första versionen av DirectX som blev allmänt antagen av videospelsindustrin , med prestanda jämförbar med DOS, var den femte versionen, som släpptes samtidigt med Windows 98 i maj 1998.
1995 introducerade Intel ATX -standarden , som dikterar de geometriska dimensionerna för datorkomponenter, platsen, formen och stiften för kontakter och fästelement, såväl som parametrarna för strömförsörjningen. Den här standarden slog inte rot direkt och blev massa först från början av 2000-talet - fram till dess fokuserade tillverkarna på IBM PC / AT .
Från 1997 till 2001 utfärdade Intel och Microsoft tillsammans ett dokument som heter PC System Design Guide , som innehåller rekommendationer om vilka standarder en dator måste stödja för att anses vara PC-kompatibel. Fyra utgåvor släpptes: PC97 , PC98 , PC99 och PC2001 . Utöver huvudstandarderna innehöll de rekommendationer om färgkodning av kontakter, samt om vilka tekniker som bör anses vara föråldrade och avstå från att använda dem i nya modeller och från stöd i nya versioner av programvara.
IBM-PC-kompatibla datorer är baserade på 8086 -kompatibla mikroprocessorer [16] . Det är också obligatoriskt att ha BIOS eller UEFI, standard för PC-adresseringssystem, avbrott , direkt minnesåtkomst och systembussar (beroende på datorns generation kan detta vara ISA , PCI eller PCI-Express ) [17] .
Den ursprungliga IBM PC:n tillverkades med Intel 8088-processorn . Förutom 16-bitars instruktionsuppsättningen kunde denna processor adressera utan ytterligare trick upp till 1 megabyte ( 220 bytes) RAM, när de flesta mikroprocessorer som används i persondatorer bara kunde adressera 64 kilobyte [18] . Senare ersattes den först av Intel 80286 , som hade ett skyddat läge och kunde adressera upp till 16 megabyte (2 24 ), och sedan av Intel 80386 , med ett 32-bitars maskinord och adressutrymme upp till 4 gigabyte (2 32 ). ) [18] . Senare, fram till övergången till x86-64 , påverkade förändringarna praktiskt taget inte instruktionssystemet, även om dess interna struktur omarbetades avsevärt: den matematiska samprocessorn flyttades in i processorchippet, en processorcache dök upp, den interna arkitekturen för processorn ändrades , etc.
Math coprocessorTill en början, fram till Intel 80386 , hade Intel-processorer inte inbyggda flyttalsberäkningar , men ytterligare en samprocessor kunde installeras som ett alternativ för detta ändamål. Från och med Intel 80486 blir flyttalsenheten en del av CPU:n.
x86-64För att ersätta processorerna i IA-32- arkitekturen förberedde Intel en helt ny arkitektur - Itanium . Marknadsföringsfel och tekniska problem ledde dock till att x86-64-arkitekturen , utvecklad av AMD och nästan helt bakåtkompatibel med 32-bitarsarkitekturen hos Intel-processorer, vann tävlingen.
I Intel 8086/8088-processorerna är endast 1 megabyte (2 20 byte) minne tillgängligt, men videominne, BIOS -minne och olika externa enheter är tillgängliga genom en del av detta utrymme, så endast 640 kilobyte återstår för själva programmen ( adresser 0x00000- ) [19] . Senare processormodeller har mer adresserbart minne, men detta krävde byte till ett annat processorläge. Dessutom gjorde designfunktionen hos intel 80286-processorn det möjligt, med hjälp av vissa knep, att få tillgång till ytterligare 64K-minne ( - ), och för att säkerställa kompatibilitet med detta läge organiserades en speciell nyckel, tillgänglig via tangentbordskontrollern port [20] . 0x9FFFF0x1000000x10FFFF
Upper Memory (UMA)Adresser med programvara är fyllda med data från olika enheter: en del av videominnet, BIOS och inställningsminne , Plug and Play -konfigurationsområden [21] projiceras här . För att påskynda arbetet med detta minnesområde kan det så kallade ”shadow RAM” användas, då data kopieras till både enhetens minne och ett speciellt RAM-område vid skrivning, och tas endast från RAM vid läsning, dock läge är tillgängligt på processorer 80386 och högre, och endast för de enheter som inte självständigt kan ändra värdena för detta minne [22] . 0xA00000xFFFFF
Dessutom är det möjligt att mappa till UMA-området och områden från ytterligare minne - med hjälp av EMS- och XMS- specifikationerna [23] .
Ytterligare minneFrån och med 80286-processorn dök ett skyddat läge upp, som har två funktioner: åtkomst till minnesområden över 1 megabyte och minnesskydd. Från början fanns det två sätt att komma åt minne: segment och sida, men det första, trots sina fördelar, har inte vunnit popularitet på grund av sin komplexitet, därför, från x86-64 , stöder processorer endast sidadressering [24] .
SMM-lägesminneMinnesområdet som är tillgängligt i SMM-läge är ganska litet, men det kan inte nås med standardmedel från operativsystemet och applikationsprogrammen. Detta minne används för att säkerställa att SMM-läget är aktiverat transparent för andra program och inte skadar processorregistren, samt för att lagra data och kod som är nödvändig för driften av SMM [25] .
Virtuellt minnex86-processorer låter dig adressera mer minne än vad som är fysiskt tillgängligt i systemet. När man försöker få åtkomst till otillgängligt minne genererar processorn ett speciellt undantag som hanteras av operativsystemet, och vid behov kan den antingen ladda nödvändiga data från en extern enhet (vanligtvis från en disk) eller utfärda ett fel. Tack vare personsökningsmekanismen kan en del av minnet laddas ur när som helst, och annan data laddas på dess plats, tack vare detta är personsökning transparent för de program som körs [24] [26] .
På processorer av x86-typ, även om adressbussen används för att adressera I/O-portar, har processorn speciella utgångar för att växla mellan minne och I/O-utrymme. Således kommer en skrivning till en I/O-port med en adress som är lika med adressen för en minnescell inte att resultera i en skrivning till den cellen, och vice versa. På ISA-bussen användes denna adressering direkt, på senare överförs den i form av specialkommandon. Endast 16 bitar av adressen är tillgängliga för I/O, därför - inte mer än 65536 portar, men i vissa kort kunde ofullständig dekryptering användas, på grund av vilken endast de första 10 eller 12 bitarna togs i beaktande. De första 256 adresserna tilldelas standardenheter, vanligtvis placerade på moderkortet: systemtimer, tangentbord , avbrottskontroll, FPU , etc. I ISA-bussen tilldelades adresser hårda enheter, i senare bussar (MCA, PCI, PCIe) - genom att programmera chipset och bryggor [27] . Men från och med PCI-bussen finns det en tendens att gå bort från användningen av I/O-register och direkt mappning av enheter till minnet, vilket gör att du kan ta bort gränsen för antalet portar och flytta dessa områden till vilken del som helst minne [28] .
PC:n har ett ganska avancerat avbrottssystem, med prioriteringar, maskerbara och icke-maskerbara avbrott. Maskerbara avbrott hanteras av speciella avbrottskontroller. Icke-maskerbara avbrott genereras av chipset och moderkortskretsar och används för att arbeta med minne och systembussen. Dessutom finns det ett speciellt avbrott som sätter processorn i SMM-läge [29] . I detta fall kan en linje för avbrottsbegäran användas samtidigt av flera enheter.
Traditionell avbrottskontroller8259A-styrenheten tillät bearbetning av upp till 8 avbrottsbegäranden. IBM PC / AT använde kaskadkopplingen av två kontroller, vilket gjorde det möjligt att öka antalet förfrågningar till 15. Kontrollenheten låter dig välja avbrottsvektorn för var och en av förfrågningarna, samt konfigurera typen av avbrottsbegäran ( efter nivå eller skillnad), maskera enskilda linjer [30] .
Förbättrad avbrottskontrollerEn förbättrad avbrottskontroller gjorde det möjligt att arbeta i multiprocessorläge. Förutom att behandla maskerbara, icke-maskerbara och SMI-avbrott och distribuera dem bland processorer, gjorde den nya styrenheten det möjligt att skicka avbrott från en processor till en annan. För att göra detta har varje processor sin egen lokala avbrottskontroller, såväl som kontroller för in-/utgångsenheter (I/O APIC), medan alla kontroller är anslutna med en speciell buss. Den nya styrenheten tillåter också fler avbrottsingångar [31] .
ISA-bussen använde en dedikerad - kontroller Från och med PCI-bussen blev styrenheten en del av bussmastern och var inte längre standard och centraliserad, utan kunde fungera i 8237A-kompatibilitetsläge. De huvudsakliga enheterna som använder direkt minnesåtkomst är enheter (hårddiskar, SSD, CD / DVD), ljudkort. Men under ISA-bussens dagar kunde hårddiskar fungera utan DMA, trots att detta läge skapade en belastning på processorn: eftersom standardstyrenheten inte gav tillräcklig hastighet och inte allt minne var tillgängligt för den [32 ] .
En av plattformens viktigaste funktioner var BIOS-systemet - en uppsättning program lagrade i ROM och tillhandahåller standardiserade samtal för att arbeta med plattformens grundläggande funktioner. Att använda BIOS gjorde det å ena sidan möjligt att göra ändringar i implementeringen av enskilda datorenheter utan att förlora kompatibiliteten med plattformen. Dessutom ansvarar BIOS för initial testning ( POST ) och laddning av operativsystemet. Med tillkomsten av Plug-and-play , ACPI , tilldelas dessa funktioner även till BIOS [33] . BIOS var en av komponenterna som IBM patenterade, så tredjepartsutvecklare av PC-kompatibla datorer var tvungna att utveckla sina egna versioner av BIOS på ett " renrums "-sätt.
Icke-flyktigt BIOS-minneVissa av BIOS-inställningarna kan ändras under driften av datorn, såsom klockgeneratorns frekvens, enheten på vilken operativsystemet är lagrat, etc. På de första datorerna gjordes dessa inställningar genom att byta jumprar eller dip-switchar, men denna metod begränsade kraftigt möjligheterna till inställningar. Senare användes ett litet minneschip för att lagra inställningarna, som kan fungera från sin egen lilla strömkälla. För att arbeta med dessa inställningar används ett speciellt BIOS-installationsprogram , som anropas av en speciell tangentkombination när datorn startar.
RealtidsklockaFörutom att lagra inställningar gjorde närvaron av ett batteri det möjligt att inkludera en realtidsklocka bland standardenheterna, vilket gör det möjligt att erhålla värdena för aktuellt datum och tid. Vissa tidiga klockimplementationer lagrade bara två decimalsiffror för året och innehöll en förenklad algoritm för att beräkna skottår, vilket gjorde dem mottagliga för -2000- problemet [34] .
UEFIDen ursprungliga implementeringen av BIOS fungerade uteslutande i processorns verkliga läge och använde endast 16-bitars instruktioner. En ny specifikation kallad " UEFI " utvecklades för att ersätta BIOS. Förutom 32-bitarsläge och avancerade hårdvarukonfigurationsalternativ inkluderade UEFI en ny specifikation för partitionstabeller och startposter - GPT .
Till skillnad från många persondatorer från 70- och 80-talen är klockhastigheten på en PC inte fast bunden till arkitekturen och kan ändras även under drift. Antalet cykler för vilka processorn utför vissa operationer är inte heller ett konstant värde. För att mäta tidsintervall - kortare än de som är tillgängliga via realtidsklockavfrågning - används speciella timers. IBM PC och PC/XT använde intel 8253 chip , AT använde den mer avancerade intel 8254 , senare tog chipset över deras funktioner. Dessutom är en av kanalerna i denna timer ansluten till högtalaren, som innan tillkomsten av fullfjädrade ljudkort var det huvudsakliga sättet att mata ut ljud för alla PC-kompatibla datorer [35] . Sedan 2005 har denna timer ersatts av en ny standardtimer kallad HPET , som gjorde det möjligt att mäta tidsintervall med större noggrannhet.
Trots närvaron av en timer använde vissa tidiga PC-spel ingen timer, utan förlitade sig på den traditionella räkningen av processorcykler för hemdatorer på 80-talet. För att upprätthålla kompatibilitet med sådana spel var vissa datorer utrustade med en " Turbo "-knapp som växlade processorns klockhastighet mellan den ursprungliga IBM-datorn och den högre hastigheten som stöds av denna modell [36] [37] [38] .
I de flesta fall använder PC-kompatibla datorer, beroende på generation, någon av bussarna: ISA, PCI eller PCIe. För kompatibilitet med äldre utrustning kan äldre bussplatser installeras via en buss-till-buss-bro. I datorer som använde PCI-bussen som huvudexpansionsbuss kunde en specialiserad buss, AGP, användas för att ansluta grafikkort. För att ansluta externa enheter används också icke-PC-specifika bussar: USB , Fire Wire , SCSI och andra.
ISAExpansionsbussen, senare kallad ISA, som användes i de första IBM-datorerna, togs nästan helt från System/23 -datorn . Endast fem signallinjer har ändrats i PC [39] . 1984 lades ytterligare 36 linjer till ISA-bussen för att öka dess bandbredd. 1987 bytte IBM till en ny MCA -buss , men licenspolicyn sköt bort tillverkare av kringutrustning och ett konsortium av nio datortillverkare utvecklade sin egen version av bussen, bakåtkompatibel med ISA- EISA . Den nya bussen slog inte heller fast i persondatorer, där den gamla bussen fortsatte att användas tills den ersattes av PCI-bussen , utan användes i servrar.
PCI AGP PCI ExpressTidiga datorer krävde fyra spänningar för strömförsörjning: ±5 V och ±12 V [40] . De flesta kretsarna drevs av +5 V - standardmatningsspänningen för TTL -mikrokretsar . Separata kraftfulla förbrukare, såsom diskett- och hårddiskmotorer , drevs från +12 volt . Negativa spänningar behövdes för att driva vissa I/O-portar och för att uppfylla ISA-bussspecifikationen. För en tillförlitlig start av datorn finns det också en "Power Good"-kontakt, som aktiveras först efter att en stabil spänning har etablerats vid utgången från strömkällan [41] . I de första datorerna var strömbrytaren placerad på baksidan av den högra panelen av fodralet, där strömförsörjningen var placerad [42] , senare flyttades den till frontpanelen.
När klockfrekvensen på processorn ökade, fanns det ett behov av strömförsörjningar med lägre spänning, men samtidigt kapabla att leverera en tillräckligt stor ström. För detta ändamål installerades en spänningsregulatormodul (VRM) på moderkortet.
Enskilda konsumenter, såsom hårddiskar och disketter, såväl som höljesfläktar, kylsystem och belysningssystem, kan anslutas till strömförsörjningen via separata kablar med MOLEX 8981, AMP 171822-4 eller MOLEX 88751 kontakter.
ATX strömförsörjningDen viktigaste egenskapen hos ATX -standarden var det nya strömförsörjningsschemat. Först och främst, istället för direkt omkoppling av nätspänningen med en effektbrytare, används indirekt styrning med hjälp av lågspänningssignalen PS-ON# [43] . För dess drift, såväl som för att driva vissa datorkretsar som arbetar i standby-läge, började strömförsörjningen att utrustas med en extra lågströms standbykälla (+ 5VSB). Strömförsörjningen matar också ut +3,3 V, men detta ledde inte till att VRM-modulen avvisades, eftersom processorns matningsspänning fortsatte att minska. För bättre spänningsstabilisering på 3,3 V löds en extra återkopplingstråd (+3,3VSense) på strömkontakten. När kraftförlusten av centrala processorer växte började +3,3- och +5 V-ledningarnas roll att minska, +12 V-ledningen blev huvudkonsument. För att driva högpresterande processorer och grafikkort kan ytterligare +12 V-kontakter installeras i konsumentens omedelbara närhet.
Power ManagementDen ursprungliga IBM PC:n kom med en eller två 5,25- tums diskettenheter och en kassettbandspelare . En ST-506 hårddisk lades till IBM PC/XT , men bandspelarens kontakt togs bort. Från och med PC/AT började man använda ett mer avancerat hårddiskgränssnitt kallat IDE.
IDE/ATA SATA NVMePC-kompatibla datorer kan ha upp till fyra RS-232 hårdvaruportar, betecknade som COM1…COM4, som stöds på BIOS-nivå. Var och en upptar 8 8-bitars I/O-register (från till ) uppdelade två hårdvaruavbrott i fyra portar (IRQ4 för COM1 och COM3 och IRQ3 för COM2 och COM4). Dessutom kan COM-porten fungera med direkt minnesåtkomst. Under ganska lång tid var möss, modem och viss annan utrustning anslutna med COM-portar, men på grund av den låga drifthastigheten, avsaknaden av automatiska konfigurationsverktyg och andra brister, från PC99-specifikationen, användningen av denna port rekommenderas inte [44] . Istället används USB-portar och vid behov används kommunikation med enheter som har ett RS-232-gränssnitt som speciella USB-UART-bryggor. 0x2E80x3FF
DOS har inbyggda medel för att direkt överföra konsolutgången till COM-porten och ta emot konsolingång genom den, vilket gjorde det möjligt att ansluta terminaler genom den . Dessutom går det att koppla ihop datorer med hjälp av den så kallade nollmodemkabeln, vilket gjorde det möjligt att kombinera datorer till ett primitivt lokalt nätverk [45] .
ParallellportEtt annat sätt att ansluta externa enheter som har funnits sedan de första IBM-datorerna är parallellporten, som betecknades som "LPT" (Line Printer Terminal). Huvudsyftet med denna port är att ansluta en skrivare [46] . För det mesta är den här porten kompatibel med det då vanliga Centronics-skrivargränssnittet, men IBM har medvetet gjort några ändringar i det för att göra det omöjligt att ansluta kommersiellt tillgängliga skrivare till en ny dator, förutom sina egna modeller. Men skrivartillverkarna började snabbt producera skrivare som var kompatibla med både IBM och Centronics [47] . Senare dök många förlängningar av LPT-porten upp, vilket gjorde att den kunde användas för olika ändamål än att ansluta en skrivare, inklusive att göra den symmetrisk dubbelsidig [48] . I slutändan konsoliderades alla dessa tillägg i IEEE 1284 [49] -standarden .
Förutom skrivaren kan andra enheter anslutas via parallellporten. Till skillnad från COM-porten gav LPT en högre överföringshastighet, så den användes ofta för skannrar, externa enheter (i synnerhet Iomega Zip ). Det var möjligt att ansluta datorer till nätverket med hjälp av parallellporten [50] . Dessutom, på grund av möjligheten att direkt styra tillståndet för individuella kontaktstift, kan LPT-porten användas istället för GPIO i olika hemgjorda och småskaliga enheter.
TangentbordDen mekaniska delen av tangentbordet på den första IBM PC:n togs nästan oförändrad från System / 23 , bara den flyttades till ett separat hölje och nyckelbeteckningarna ändrades. Den elektriska delen gjordes dock om, då den i System/23 var ansluten till moderkortet med en flerkärnig kabel, vilket var obekvämt. Därefter genomgick PC-tangentbordet två stora layoutändringar och en gränssnittsändring, varefter det inte ändrades nämnvärt förrän det ersattes av USB HID- standarden .
PS/2-musAnvändningen av en x86- eller x86-64-arkitekturprocessor är inte tillräckligt för att kvalificera en dator som PC-kompatibel. Den måste stödja de nuvarande BIOS/ UEFI- och bussstandarderna vid tidpunkten för utgivningen. Till exempel på x86-smartphones är det omöjligt att installera Microsoft Windows native eftersom detta bland annat kräver en samtalsöversättare för BIOS [51] .
I början av eran med IBM PC-kompatibla datorer tillverkades även så kallade MS-DOS-kompatibla datorer. De kunde köra programvara med vanliga MS-DOS- anrop, och några av de mer specifika funktionerna stöddes inte. Det mest kända exemplet på de åren är Tandy 2000 . Dessutom släppte IBM själv IBM PCjr 1983 , designad främst för spel - men den drabbades av ett marknadsföringsmisslyckande, bland annat på grund av ofullständig kompatibilitet med "storebror". Ändå visade sig Tandy 1000 kompatibel med PCjr (som gjorde det möjligt att använda standardexpansionskort utan adaptrar - PCjr använde skrymmande och olika anslutningssystem externa "rullstolsmoduler" - och hade betydligt större mjukvarukompatibilitet med XT) vara ganska framgångsrik - just på grund av förbättrad kompatibilitet. I Sovjetunionen, tillsammans med fullt kompatibla EU 18xx och Iskra 1030 , producerades en delvis kompatibel Poisk , mycket förenklad och med användning av inhemska komponenter till det maximala [52] . Efter Sovjetunionens kollaps började helt kompatibla datorer produceras under varumärket Poisk.
Sedan 2005 har Apple övergett PowerPC-processorer och bytt till x86-64- arkitekturprocessorer . Detta gjorde det möjligt för dem att installera Windows -operativsystemet , men detta krävde emulering av BIOS- anrop och installation av specifika enhetsdrivrutiner. Ett speciellt Boot Camp- program [53] [54] släpptes för detta ändamål . Sedan 2020 har Apple övergett Intel-processorer till förmån för sin egen Apple-kiselarkitektur och övergett partiell kompatibilitet med PC [55] [56] .
Konceptet med en PC-kompatibel dator korsar konceptet Wintel ( Windows + Intel ) - en dator på x86 - en processor med Windows operativsystem [ 57] . Även om, med undantag för tidiga modeller, en PC-kompatibel dator kan köra Windows, och andra operativsystem kan användas, såsom Linux , FreeBSD , etc.
PC skapades ursprungligen enbart som en plattform för företag. Som hemdator var datorn för dyr. Medan CGA :s grafikfunktioner inte släpade efter konkurrenterna vid tidpunkten för utgivningen, började snart modeller med mer avancerade grafikfunktioner dyka upp, inklusive hårdvarusprites och rullning . Dessutom var den enda ljudenheten systemhögtalaren , som var till liten användning för spel. 1983 gjorde IBM ett försök att ta sig in på hemdatormarknaden med PCjr- modellen , men försöket misslyckades - PCjr:n var för dyr för en "bara hemmadator", och som PC var den inte helt kompatibel. Dock var PC-spelen mestadels portar från andra plattformar [58] .
Det var inte förrän i slutet av 1980-talet som datorn började ses som en spelplattform med utbredd användning av EGA- , VGA- och SVGA -kompatibla videoadaptrar och ljudkort. En viktig faktor var tillkomsten av CD-ROM , som gjorde det möjligt att lagra en betydande mängd data vid den tiden på 500 megabyte. En dator som lämpade sig för att arbeta med spel på dessa år kallades multimedia . PC:n under dessa år släpade fortfarande efter andra plattformar när det gäller grafik och ljudkapacitet: den hade inga medel för att accelerera grafikbearbetningen: ingen rullning, inga sprites, än mindre 3d-acceleratorer (som redan fanns i Amiga -datorer ). Den höga prestandan hos den centrala processorn och frånvaron av krockar gjorde det dock möjligt att kompensera för denna brist: i Commander Keen in Invasion of the Vorticons , som släpptes 1990, användes mjuk mjukvarurullning, och 1992 släpptes Wolfenstein 3D , som blev förfadern till hela genren av FPS- spel . I mitten av 1990-talet började de första populära grafikacceleratorerna för PC:n dyka upp: de mest kända 3dfx Voodoo- korten .