కేంద్రీయ కార్యసరణి విభాగం
సెంట్రల్ ప్రాసెసింగ్ యూనిట్ (కేంద్రీయ సంవిధాన విభాగం) (CPU ) అనేది కంప్యూటర్ వ్యవస్థలో ఒక భాగం, కంప్యూటర్ ప్రోగ్రామ్ యొక్క ఆదేశాలను ఇది నిర్వహిస్తుంది, దీనిని కంప్యూటర్ యొక్క క్రియలను నిర్వహించే ప్రధాన భాగంగా చెప్పవచ్చు. వ్యవస్థ యొక్క ప్రాథమిక అంకగణిత, తార్కిక మరియు ప్రవేశాంశ/నిర్గమాంశ క్రియలు నిర్వహించేందుకు, ప్రోగ్రామ్ (క్రమణిక) యొక్క ప్రతి ఆదేశాన్ని సెంట్రల్ ప్రాసెసింగ్ యూనిట్ ఒక క్రమంలో నిర్వహిస్తుంది. ఈ పదాన్ని కంప్యూటర్ పరిశ్రమలో 1960వ దశకం ప్రారంభం నుంచి ఉపయోగిస్తున్నారు. CPUల రూపం, రూపకల్పన మరియు అమలు ప్రారంభ ఉదాహరణల నుంచి నాటకీయంగా మారిపోయాయి, అయితే వాటి ప్రాథమిక క్రియ మాత్రం దాదాపుగా ఒకేవిధంగా ఉంది.
ప్రారంభ CPUలు ఒక భారీ, కొన్నిసార్లు ఒకేరకమైన, కంప్యూటర్ యొక్క భాగంగా సాంప్రదాయిక పద్ధతిలో రూపొందించబడేవి. అయితే, ఒక నిర్దిష్ట అనువర్తనం కోసం సాంప్రదాయిక CUPల యొక్క ఈ వ్యయభరితమైన రూపకల్పన భారీస్థాయిలో ఉత్పత్తి చేయగల ప్రాసెసర్‌ల అభివృద్ధికి దారిచూపింది, ఈ ప్రాసెసర్‌లు ఒకటి లేదా అనేక ప్రయోజనాల కోసం తయారు చేయబడ్డాయి. ఈ ప్రామాణీకరణ ధోరణి సాధారణంగా వివిక్త ట్రాన్సిస్టర్ మెయిన్‌ఫ్రేమ్‌లు మరియు మినీకంప్యూటర్‌ల (చిన్న కంప్యూటర్‌లు) శకంలో ప్రారంభమైంది, ఇంటిగ్రేటెడ్ సర్క్యూట్‌కు (IC) ప్రాచుర్యం లభించడంతో ఈ ధోరణి మరింత ఊపందుకుంది. మరింత సంక్లిష్ట CPUల నిర్మాణానికి IC వీలు కల్పించింది, నానోమీటర్‌ల స్థాయి పరిమాణాల్లో కూడా వీటిని తయారు చేశారు. ఆధునిక జీవితంలో, ఈ డిజిటల్ పరికరాల వలన CPUల యొక్క సూక్ష్మీకరణ మరియు ప్రామాణీకరణలు, గణన యంత్రాలకు ఉద్దేశించబడిన పరిమిత అనువర్తనానికి ఆవల ఎంతో దూరం విస్తరించాయి. ఆటోమొబైల్‌ల నుంచి సెల్‌ఫోన్‌లు మరియు పిల్లల బొమ్మల వరకు అన్నింటిలో ఆధునిక మైక్రోప్రాసెసర్‌లు కనిపిస్తున్నాయి.
ENIAC వంటి కంప్యూటర్‌ల చేత వివిధ క్రియలు చేయించేందుకు వాటిని భౌతికంగా రీవైరింగ్ (తిరిగి వైరింగ్) చేయాలి, అందువలన ఈ కంప్యూటర్‌లను "ఫిక్స్‌డ్-ప్రోగ్రామ్ కంప్యూటర్‌లు (ఒక నిర్దిష్ట ప్రోగ్రామ్‌కు ఉద్దేశించిన కంప్యూటర్‌లు)"గా పిలుస్తారు. "CPU" అనే పదాన్ని సాధారణంగా ఒక సాఫ్ట్‌వేర్ (కంప్యూటర్ ప్రోగ్రామ్) అమలు ఉపకరణంగా గుర్తిస్తుండటంతో, వాస్తవానికి CPUలుగా పిలవాల్సిన ప్రారంభ ఉపకరణాలు స్టోర్డ్-ప్రోగ్రామ్ కంప్యూటర్ (ఎలక్ట్రానిక్ మెమరీలో ప్రోగ్రామ్ ఆదేశాలను నిక్షిప్తం చేసిన కంప్యూటర్) ఆగమనంతో అందుబాటులోకి వచ్చాయి.
స్టోర్డ్-ప్రోగ్రామ్ కంప్యూటర్ యొక్క ఆలోచన జె ప్రెస్పెర్ ఎకెర్ట్ మరియు జాన్ విలియమ్ మౌచ్లీ యొక్క ENIAC యొక్క నమూనాలో కూడా అప్పటికే ఉన్నప్పటికీ, యంత్రాన్ని త్వరగా పూర్తి చేసేందుకు దీనిని మినహాయించారు. జూన్ 20, 1945న, ENIAC పూర్తి కావడానికి ముందే, గణిత శాస్త్రజ్ఞుడు జాన్ వోన్ న్యూమాన్ "ఫస్ట్ డ్రాఫ్ట్ ఆఫ్ ఎ రిపోర్ట్ ఆన్ ది EDVAC" పేరుతో ఒక పరిశోధక పత్రాన్ని విడుదల చేశారు. ఈ పత్రంలో 1949లో పూర్తయిన ఒక స్టోర్డ్-ప్రోగ్రామ్ కంప్యూటర్ యొక్క నమూనాను వివరించారు. EDVACను ఒక నిర్దిష్ట సంఖ్యలో వివిధ రకాల ఆదేశాలు (లేదా క్రియలు) నిర్వహించేందుకు రూపొందించారు. ఈ ఆదేశాలను EDVAC పనిచేసేందుకు ఉపయోగకర ప్రోగ్రామ్‌లను సృష్టించడానికి కలపవచ్చు. ముఖ్యంగా, EDVAC కోసం రాసిన ప్రోగ్రామ్‌లను కంప్యూటర్ యొక్క భౌతిక వైరింగ్ సూచించిన విధంగా కాకుండా, హై-స్పీడ్ కంప్యూటర్ మెమరీలో భద్రపరిచారు. కొత్త క్రియ చేసేందుకు ENIACను రీకాన్ఫిగర్ (అవసరాలకు తగ్గట్టుగా తిరిగి అమర్చడం) చేయడానికి గణనీయమైన సమయం మరియు పని అవసరమవుతుంది, ENIAC యొక్క ఈ పరిమితిని పైచర్య ద్వారా అధిగమించారు. వాన్ న్యూమాన్ నమూనాతో, EDVAC అమలు చేసే ప్రోగ్రామ్ లేదా సాఫ్ట్‌వేర్‌ను కంప్యూటర్ మెమరీలో విషయాలను మార్చడం ద్వారా సులభంగా మార్చవచ్చు.
EDVAC నమూనా ద్వారా, వాన్ న్యూమాన్ తరచుగా స్టోర్డ్-ప్రోగ్రామ్ కంప్యూటర్ రూపకర్తగా గుర్తించబడుతున్నప్పటికీ, ఆయన కంటే ముందు ఇతరులు, కోన్రాడ్ జ్యూస్ వంటివారు, ఇటువంటి ఆలోచనలనే సూచించడంతోపాటు అమలు చేశారు. EDVAC కంటే ముందు పూర్తయిన హార్వర్డ్ మార్క్ I యొక్క హార్వర్డ్ నిర్మాణం కూడా ఎలక్ట్రానిక్ మెమరీకి బదులుగా పంచ్డ్ పేపర్ టేప్‌ను ఉపయోగించి ఒక స్టోర్డ్ ప్రోగ్రామ్ నమూనాను ఉపయోగించింది. వాన్ న్యూమాన్ మరియు హార్వర్డ్ నిర్మాణాల మధ్య ప్రధాన వ్యత్యాసం ఏమిటంటే, రెండోది నిల్వ మరియు CPU ఆదేశాల నిర్వహణ మరియు దత్తాంశాలను (డేటా) వేరు చేస్తుంది, మొదటిది రెండింటికి ఒకే మెమరీని ఉపయోగిస్తుంది. అనేక ఆధునిక CPUళు ప్రధానంగా నమూనా విషయంలో వాన్ న్యూమాన్ ఆలోచనను ఉపయోగిస్తున్నాయి, అయితే హార్వర్డ్ నిర్మాణం యొక్క అంశాలు కూడా సాధారణంగా వీటిలో కనిపిస్తాయి.
ఒక డిజిటల్ పరికరంగా, CPU ఒక వివిక్త దశల సమితికి పరిమితమై ఉంటుంది, దీనికి దశల మధ్య వ్యత్యాసాన్ని గుర్తించేందుకు మరియు మారేందుకు ఒకరకమైన స్విచ్చింగ్ (ఒక దశ నుంచి మరో దశకు మార్చే) భాగాలు అవసరమవతాయి. ట్రాన్సిస్టర్‌ను వ్యాపార ప్రాతిపదికన అభివృద్ధి చేయకముందు, ఎలక్ట్రికల్ రిలేలు మరియు వాక్యూమ్ ట్యూబ్‌లు (శూన్య నాళికలు) (థర్మియోనిక్ వాల్వ్‌లు) సాధారణంగా స్విచ్చింగ్ భాగాలుగా ఉపయోగించబడ్డాయి. ముందుకాలానికి చెందిన సంపూర్ణ యాంత్రిక నమూనాలతో పోలిస్తే వీటికి ప్రత్యేక వేగ ప్రయోజనాలు ఉన్నప్పటికీ వివిధ కారణాల వలన ఇవి ఆధారపడదగినవిగా లేవు. ఉదాహరణకు, రిలేలతో డైరెక్ట్ కరెంట్ సీక్వెన్షియల్ లాజిక్ సర్క్యూట్‌లు నిర్మించడంలో కాంటాక్ట్ బౌన్స్ సమస్యను అధిగమించడానికి అదనపు హార్డ్‌వేర్ అవసరమవుతుంది. ఇదిలా ఉంటే వాక్యూమ్ ట్యూబ్‌లకు కాంటాక్ట్ బౌన్స్ సమస్య ఉండదు, అయితే వీటిని పూర్తిస్థాయిలో పనిచేయించేందుకు తప్పనిసరిగా వేడెక్కనివ్వాలి, సాధారణ క్రియ సందర్భంగా కాథోడ్‌లు నెమ్మదిగా కలుషితమవతాయి, ఇది చివరకు పని చేయడం నిలిచిపోవడానికి దారితీస్తుంది. నాళిక యొక్క శూన్యం తెరుచుకున్నట్లయితే, కాథోడ్ కలుషితం వేగవంతమవుతుంది, కొన్నిసార్లు ఇది జరుగుతుంది. సాధారణంగా నాళిక విఫలమైనప్పుడు, పాడైన భాగాన్ని గుర్తించేందుకు CPUను పరిశీలించాలి, తద్వారా దానిని తొలగించి మరోదానిని అమరుస్తారు. అందువలన, ప్రారంభ ఎలక్ట్రానిక్ (వాక్యూమ్ ట్యూబ్ ఆధారిత) కంప్యూటర్‌లు సాధారణంగా వేగవంతమైనప్పటికీ, విద్యుత్‌యాంత్రిక (రిలే ఆధారిత) కంప్యూటర్‌ల కంటే తక్కువ ఆధారపడదగినవిగా ఉన్నాయి.
EDVAC వంటి ట్యూబ్ కంప్యూటర్‌లు వైఫల్యాలకు మధ్య సగటున ఎనిమిది గంటలు పనిచేస్తాయి, అయితే హార్వర్డ్ మార్క్ I వంటి రిలే కంప్యూటర్‌లు (నెమ్మదైనవి, అయితే ముందుకాలానికి చెందినవి) చాలా అరుదుగా విఫలమయ్యాయి. చివరకు, నాళిక (ట్యూబ్) ఆధారిత CPUలు ప్రాచుర్యంలోకి వచ్చాయి, ఇవి వేగానికి సంబంధించిన ప్రయోజనాలు ద్వారా విశ్వసనీయత సమస్యలను అధిగమించాయి. అనేక ప్రారంభ అసమకాలిక CPUలు ఆధునిక సూక్ష్మవైద్యుత (మైక్రోఎలక్ట్రానిక్) నమూనాలతో పోలిస్తే తక్కువ క్లాక్ రేట్‌ల వద్ద పనిచేశాయి (కిందవున్న క్లాక్ రేట్ యొక్క చర్చ భాగాన్ని చూడండి). 100 kHz నుంచి 4 MHz మధ్య ఉండే క్లాక్ సంకేత పౌనఃపున్యాలు ఈ సమయంలో సాధారణంగా ఉపయోగించేవారు, ఇవి ఎక్కువగా నిర్మాణంలో ఉపయోగించే స్విచ్చింగ్ ఉపకరణాల వేగంతో పరిమితులను ఎదుర్కొన్నాయి.
వివిధ సాంకేతిక పరిజ్ఞానాలు చిన్న మరియు మరింత ఆధారపడదగిన ఎలక్ట్రానిక్ పరికరాలు నిర్మాణానికి వీలు కల్పించడంతో CPUల యొక్క రూపకల్పన సంక్లిష్టత పెరిగింది. ట్రాన్సిస్టర్ సృష్టితో ఇటువంటి మొదటి మెరుగుదల అందుబాటులోకి వచ్చింది. 1950వ మరియు 1960వ దశకాల్లో ట్రాన్సిస్టర్‌లతో తయారు చేసిన CPUలతో వాక్యూమ్ ట్యూబ్‌లు (శూన్య నాళికలు) మరియు ఎలక్ట్రికల్ రిలేలు వంటి భారీ, నిరాధారమైన, దుర్బలమైన స్విచ్చింగ్ భాగాలు ఉపయోగించాల్సిన అవసరం తప్పిపోయింది. ఈ మెరుగుదలతో మరింత సంక్లిష్ట మరియు ఆధారపడదగిన ఈ CPUలను వివిక్త (ప్రత్యేక) భాగాలు గల ఒకటి లేదా పలు ప్రింటెడ్ సర్క్యూట్ బోర్డులపై నిర్మించారు.
ఈ కాలంలో, ఒక చిన్న ప్రదేశంలో అనేక ట్రాన్సిస్టర్‌లను తయారు చేసే పద్ధతికి ప్రాచుర్యం లభించింది. ఒకే సెమీకండక్టర్ ఆధారిత డై లేదా "చిప్"పై పెద్ద సంఖ్యలో ట్రాన్సిస్టర్‌లు తయారు చేసేందుకు ఇంటిగ్రేటెడ్ సర్క్యూట్ (IC ) వీలు కల్పించింది. మొదట NOR గేట్‌ల వంటి అతి సాధారణ ప్రత్యేకత లేని డిజిటల్ సర్క్యూట్‌లను ICలుగా సూక్ష్మీకరించారు. ఈ "నిర్మాణ భాగ" ICలపై ఆధారపడిన CPUలను సాధారణంగా "స్మాల్-స్కేల్ ఇంటిగ్రేషన్" (SSE ) పరికరాలుగా సూచించేవారు. ఒకప్పుడు అపోలో గైడెన్స్ కంప్యూటర్‌లో ఉపయోగించినటువంటి SSI ICలు సాధారణంగా పదుల సంఖ్యలో ట్రాన్సిస్టర్‌లను కలిగివుండేవి. SSI ICల నుంచి ఒక పూర్తి CPUను నిర్మించేందుకు వేలాది ప్రత్యేక చిప్‌లు అవసరమవతాయి, అయినప్పటికీ, ఇవి తక్కువ ప్రదేశాన్ని ఆక్రమించడంతోపాటు, ముందుకాలానికి చెందిన వివిక్త ట్రాన్సిస్టర్ నమూనాల కంటే తక్కువ శక్తిని వినియోగిస్తాయి. మైక్రోఎలక్ట్రానిక్ (సూక్ష్మవైద్యుత) సాంకేతిక పరిజ్ఞానం అభివృద్ధి చెందేకొద్ది, ICలలో ఉపయోగించే ట్రాన్సిస్టర్‌ల సంఖ్య పెరిగిపోయింది, అందువలన ఒక పూర్తి CPUకు అవసరమయ్యే ICల పరిమాణం తగ్గింది. MSI మరియు LSI (మీడియం- మరియు లార్జ్-స్కేల్ ఇంటిగ్రేషన్) ICల్లో ట్రాన్సిస్టర్‌ల సంఖ్య వందలకు మరియు తరువాత వేలకు పెరిగింది.
1964లో IBM తన యొక్క సిస్టమ్/360 కంప్యూటర్ నిర్మాణాన్ని పరిచయం చేసింది, వివిధ వేగాలు మరియు పనితీరుతో ఒకే ప్రోగ్రామ్‌లను అమలు చేయగల ఒక కంప్యూటర్‌ల శ్రేణిలో దీనిని ఉపయోగించారు. ఒకే తయారీదారు తయారు చేసిన ఎలక్ట్రానిక్ కంప్యూటర్‌లు కూడా ఒకదానితో ఒకటి విరుద్ధంగా ఉన్న కాలంలో ఇది ఒక గణనీయమైన పురోభివృద్ధిగా పరిగణించబడింది. ఈ మెరుగుదలకు వీలు కల్పించేందుకు, IBM ఒక మైక్రోప్రోగ్రామ్ (తరచుగా దీనిని "మైక్రోకోడ్"గా పిలుస్తున్నారు) అనే విధానాన్ని ఉపయోగించింది, ఆధునిక CPUలలో కూడా దీనిని ఇప్పటికీ విస్తృతంగా ఉపయోగిస్తున్నారు. సిస్టమ్/360 నిర్మాణానికి బాగా ప్రాచుర్యం లభించింది, అంతేకాకుండా ఇది మెయిన్‌ఫ్రేమ్ కంప్యూటర్ మార్కెట్‌పై కొన్ని దశాబ్దాలపాటు ఆధిపత్యం చెలాయించింది, IBM యొక్క జెడ్‌సిరీస్ వంటి ఆధునిక కంప్యూటర్‌లలో కూడా ఇప్పటికీ దీని వారసత్వం కనిపిస్తుంది. ఇదే ఏడాది (1964), డిజిటల్ ఎక్విప్‌మెంట్ కార్పొరేషన్ (DEC) మరో ప్రభావాత్మక కంప్యూటర్‌ను పరిచయం చేసింది, దీని పేరు PDP-8, శాస్త్రీయ మరియు పరిశోధన మార్కెట్‌లను లక్ష్యంగా చేసుకొని దీనిని అభివృద్ధి చేశారు. DEC తరువాత బాగా ప్రసిద్ధి చెందిన PDP-11 శ్రేణిని పరిచయం చేసింది, ఈ కంప్యూటర్‌లను మొదట SSI ICలతో నిర్మించారు, అయితే తరువాత ఆచరణ సాధ్యమైన LSI భాగాలను వీటి తయారీలో ఉపయోగించడం జరిగింది. SSI మరియు MSIలతో తయారు చేసిన మొదటి కంప్యూటర్‌లకు భిన్నంగా, LSI అమలుతో తయారు చేసిన మొదటి PDP-11 కంప్యూటర్‌లలో CPU కేవలం నాలుగు LSI ఇంటిగ్రేటెడ్ సర్క్యూట్‌లను మాత్రమే కలిగివుంటుంది.
ముందుకాలానికి చెందిన కంప్యూటర్‌లతో పోలిస్తే ట్రాన్సిస్టర్-ఆధారిత కంప్యూటర్‌ల వలన అనేక ప్రత్యేక ప్రయోజనాలు ఉన్నాయి. మరింత విశ్వసనీయత మరియు తక్కువ శక్తి వినియోగానికి వీలు కల్పించడంతోపాటు, ట్రాన్సిస్టర్‌లు, CPUలు మరింత అధిక వేగాలతో పనిచేసేందుకు వీలు కల్పించాయి, ట్యూబ్ లేదా రిలేతో పోలిస్తే ట్రాన్సిస్టర్ స్విచ్చింగ్‌కు అతి తక్కువ సమయం పడుతుండటంతో అధిక వేగం సాధ్యపడింది. విశ్వసనీయత పెరగడం మరియు నాటకీయంగా స్విచ్చింగ్ భాగాల వేగం పెరగడంతో (ఈ సమయంలో కేవలం ట్రాన్సిస్టర్‌ల ద్వారానే ఇది సాధ్యపడింది), CPU క్లాక్ రేట్‌లను ఈ సమయంలో పదుల మెగాహెర్జ్‌లలో పొందగలిగారు. వివిక్త ట్రాన్సిస్టర్ మరియు IC CPUలు ఎక్కువ వినియోగంలో ఉండగా, SIMD (సింగిల్ ఇన్‌స్ట్రక్షన్ మల్టిబుల్ డేటా) వెక్టర్ ప్రాసెసెర్‌ల వంటి కొత్త ఉత్తమ-పనితీరు నమూనాలు కనిపించడం ప్రారంభమైంది. ఈ ప్రారంభ పరిశోధనాత్మక నమూనాలు తరువాత క్రే ఇంక్. తయారు చేసినటువంటి ప్రత్యేకించిన సూపర్‌కంప్యూటర్‌ల శకానికి నాంది పలికాయి.
1970వ దశకంలో మైక్రోప్రాసెసర్ అందుబాటులోకి రావడంతో CPUల రూపకల్పన మరియు అమలు గణనీయమైన స్థాయిలో ప్రభావితమైంది. 1970లో వ్యాపారాత్మకంగా మొదట అందుబాటులోకి వచ్చిన మైక్రోప్రాసెసర్ (ఇంటెల్ 4004) మరియు 1974లో మొదట విస్తృతంగా ఉపయోగించబడిన మైక్రోప్రాసెసర్ (ఇంటెల్ 8080) ఆగమనంతో ఈ శ్రేణికి చెందిన CPUలు దాదాపుగా పూర్తిగా ఇతర కేంద్రీయ సంవిధాన వ్యవస్థ అమలు పద్ధతుల స్థానాన్ని ఆక్రమించాయి. ఈ కాలానికి చెందిన మెయిన్‌ఫ్రేమ్ మరియు మినీకంప్యూటర్ తయారీదారులు తమ పాత కంప్యూటర్ నిర్మాణాలను నవీకరంచేందుకు యాజమాన్య IC అభివృద్ధి కార్యక్రమాలు ప్రారంభించాయి, చివరకు ఆదేశ సమితికి అనుగుణమైన మైక్రోప్రాసెసర్‌లను అభివృద్ధి చేశాయి, ఇవి తమ పాత హార్డ్‌వేర్ మరియు సాఫ్ట్‌వేర్‌లకు అనుగుణంగా ఉండేలా తయారు చేయబడ్డాయి. ప్రస్తుతం సర్వవ్యాప్తమైన వ్యక్తిగత కంప్యూటర్‌ల యొక్క ఆగమనం మరియు విస్తృత విజయంతో, "CPU" అనే పదం ఇప్పుడు దాదాపుగా మైక్రోప్రాసెసర్‌లకు ప్రత్యేకించబడుతుంది.
ముందు తరాలకు చెందిన CPUలు ఒకటి లేదా అంతకంటే ఎక్కువ సర్క్యూట్‌లపై వివిక్త భాగాలుగా మరియు అసంఖ్యాక చిన్న ఇంటిగ్రేటెడ్ సర్క్యూట్‌లు (ICలు)గా అమలు చేయబడేవి. మరోవైపు మైక్రోప్రాసెసర్‌లు అతికొద్ది సంఖ్యలో ICలతో తయారు చేయబడ్డాయి; సాధారణంగా వీటిని ఒకే ICతో తయారు చేశారు. దీని ఫలితంగా మొత్తంమీద చిన్న పరిమాణంలోని CPU ఆవిర్భవించింది, ఇది ఒకే డైతో అమలు చేయబడుతుండటంతో, మరింత వేగవంతమైన స్విచ్చింగ్ సమయానికి వీలు ఏర్పడింది, గేట్ పారాసిటిక్ కెపాసిటెన్స్ తగ్గడం వంటి భౌతిక అంశాలు ఇందుకు సాయపడ్డాయి. ఈ పరిణామం పదుల మెగాహెర్జ్ నుంచి అనేక గిగాహెర్జ్ వరకు క్లాక్ రేట్‌లు గల అసమకాలిక మైక్రోప్రాసెసర్‌ల తయారీకి వీలు కల్పించింది. దీనితోపాటు, ఒక ICపై అతికొద్ది పరిమాణంలో ట్రాన్సిస్టర్‌లను నిర్మించే సామర్థ్యం పెరగడంతో, CPU సంక్లిష్టత మరియు దానిలో ట్రాన్సిస్టర్‌ల సంఖ్య నాటకీయంగా పెరిగిపోయింది. ఈ సర్వవ్యాప్త ధోరణి మూర్స్ సూత్రం చేత వర్ణించబడింది, ఈ రోజుకు కూడా CPU (మరియు ఇతర IC) యొక్క సంక్లిష్టత పెరుగుదలకు సంబంధించిన అత్యంత కచ్చితమైన అంచనాగా ఈ వర్ణన పరిగణించబడుతుంది.
CPUల యొక్క సంక్లిష్టత, పరిమాణం, నిర్మాణం మరియు సాధారణ రూపం గత అరవై సంవత్సరాల్లో నాటకీయంగా మారిపోయింది, అయితే వాటి ప్రాథమిక నమూనా మరియు క్రియ మాత్రం పెద్దగా మారకపోవడం గమనార్హం. ప్రస్తుతం దాదాపుగా అన్ని సాధారణ CPUలను వాన్ న్యూమాన్ స్టోర్డ్-ప్రోగ్రామ్ యంత్రాలుగా వర్ణించవచ్చు. ముందుగా చెప్పిన మూర్స్ సూత్రం ఎప్పటికప్పుడు వాస్తవంగా నిరూపించబడుతూనే ఉంది, అయితే ఇంటిగ్రేటెడ్ సర్క్యూట్ ట్రాన్సిస్టర్ సాంకేతిక పరిజ్ఞానం యొక్క పరిమితుల గురించి ఆందోళనలు కూడా తెరపైకి వచ్చాయి. ఎలక్ట్రానిక్ గేట్‌లను తీవ్రస్థాయిలో సూక్ష్మీకరించడం ఎలక్ట్రోమైగ్రేషన్ వంటి అసాధారణ ఘటనల ప్రభావాలకు దారితీస్తుంది, సబ్‌థ్రెషోల్డ్ లీకేజ్ బాగా ప్రాధాన్యకర అంశంగా మారుతుంది. అనేక ఇతర అంశాలతోపాటు, ఈ కొత్త ఆందోళనలు క్వాటమ్ కంప్యూటర్ వంటి కొత్త గణనల పద్ధతుల గురించి ఆలోచించడానికి కారణమవుతున్నాయి, పారలెలిజం యొక్క వినియోగాన్ని విస్తరించడం మరియు సంప్రదాయ వాన్ న్యూమాన్ నమూనా యొక్క ఉపయోగాన్ని విస్తరించే ఇతర పద్ధతులు గురించి కూడా పరిశోధకులు ఆలోచనలు చేస్తున్నారు.
ఒక ప్రోగ్రామ్‌గా పిలిచే భద్రపరిచిన ఆదేశాల శ్రేణిని అమలు చేయడం, భౌతిక రూపంతో సంబంధం లేకుండా అనేక CPUల యొక్క ప్రధాన కార్యకలాపంగా (క్రియ) ఉంది. ప్రోగ్రామ్‌కు ఒకరకమైన కంప్యూటర్ మెమరీలో ఉండే ఒక సంఖ్యల శ్రేణి ప్రాతినిధ్యం వహిస్తుంది. దాదాపుగా అన్ని CPUలు వాటి కార్యకలాపంలో నాలుగు దశలను ఉపయోగిస్తాయి, అవి: ఫెచ్ (తీసుకురావడం), డీకోడ్ (సంకేతాన్ని భేదించడం), ఎగ్జిక్యూట్ (అమలు), మరియు రైట్‌బ్యాక్ (తిరిగి పంపడం) .
మొదటి దశ అయిన ఫెచ్‌ లో ప్రోగ్రామ్ మెమరీ నుంచి ఒక ఆదేశాన్ని తిరిగి పొందడం (ఇది ఒక సంఖ్య లేదా సంఖ్య శ్రేణితో సంకేతీకరించబడుతుంది) జరుగుతుంది. ప్రోగ్రామ్ మెమరీలో స్థానం ఒక ప్రోగ్రామ్ కౌంటర్ (PC) ద్వారా గుర్తించబడుతుంది, ఇది ప్రోగ్రామ్‌లో తాజా స్థానాన్ని గుర్తించే ఒక సంఖ్య ప్రోగ్రామ్ కౌంటర్‌లో భద్రపరచబడివుంటుంది. మరోరకంగా చెప్పాలంటే, ప్రోగ్రామ్ కౌంటర్ అనేది ప్రోగ్రామ్‌లో CPU యొక్క స్థానాన్ని ఎప్పటికప్పుడు గుర్తిస్తుంది. ఒక ఆదేశాన్ని తీసుకొచ్చిన తరువాత, ఆదేశ పదం యొక్క పొడవు ద్వారా మెమరీ యూనిట్లపరంగా PCలో పెరుగుదల కనిపిస్తుంది. తీసుకురావాల్సిన ఆదేశం తరచుగా సాపేక్షంగా స్లో మెమరీ నుంచి తిరిగి పొందాల్సి ఉండటంతో, ఆదేశం తిరిగి రావడానికి వేచివుండటం వలన CPU కొద్దిసేపు నిలిచిపోతుంది. క్యాచీలు మరియు పైప్‌లైన్ నిర్మాణాలు (కింది భాగాన్ని చూడండి) ద్వారా ఆధునిక కంప్యూటర్‌లలో ఈ సమస్యను దాదాపుగా పరిష్కరించారు.
మెమరీ నుంచి CPU తీసుకొచ్చే ఆదేశాన్ని CPU చేయాల్సిన పనిని గుర్తించేందుకు ఉపయోగిస్తారు. డీకోడ్ దశలో, ఆదేశం CPU యొక్క ఇతర విభాగాలకు ప్రాముఖ్యత గల భాగాలుగా విభజించబడుతుంది. సంఖ్య ఆదేశ విలువకు అర్థవివరణ ఇచ్చే మార్గం CPU యొక్క ఆదేశ సమితి నిర్మాణం (ఇన్‌స్ట్రక్షన్ సెట్ ఆర్కిటెక్చర్ (ISA )) ద్వారా నిర్వచించబడుతుంది. తరచుగా, ఆదేశంలో ఒక సమూహ సంఖ్యలను ఆప్‌కోడ్‌గా పిలుస్తారు, ఇది ఏ కార్యకలాపాన్ని నిర్వహించాలో సూచిస్తుంది. సంఖ్య యొక్క మిగిలిన భాగాలు సాధారణంగా ఆ ఆదేశానికి అవసరమైన సమాచారాన్ని అందిస్తాయి, ఉదాహరణకు ఒక సంకలన క్రియ కోసం ఆపరాండ్ (రాశి) వంటి సమాచారాన్ని ఇవి తెలియజేస్తాయి. ఇటువంటి ఆపరాండ్‌లను ఒక స్థిరమైన విలువగా (దీనిని ఒక తక్షణ విలువగా పిలుస్తారు), లేదా ఒక విలువను గుర్తించే ఒక ప్రదేశంగా ఇవ్వవచ్చు: ఒక రిజిస్టర్ లేదా ఒక మెమరీ చిరునామా ఒకరకమైన అడ్రసింగ్ మోడ్ ద్వారా గుర్తించబడుతుంది. పాత నమూనాల్లో ఆదేశం యొక్క సంకేతాన్ని భేదించేందుకు సంబంధించిన CPU యొక్క భాగాలు మార్చడానికి వీలులేని హార్డ్‌వేర్ పరికరాలుగా ఉండేవి. అయితే, మరింత వియుక్త మరియు సంక్లిష్ట CPUలు మరియు ISAలలో, CPU కోసం వివిధ విన్యాస సంకేతాలుగా ఆదేశాలను అనువదించడంలో సాయపడేందుకు ఒక మైక్రోప్రోగ్రామ్ (సూక్ష్మక్రమణిక)ను ఉపయోగిస్తున్నారు. ఈ మైక్రోప్రోగ్రామ్‌ను కొన్నిసార్లు తిరిగి మార్చే వీలుంటుంది, తద్వారా CPUను తయారు చేసిన తరువాత కూడా అది ఆదేశాల సంకేతాన్ని భేదించే (విసంకేతన) మార్గాన్ని మార్చేందుకు ఈ మైక్రోప్రోగ్రామ్ వీలు కల్పిస్తుంది.
ఫెచ్ మరియు డీకోడ్ దశలు తరువాత, అమలు దశ నిర్వహించబడుతుంది. ఈ దశలో, CPU యొక్క వివిధ భాగాలు అనుసంధానం చేయబడతాయి, తద్వారా అవి వాంఛిత కార్యకలాపాన్ని నిర్వహిస్తాయి. ఉదాహరణకు, ఒక అదనపు కార్యకలాపానికి విజ్ఞప్తి చేయబడినప్పుడు, ఒక అంకగణిత తార్కిక విభాగం (అర్థమేటిక్ లాజిక్ యూనిట్) (ALU ) ప్రవేశాంశాల సమితికి మరియు నిర్గమాంశాల సమితికి అనుసంధానం చేయబడుతుంది. ప్రవేశాంశాలు జోడించాల్సిన సంఖ్యలను అందిస్తాయి, నిర్గమాంశాలు తుది మొత్తాన్ని కలిగివుంటాయి. ALU ప్రవేశాంశాలపై (సంకలనం మరియు బైట్‌వారీ కార్యకలాపాలు వంటివి) సాధారణ అంకగణిత మరియు తార్కిక కార్యకలాపాలు నిర్వహించేందుకు సర్క్యూటరీ (సర్క్యూట్‌ల వ్యవస్థను కలిగివుండే ఒక ఎలక్ట్రానిక్ పరికరం)ని కలిగివుంటుంది. సంకలన కార్యకలాపం CPU నిర్వహించలేని ఒక పెద్ద ఫలితాన్ని సృష్టించినట్లయితే, ఫ్లాగ్ రిజిస్టర్‌లో ఒక అర్థమేటిక్ ఓవర్‌ఫ్లో ఫ్లాగ్‌ను ఏర్పాటు చేయవచ్చు.
చివరి దశ అయిన రైట్‌బ్యాక్‌ లో ఒకరమైన మెమరీకి అమలు చేసిన దశ యొక్క ఫలితాలు తిరిగి పంపబడతాయి. తరువాతి ఆదేశాలకు త్వరగా అందుబాటులోకి తీసుకొచ్చేందుకు తరచుగా ఫలితాలు ఒకరకమైన అంతర్గత CPU రిజిస్టర్‌కు పంపబడతాయి. ఇతర సందర్భాల్లో, ఫలితాలు నెమ్మదైన, అయితే పెద్దదైన ప్రధాన మెమరీకి పంపబడతాయి. కొన్ని రకాల ఆదేశాలు నేరుగా ఫలితాల దత్తాంశాలను సృష్టించకుండా, ప్రోగ్రామ్ కౌంటర్‌ను సర్దుబాటు చేస్తాయి. వీటిని సాధారణంగా "జంప్స్" అని పిలుస్తారు, ఇవి ప్రోగ్రామ్‌లో లూప్స్ మరియు నియత ప్రోగ్రామ్ అమలు (ఒక నియత జంప్‌ను ఉపయోగించడం ద్వారా) మరియు ఫంక్షన్స్ వంటి ప్రవర్తనకు వీలు కల్పిస్తాయి. అనేక ఆదేశాలు ఒక "ఫ్లాగ్స్" రిజిస్టర్‌లో అంకెల యొక్క దశను కూడా మారుస్తాయి. వివిధ కార్యకలాపాల యొక్క ఫలితాన్ని సూచిస్తాయి కాబట్టి, ఒక ప్రోగ్రామ్ యొక్క ప్రవర్తనను ప్రభావితం చేసేందుకు కూడా ఈ ఫ్లాగ్‌లను ఉపయోగించవచ్చు. ఉదాహరణకు, ఒక రకమైన "కంపార్" (భేదాలను నిరూపించే లేదా పోల్చు) ఆదేశం రెండు విలువను పరిగణలోకి తీసుకొని, ఫ్లాగ్స్ రిజిస్టర్‌లో పెద్దదైన ఒక సంఖ్యను నమోదు చేస్తుంది. ఈ ఫ్లాగ్‌ను ఆపై ప్రోగ్రామ్ గమనాన్ని గుర్తించేందుకు ఒక తరువాతి జంప్ ఆదేశం ఉపయోగించవచ్చు.
ఆదేశం అమలు మరియు ఫలిత దత్తాంశాల తిరిగి పంపబడిన తరువాత, ప్రోగ్రామ్ కౌంటర్‌లో పెరిగిన విలువ కారణంగా సాధారణంగా క్రమంలో-తరువాతి ఆదేశాన్ని తీసుకురావడం ద్వారా ఈ మొత్తం ప్రక్రియ తరువాతి ఆదేశ చక్రంతో పునరావృతం చేయబడుతుంది. పూర్తయిన ఆదేశం ఒక జంప్ అయినట్లయితే, జంప్ అయిన ఆదేశం యొక్క చిరునామాను ఉంచేందుకు ప్రోగ్రామ్ కౌంటర్ నవీకరించబడుతుంది, ప్రోగ్రామ్ అమలు సాధారణంగా కొనసాగుతుంది. ఇక్కడ వర్ణించబడిన దానికంటే మరింత సంక్లిష్టమైన CPUల్లో, పలు ఆదేశాలను తీసుకొనిరావడం, సంకేతాన్ని భేదించడం, అమలు ఏకకాలంలో జరుగుతాయి. సాధారణంగా "సంప్రదాయ RISC పైప్‌లైన్"గా సూచించబడే వ్యవస్థ గురించి ఈ భాగం వర్ణిస్తుంది, వాస్తవానికి అనేక ఎలక్ట్రానిక్ ఉపకరణాల్లో (తరచుగా వీటిని మైక్రోకంట్రోలర్‌లుగా సూచిస్తారు) ఉపయోగించే సాధారణ CPUల్లో ఇది ఎక్కువగా కనిపిస్తుంది. CPU క్యాచీ యొక్క ముఖ్యమైన పాత్రను, తద్వారా పైప్‌లైన్ యొక్క యాక్సెస్ (ప్రాప్తి) దశను ఎక్కువగా మినహాయించడం జరిగింది.
ఒక CPU సంఖ్యలకు ప్రాతినిధ్యం వహించే మార్గాన్ని నమూనా ప్రత్యామ్నాయం అంటారు, ఇది పరికరం పనిచేసే అత్యంత ప్రాథమిక మార్గాలను ప్రభావితం చేస్తుంది. కొన్ని ప్రారంభ డిజిటల్ కంప్యూటర్‌లు అంతర్గతంగా సంఖ్యలకు ప్రాతినిధ్యం వహించేందుకు సాధారణ దశాంశ (మూలం పది) సంఖ్యా వ్యవస్థ యొక్క ఒక ఎలక్ట్రికల్ నమూనాను ఉపయోగించాయి. మరికొన్ని ఇతర కంప్యూటర్‌లు టెర్నరీ (మూలం మూడు) వంటి మరింత అపరిచితమైన సంఖ్యా వ్యవస్థలను కూడా ఉపయోగించాయి. దాదాపుగా అన్ని ఆధునిక CPUలు ద్వియాంశ రూపంలో సంఖ్యలకు ప్రాతినిధ్యం వహిస్తున్నాయి, ప్రతి అంకెకు "హై (అధిక)" లేదా "లో (తక్కువ)" ఓల్టేజ్‌తో ఏదో ఒక రెండు అంకెల-విలువగల భౌతిక రాశి ప్రాతినిధ్యం వహిస్తుంది.
ఒక CPU ప్రాతినిధ్యం వహించగల సంఖ్యల పరిమాణం మరియు కచ్చితత్వానికి సంఖ్యా ప్రాతినిధ్యం సంబంధించివుంటుంది. ఒక ద్వియాంశ CPU యొక్క సందర్భంలో, ఒక బిట్ అనేది ఒక CPU యొక్క ఉపయోగించుకునే సంఖ్యల్లో ఒక ముఖ్యమైన ప్రదేశాన్ని సూచిస్తుంది. ఒక CPU ఉపయోగించే బిట్‌ల (లేదా సంఖ్యా ప్రదేశాలు) యొక్క సంఖ్యను తరచుగా "వర్డ్ సైజ్", "బిట్ విడ్త్", "డేటా పాత్ విడ్త్" లేదా పూర్ణ సంఖ్యలను ఉపయోగిస్తున్నప్పుడు "పూర్ణాంక కచ్చితత్వం"గా పిలుస్తారు (ఫ్లోటింగ్ పాయింట్‌కు ఇది భిన్నంగా ఉంటుంది). నిర్మాణాల మధ్య ఈ సంఖ్య మారుతుంటుంది, తరచుగా ఒకే CPU యొక్క వివిధ భాగాల మధ్య కూడా ఈ విషయంలో వ్యత్యాసం ఉంటుంది. ఉదాహరణకు, ఒక 8-బిట్ CPU ఎనిమిది ద్వియాంశ అంకెలు (ప్రతి అంకెకు రెండు ధనాత్మక విలువలు ఉంటాయి), అంటే, 2 లేద 256 వివిక్త సంఖ్యలు, చేత ప్రాతినిధ్యం వహించబడే ఒక సంఖ్యా పరిధిని ఉపయోగిస్తుంది. వాస్తవంలో, CPU చేత అమలు చేయబడే సాఫ్ట్‌వేర్ ఉపయోగించుకోగల పూర్ణాంకాల పరిధిపై ఒక హార్డ్‌వేర్ పరిమితిని పూర్ణాంక పరిమాణం నిర్దేశిస్తుంది.
CPU అడ్రస్ చేయగల (గుర్తించగల) మెమరీలో ప్రదేశాల సంఖ్యను కూడా పూర్ణాంక పరిధి ప్రభావితం చేస్తుంది. ఉదాహరణకు, ఒక ద్వియాంశ CPU ఒక మెమరీ చిరునామాకు ప్రాతినిధ్యం వహించేందుకు 32 బిట్‌లను ఉపయోగిస్తున్నట్లయితే, ప్రతి మెమరీ చిరునామా ఒక ఆక్టెట్ (8 బిట్‌లు)కు ప్రాతినిధ్యం వహిస్తున్నట్లయితే, CPU గుర్తించగల మెమరీ యొక్క గరిష్ఠ పరిమాణం 2 ఆక్టెట్‌లు, లేదా 4 GiB ఉంటుంది. ఇది CPU అడ్రస్ స్పేస్ యొక్క అతి సాధారణ వివరణ, అనేక నమూనాలు ఒక ఫ్లాట్ అడ్రస్ స్పేస్‌తో అనుమతించే తమ పూర్ణాంక పరిధి కంటే మరింత మెమరీని గుర్తించేందుకు పేజింగ్ వంటి మరింత సంక్లిష్ట గుర్తించే పద్ధతులను ఉపయోగిస్తాయి.
అదనపు అంకెలను పరిష్కరించేందుకు పూర్ణాంక పరిధి యొక్క ఉన్నత స్థాయిలకు మరిన్ని నిర్మాణాలు అవసరమవతాయి, అందువలన వీటికి మరింత సంక్లిష్టత, పరిమాణం, శక్తి వినియోగం మరియు సాధారణ వ్యయం ఉంటుంది. మరింత అధిక స్థాయి CPUలు (అంటే 16, 32, 64లతోపాటు, 128-బిట్ కూడా) అందుబాటులో ఉన్నప్పటికీ, 4- లేదా 8-బిట్ మైక్రోకంట్రోలర్‌లను ఆధునిక అనువర్తనాల్లో ఉపయోగించడాన్ని చూస్తుండటం అసాధాణమేమీ కాదు. అతి సాధారణమైన మైక్రోకంట్రోలర్‌లు బాగా తక్కువ వ్యయంతోపాటు కూడుకొని ఉండటంతోపాటు, తక్కువ శక్తిని ఉపయోగిస్తాయి, అందువలన తక్కువ ఉష్ణాన్ని వెదజల్లుతాయి, ఈ అంశాలన్నీ ఎలక్ట్రానిక్ పరికరాలకు ప్రధాన నమూనా పరిగణనలుగా ఉన్నాయి. అయితే, ఉన్నత-స్థాయి అనువర్తనాల్లో, అదనపు స్థాయి (బాగా తరచుగా అదనపు అడ్రస్ స్పేస్) ద్వారా వచ్చే ప్రయోజనాలు గణనీయంగా ఉంటాయి, తరచుగా ఇవి నమూనా ప్రత్యామ్నాయాలను ప్రభావితం చేస్తాయి. తక్కువ స్థాయి మరియు అధిక స్థాయి బిట్ పొడవులు రెండింటి ద్వారా వచ్చే కొన్ని ప్రయోజనాలను పొందేందుకు, అనేక CPUలు ఉపకరణం యొక్క వివిధ విభాగాల కోసం వివిధ బిట్ విత్త్‌లతో తయారు చేయబడుతున్నాయి, ఉదాహరణకు, IBM సిస్టమ్/370 ప్రధానంగా 32 బిట్ CPUను ఉపయోగించింది, అయితే ఇది ఫ్లోటింగ్ పాయింట్ సంఖ్యల్లో మరింత కచ్చితత్వం మరియు పరిధికి వీలు కల్పించేందుకు దాని యొక్క ఫ్లోటింగ్ పాయింట్ ప్రమాణాల లోపల 128-బిట్ కచ్చితత్వాన్ని ఉపయోగించింది. అనేక తరువాత CPU నమూనాలు ఇటువంటి మిశ్రమ బిట్ విడ్త్‌ను ఉపయోగించాయి, ముఖ్యంగా ప్రాసెసర్ సాధారణ-ప్రయోజన ఉపయోగానికి ఉద్దేశించబడినప్పుడు, పూర్ణాంక మరియు ఫ్లోటింగ్ పాయింట్ సమర్థత మధ్య సరైన సంతులనం అవసరమైన సందర్భంలో ఇటువంటి మిశ్రమ నమూనాను ఉపయోగించడం జరిగింది.
ఆదేశాలను మైక్రోప్రాసెసర్ అమలు చేసే వేగాన్ని క్లాక్ రేట్ అంటారు. ప్రతి కంప్యూటర్‌లో ఒక అంతర్గత గడియారం ఉంటుంది, ఆదేశాల అమలు మరియు వివిధ కంప్యూటర్ భాగాలన్నింటి సమకాలీకరణ వేగాన్ని ఇది నియంత్రిస్తుంది. ప్రతి ఆదేశాన్ని అమలు చేసేందుకు ఒక CPUకు ఒక నిర్దిష్ట క్లాక్ టిక్స్ (లేదా గడియార చక్రాలు) సంఖ్య అవసరమవుతుంది. గడియారం వేగంగా ఉంటే, CPU ప్రతి సెకనకు మరిన్ని ఆదేశాలను అమలు చేయగలదు.
అనేక CPUలు, మరియు వాస్తవానికి అనేక సీక్వెన్షియల్ లాజిక్ పరికరాలు సమకాలిక ప్రవృత్తిని కలిగివుంటాయి. అంటే, ఒక సమకాలీకరణ సంకేతం గురించిన అంచనాలపై వీటి నిర్మాణం మరియు నిర్వహణ జరుగుతుంద. క్లాక్ సిగ్నల్‌ గా కూడా గుర్తించే ఈ సంకేతాన్ని సాధారణంగా ఒక ఆవర్తన వర్గ తరంగం యొక్క రూపంలో ఉంటుంది. CPU యొక్క అనేక సర్క్యూట్‌లలో వివిధ శాఖల్లో ఎలక్ట్రికల్ సంకేతాలు కదిలే గరిష్ఠ సమయాన్ని లెక్కించడం ద్వారా, రూపకర్తలు క్లాక్ సిగ్నల్ కోసం తగిన కాలవ్యవధిని ఎంపిక చేస్తారు.
అత్యంత కనిష్ఠ సందర్భంలో ఒక సంకేతం కదిలేందుకు లేదా వ్యాపించేందుకు పట్టే కాల పరిమాణం కంటే ఈ కాలవ్యవధి తప్పకుండా ఎక్కువగా ఉండాలి. హీనపక్ష వ్యాప్తి జాప్యం కంటే ఎక్కువగా ఒక విలువకు క్లాక్ కాలవ్యవధిని ఏర్పాటు చేయడం ద్వారా, CPU మొత్తాన్ని మరియు పెరుగుతున్న లేదా పతనమవుతున్న క్లాక్ సిగ్నల్ యొక్క "ఎడ్జెస్" (అంచులు) చుట్టూ ఇది దత్తాంశాలు పంపే మార్గాన్ని నిర్మించడం సాధ్యపడుతుంది. రూపకల్పన కోణం నుంచి మరియు భాగాల-సంఖ్య కోణం రెండింటి నుంచి, దీని ద్వారా CPUను గణనీయంగా సరళీకరించే ప్రయోజనం ఏర్పడుతుంది. అయితే, దీని ద్వారా ఏర్పడే ఒక ప్రతికూలత ఏమిటంటే బాగా వేగవంతమైన కొన్ని భాగాలు ఉన్నప్పటికీ, మొత్తం CPU దాని యొక్క అత్యంత నెమ్మదైన అంశాలపై వేచివుండాల్సి వస్తుంది. CPU సమాంతరతను పెంచే వివిధ పద్ధతులు ద్వారా ఈ పరిమితిని అధిగమించడం జరిగింది (దిగువ వ్యాసపు భాగాన్ని చూడండి).
అయితే, ప్రపంచవ్యాప్త సమకాలిక CPUల యొక్క అన్ని ప్రతికూలతలను నిర్మాణ మెరుగుదలలు మాత్రమే పరిష్కరించలేవు. ఉదాహరణకు, ఒక క్లాక్ సిగ్నల్ అనేది అనేక ఇతర ఎలక్ట్రికల్ సిగ్నల్ యొక్క జాప్యాలపై ఆధారపడివుంటుంది. బాగా సంక్లిష్టత ఉన్న CPUలలో అధిక క్లాక్ రేట్‌లు మొత్తం యూనిట్‌వ్యాప్తంగా క్లాక్ సిగ్నల్‌ను సమకాలీకరించడాన్ని మరింత కష్టతరం చేస్తాయి. ఒక సంకేతం యొక్క జాప్యం మాత్రమే CPUను సరిగా పనిచేయకుండా చేసే పరిస్థితిని తప్పించేందుకు, అనేక ఆధునిక CPUలలో బహుళ ఏకరూప క్లాక్ సంకేతాలు అందుబాటులో ఉంచాల్సిన అవసరం ఏర్పడటానికి ఈ పరిణామం దారితీసింది. క్లాక్ రేట్‌లు నాటకీయంగా పెరగడం వలన ఏర్పడే మరో ప్రధాన సమస్య ఏమిటంటే, CPU ద్వారా వెదజల్లబడే ఉష్ణ పరిమాణం. ఎప్పటికప్పుడు మారుతుండే క్లాక్ (గడియారం) అనేక భాగాలు వాతావరణ పరిస్థితితో సంబంధంతో లేకుండా మారేందుకు కారణమవుతుంది. సాధారణంగా, మారుతున్న ఒక భాగం స్థిరమైన స్థితిలో ఉన్న భాగం కంటే ఎక్కువ శక్తిని ఉపయోగిస్తుంది. అందువలన, క్లాక్ రేటు పెరిగి ఉష్ణం వెదజల్లబడుతుంది, తద్వారా CPUకు మరింత సమర్థవంతమైన శీతలీకరణ పరిష్కారాలు అవసరమవతాయి.
అవసరం లేని భాగాలను నిష్క్రియాత్మకం చేసే ఒక పద్ధతిని క్లాక్ గేటింగ్ అని పిలుస్తారు, ఈ పద్ధతిలో అవసరం లేని భాగాలకు క్లాక్ సిగ్నల్ నిలిపివేయబడుతుంది (సమర్థవంతంగా వాటిని నిష్క్రియాత్మకం చేస్తుంది). అయితే, తరచుగా దీని అమలు కష్టతరంగా పరిగణించబడుతుంది, అందువలన బాగా తక్కువ-శక్తి ఉపయోగించే నమూనాలకు మినహా మిగిలినవాటిలో సాధారణంగా ఈ పద్ధతి ఉపయోగాన్ని చూడలేము. క్లాక్ గేటింగ్ పద్ధతిని ఉపయోగించిన ఒక గత CPU నమూనా ఏమిటంటే IBM PowerPC-ఆధారిత Xbox 360. ఈ వీడియోగేమ్ కాన్సోల్‌లో శక్తి అవసరాలను తగ్గించేందుకు విస్తృతమైన క్లాక్ గేటింగ్‌ను ఉపయోగించారు. వీటిలో కొన్ని సమస్యలను పరిష్కరించేందుకు ఉద్దేశించిన మరో పద్ధతి ఏమిటంటే గ్లోబల్ క్లాక్ సిగ్నల్, దీనిలో క్లాక్ సిగ్నల్ మొత్తాన్ని తొలగిస్తారు. గ్లోబల్ క్లాక్ సిగ్నల్ తొలగించడం ద్వారా అనేక విధాలుగా రూపకల్పన ప్రక్రియ గణనీయంగా మరింత సంక్లిష్టమవుతుంది, అసమకాలిక (లేదా క్లాక్‌లెస్) నమూనాలు శక్తి వినియోగంలో మరియు ఏకరూప సమకాలిక నమూనాలతో పోలిస్తే ఉష్ణాన్ని వెదజల్లడంలో గణనీయమైన ప్రయోజనాలు అందిస్తాయి. పూర్తిగా అసమకాలిక CPUలను ఒక గ్లోబల్ క్లాక్ సిగ్నల్‌ను లేకుండా నిర్మించడం కొంతవరకు అసాధారణంగా ఉంది. దీనికి రెండు ప్రసిద్ధ ఉదాహరణలు ARM ఆధారిత AMULET మరియు MIPS R3000 ఆధారిత MiniMIPS. క్లాక్ సిగ్నల్‌ను పూర్తిగా తొలగించడానికి బదులుగా, కొన్ని CPU నమూనాలు ఉపకరణంలోని నిర్దిష్ట భాగాల యొక్క అసమకాలీకరణకు వీలు కల్పిస్తాయి, ఇవి కొన్ని అంకగణిత పనితీరు ప్రయోజనాలు సాధించేందుకు సూపర్‌స్కేలార్ పైప్‌లైనింగ్‌తో సంయుక్తంగా అసమకాలిక ALUలను ఉపయోగిస్తాయి. పూర్తిగా అసమకాలిక నమూనాలు వాటి సమకాలిక నమూనాల స్థాయిలో లేదా మెరుగైన స్థాయిలో పనితీరు కనబరుస్తాయా లేదా అనేది అస్పష్టంగా ఉంది, అయితే అవి కనీసం సాధారణ గణిత క్రియల్లో మెరుగైన పనితీరు కనబరుస్తాయనేది స్పష్టమవుతుంది. మెరుగైన శక్తి వినియోగం మరియు ఉష్ణ ఉద్గార లక్షణాలతోపాటు, ఈ ప్రయోజనం ఫలితంగా ఇవి ఎంబాడెడ్ కంప్యూటర్‌లకు మంచి ప్రత్యామ్నాయాలుగా గుర్తించబడుతున్నాయి.
ముందు భాగంలో అందించిన ఒక CPU యొక్క ప్రాథమిక కార్యకలాపం యొక్క వర్ణన, ఒక CPU నిర్వహించగల సాధారణ క్రియా రూపాన్ని వివరిస్తుంది. ఈ CPU రకం సాధారణంగా సబ్‌స్కేలార్‌ గా సూచించబడుతుంది, ఇది ఒక సమయంలో దత్తాంశాల యొక్క ఒకటి లేదా రెండు భాగాలపై ఒక ఆదేశాన్ని నిర్వహించడం మరియు అమలు చేస్తుంది.
ఈ ప్రక్రియ సబ్‌స్కేలార్ CPUల్లో ఒక స్పష్టమైన అమసర్థతకు వీలు కల్పిస్తుంది. ఒక సమయంలో ఒకే ఆదేశాన్ని అమలు చేయగల సామర్థ్యం ఉండటం వలన మొత్తం CPU మరో ఆదేశం అమలు చేయడానికి వెళ్లే ముందు ఈ ఆదేశం పూర్తయ్యే వరకు వేచివుండాల్సి వస్తుంది. దీని ఫలితంగా సబ్‌స్కేలార్ CPU, అమలును పూర్తి చేసేందుకు ఒక క్లాక్ సైకిల్ కంటే ఎక్కువ కాలం తీసుకునే ఆదేశాలపై "హాంగ్ అప్" అవుతుంది (స్తంభిస్తుంది). ఒక ద్వితీయ అమలు ప్రమాణం (దిగువ భాగాన్ని చూడండి) జోడించినప్పటికీ పనితీరు పెద్దగా మెరుగపడదు; ఒక మార్గం స్తంభించడానికి బదులుగా, ఇప్పుడు రెండు మార్గాలు స్తంభిస్తాయి మరియు ఉపయోగించబడిన ట్రాన్సిస్టర్‌ల సంఖ్య పెరుగుతుంది. CPU యొక్క అమలు వనరులు ఒక సమయంలో ఒకే ఆదేశంపై పనిచేయగల ఈ నమూనా కేవలం స్కేలార్ పనితీరు (ప్రతి క్లాక్‌కు ఒక ఆదేశం)ను మాత్రమే అందుకోవడం సాధ్యపడుతుంది. అయితే, పనితీరు దాదాపుగా ఎప్పుడూ సబ్‌స్కేలార్ (ప్రతి సైకిల్‌కు ఒక ఆదేశం కంటే తక్కువ)గా ఉంటుంది.
స్కేలార్ మరియు మెరుగైన పనితీరును సాధించేందుకు జరిగిన ప్రయత్నాలు వివిధ రకాల నమూనా పద్ధతులను ఆవిష్కరించాయి, ఈ పద్ధతులు CPU తక్కువ సరళంగా మరియు మరింత సమాంతరంగా ప్రవర్తించేందుకు కారణమవతాయి. CPUల్లో సమాంతరతను సూచిస్తున్నప్పుడు, ఈ నమూనా పద్ధతులను వర్గీకరించేందుకు సాధారణంగా రెండు పదాలను ఉపయోగిస్తారు. వీటిలో మొదటిదైన ఆదేశ స్థాయి సమాంతరత (ఇన్‌స్ట్రక్షన్ లెవెల్ పారలలిజం (ILP) ఒక CPUలో ఆదేశాలు అమలు వేగాన్ని పెంచేందుకు ఉద్దేశించబడింది (అంటే, ఆన్-డై అమలు వనరుల వినియోగం పెంచేందుకు), రెండోది త్రెడ్ స్థాయి సమాంతరత (త్రెడ్ లెవెల్ పారలలిజం) (TLP) అనేది ఒక CPU ఏకకాలంలో అమలు చేయగల త్రెడ్‌ల (సమర్థవంతంగా ప్రత్యేక ప్రోగ్రామ్‌లు) సంఖ్య పెంచేందుకు ఉద్దేశించబడింది. ఈ రెండు పద్ధతులు ఒక అనువర్తనం కోసం CPU యొక్క పనితీరును పెంచడంలో, అమలు చేసిన విధానం మరియు అవి అందించే సాపేక్ష సమర్థత, రెండు మార్గాల్లో ఒకదానికొకటి వ్యత్యాసం కలిగివుంటాయి.
ముందు చేపట్టిన ఆదేశం యొక్క అమలు పూర్తికాకముందే మరో ఆదేశాన్ని తీసుకురావడం మరియు సంకేతాన్ని భేదించే మొదటి దశలను ప్రారంభించడం, మెరుగైన సమాంతరతను సాధించేందుకు ఉపయోగించే ఒక సాధారణ పద్ధతిగా ఉంది. ఇది ఈ పద్ధతి యొక్క సాధారణ రూపంగా ఉంది, దీనిని ఇన్‌స్ట్రక్షన్ పైప్‌లైనింగ్ (ఆదేశాన్ని క్రమంలో పెట్టడం)గా గుర్తిస్తారు, దీనిని దాదాపుగా అన్ని ఆధునిక సాధారణ ప్రయోజన CPUల్లో ఉపయోగిస్తున్నారు. వివిక్త దశలుగా అమలు మార్గాన్ని విభజించడం ద్వారా పైప్‌లైనింగ్ ఒక నిర్ణీత సమయంలో ఒకటి కంటే ఎక్కువ ఆదేశాలను అమలు చేసేందుకు వీలు కల్పిస్తుంది. ఒక నిర్మాణ కేంద్రంతో ఈ విభజనను పోలచవచ్చు, నిర్మాణ కేంద్రంలో మాదిరిగానే ఇక్కడ కూడా ఒక ఆదేశం అమలు మార్గం నుంచి బయటకు వెళ్లే వరకు మరియు పూర్తయ్యే వరకు ప్రతి దశలోనూ అది క్రమక్రమంగా పూర్తి చేయబడుతుంది.
అయితే పైప్‌లైనింగ్ ముందు కార్యకలాపం యొక్క ఫలితం తరువాతి కార్యకలాపాన్ని పూర్తి చేసేందుకు అవసరమయ్యే ఒక పరిస్థితి ఏర్పడేందుకు వీలు కల్పిస్తుంది; ఈ పరిస్థితిని తరచుగా దత్తాంశ పరాధీనత వైరుధ్యంగా పిలుస్తారు. ఈ సమస్యను అధిగమించేందుకు, ఇటువంటి పరిస్థితి ఏర్పడినట్లయితే ఆదేశ మార్గంలో ఒక భాగాన్ని జాప్యం చేయడం చేయడం ద్వారా మరియు ఈ పరిస్థితలను పరిశీలిస్తూ అదనపు జాగ్రత్త తీసుకోవాల్సి ఉంటుంది. సహజంగా, దీనిని సాధించడానికి అదనపు సర్క్యూట్‌లు అవసరమవతాయి, పైప్‌లైన్‌లోని ప్రాసెసర్‌లు సబ్‌స్కేలార్ ప్రాసెసర్‌ల కంటే మరింత సంక్లిష్టమవతాయి (అయితే వీటి అవసరం బాగా ఎక్కువ స్థాయిలో ఉండదు). ఒక పైప్‌లైన్డ్ ప్రాసెసర్ దాదాపుగా స్కేలార్‌గా మారగలదు, ఇది కేవలం పైప్‌లైన్ స్టాళ్ల (ఒక దశలో ఒక క్లాక్ సైకిల్ కంటే ఎక్కువ సమయం వినియోగించే ఒక ఆదేశం) ద్వారా మాత్రమే అడ్డగించబడుతుంది.
ఇన్‌స్ట్రక్షన్ పైప్‌లైనింగ్ యొక్క ఆలోచనను మరింత మెరుగుపరచడం, CPU భాగాల యొక్క నిష్కార్య సమయాన్ని మరింత తగ్గించే ఒక పద్ధతి అభివృద్ధికి దారితీసింది. సూపర్‌స్కేలార్‌ గా చెప్పబడే నమూనాల్లో ఒక దీర్ఘ ఇన్‌స్ట్రక్షన్ పైప్‌లైన్ మరియు బహుళ ఏకరూప అమలు కేంద్రాలు ఉంటాయి. ఒక సూపర్‌స్కేలార్ పైప్‌లైన్‌లో, పలు ఆదేశాలు రీడ్ అయిన తరువాత ఒక డిస్పాచర్‌కు పంపబడతాయి, ఆదేశాలు సమాంతరంగా (ఏకకాలంలో) అమలు చేయవచ్చా లేదా అనేది ఈ డిస్పాచర్ నిర్ణయిస్తుంది. అందుబాటులోని అమలు కేంద్రాలకు ఆదేశాలు బదిలీ చేయబడినట్లయితే, ఏకకాలంలో అమలు చేయాల్సిన పలు ఆదేశాలకు సమర్థత ఉంటుంది. సాధారణంగా, ఒక సూపర్‌స్కేలార్ CPU ఏకకాలంలో వేచివున్న అమలు కేంద్రాలకు బదిలీ చేయగల ఆదేశాలు పెరిగేకొద్ది, ఒక నిర్ణీత చక్రంలో (సైకిల్)లో పూర్తయ్యే ఆదేశాల సంఖ్య పెరుగుతుంది.
ఒక సూపర్‌స్కేలార్ CPU నిర్మాణం యొక్క నమూనాలో ఉన్న పెద్ద సమస్య, ఒక సమర్థవంతమైన డిస్పాచర్‌ను సృష్టించడంతో ముడిపడివుంది. ఆదేశాలను సమాంతరంగా అమలు చేయడంపై త్వరగా మరియు కచ్చితంగా నిర్ణయం తీసుకునే సామర్థ్యం డిస్పాచర్‌కు ఉండాలి, అంతేకాకుండా గరిష్ఠ స్థాయిలో అమలు కేంద్రాలు ఉపయోగించబడే విధంగా ఆదేశాలను బదిలీ చేసే సమర్థత కూడా దీనికి ఉండాల్సిన అవసరం ఉంది. దీనికి ఇన్‌స్ట్రక్షన్ పైప్‌లైన్ తరచుగా సాధ్యమైనంత గరిష్ఠ ఆదేశాల పరిమాణాన్ని కలిగివుండాలి, తద్వారా CPU క్యాచీ యొక్క గణనీయమైన పరిమాణాల కోసం సూపర్‌స్కేలార్ నిర్మాణంలో దీనికి ప్రాధాన్యత పెరుగుతుంది. ఇది అధిక స్థాయి పనితీరును కాపాడటంలో శాఖ అంచనా (బ్రాంచ్ ప్రిడిక్షన్), ఉహాజనిత అమలు (స్పెక్యులేటివ్ ఎగ్జిక్యూషన్) మరియు అపక్రమ అమలు (అవుట్-ఆఫ్-ఆర్డర్ ఎగ్జిక్యూషన్) వంటి ప్రమాదాన్ని-తప్పించే ప్రక్రియలను కూడా అందుబాటులో ఉంచుతుంది. ఏ శాఖ (లేదా మార్గం) ఒక నియత ఆదేశాన్ని స్వీకరిస్తుందో అంచనా వేసేందుకు ప్రయత్నించడం ద్వారా, CPU ఒక నియత ఆదేశం పూర్తయ్యే వరకు పైప్‌లైన్ పూర్తిగా వేచివుండాల్సిన సమయాన్ని తగ్గిస్తుంది. ఒక నియత కార్యకలాపం పూర్తయిన తరువాత అవసరం లేని సంకేతం యొక్క భాగాలను అమలు చేయడం ద్వారా ఊహాజనిత అమలు తరచుగా సాధారణ పనితీరు మెరుగుదలలు అందిస్తుంది. అపక్రమ అమలు కొంతవరకు క్రమాన్ని తిరిగి అమరుస్తుంది, దత్తాంశాల పరాధీనతల కారణంగా జరిగే జాప్యాలను తగ్గించేందుకు దీనిలో ఆదేశాలు అమలు చేయబడతాయి. ఏక ఆదేశ బహుళ దత్తాంశాల సందర్భంలో - అంటే ఒకేరకమైన భారీ స్థాయి దత్తాంశ సంవిధానం చేయాల్సిన సందర్భంలో, ఆధునిక ప్రాసెసర్‌లు పైప్‌లైన్‌లోని భాగాలను నిష్క్రియాత్మకంగా చేస్తాయి, అందువలన ఒకే ఆదేశం అనేకసార్లు అమలు చేయబడినప్పుడు, CPU సంకేతాన్ని తీసుకొచ్చే మరియు సంకేతాన్ని భేదించే దశలను వదలిపెడుతుంది, అందువలన కొన్ని సందర్భాల్లో పనితీరు బాగా మెరుగుపడుతుంది, ముఖ్యంగా వీడియో సృష్టించే సాఫ్ట్‌వేర్ లేదా ఛాయాచిత్ర సంవిధానం వంటి బాగా ఒకే విధమైన ప్రోగ్రామ్ ఇంజిన్‌ల పనితీరు దీని ద్వారా మెరుగుపడుతుంది.
CPU యొక్క ఒక అంశం సూపర్‌స్కేలార్ అయి, భాగం సూపర్‌స్కేలార్ కాని సందర్భంలో షెడ్యూలింగ్ స్టాళ్ల కారణంగా ఈ భాగానికి పనితీరు ప్రతికూలత ఏర్పడదు. ఇంటెల్ P5 పెంటియంలో రెండు సూపర్‌స్కేలార్ ALUలు ఉంటాయి, వీటిలో ఒక్కొక్కటి ప్రతి క్లాక్‌కు ఒక ఆదేశాన్ని స్వీకరిస్తుంది, అయితే దీని యొక్క FPU ప్రతి క్లాక్‌కు ఒక ఆదేశాన్ని స్వీకరించలేదు. అందువలన P5 పూర్ణాంక సూపర్‌స్కేలార్‌గా మాత్రమే ఉంది, ఇది ఫ్లోటింగ్ పాయింట్ సూపర్‌స్కేలార్ కాదు. P5 నిర్మాణం తరువాత ఇంటెల్ సృష్టించిన P6లో దాని యొక్క ఫ్లోటింగ్ పాయింట్ ఫీచర్‌లకు సూపర్‌స్కేలార్ సామర్థ్యాలను జోడించారు, అందువలన ఇది ఫ్లోటింగ్ పాయింట్ ఆదేశ పనితీరులో ఒక గణనీయమైన మెరుగుదల అందించింది.
సైకిల్ ఆదేశం (IPC ) కంటే అధిక వేగంతో ఆదేశాలు అమలు పూర్తి చేసేందుకు ఒకే ప్రాసెసర్‌ను అనుమతించడం ద్వారా, సాధారణ పైప్‌లైనింగ్ మరియు సూపర్‌స్కేలార్ నమూనాలు రెండు ఒక CPU యొక్క ILPని పెంచుతాయి. అనేక ఆధునిక CPU నమూనాలు కొంతవరకు సూపర్‌స్కేలార్‌గా ఉంటాయి, గత దశాబ్దంలో నిర్మించిన దాదాపుగా అన్ని సాధారణ ప్రయోజన CPUలు సూపర్‌స్కేలార్ కావడం గమనార్హం. రాబోయే సంవత్సరాల్లో అధిక-ILP కంప్యూటర్‌లు తయారు చేయడంపై దృష్టి కొంతవరకు CPU యొక్క హార్డ్‌వేర్‌పై నుంచి దాని యొక్క సాఫ్ట్‌వేర్ ఇంటర్‌ఫేస్ లేదా ISAపైకి మరలింది. వెరీ లాంగ్ ఇన్‌స్ట్రక్షన్ (VLIW) యొక్క ఈ వ్యూహం కొంత ILP నేరుగా సాఫ్ట్‌వేర్‌పై ఆధారపడేందుకు కారణమవుతుంది, తద్వారా ILPని పెంచేందుకు CPU చేయాల్సిన పని పరిమాణాన్ని ఇది తగ్గిస్తుంది, అదేవిధంగా నమూనా యొక్క సంక్లిష్టత కూడా తగ్గుతుంది.
పనితీరును సాధించేందుకు ఉద్దేశించిన మరో వ్యూహం ఏమిటంటే పలు ప్రోగ్రామ్‌లు లేదా త్రెడ్‌‍లను సమాంతరంగా అమలు చేయడం.
ఈ పరిశోధనా విభాగాన్ని పారలెల్ కంప్యూటింగ్‌గా గుర్తిస్తారు. ఫ్లైన్స్ టాక్సానమీలో, ఈ వ్యూహాన్ని మల్టిపుల్ ఇన్‌స్ట్రక్షన్స్-మల్టిపుల్ డేటా లేదా MIMDగా పరిగణిస్తున్నారు.
ఈ ప్రయోజం కోసం ఉపయోగించే ఒక సాంకేతిక పరిజ్ఞానాన్ని మల్టీప్రాసెసింగ్ (MP) అంటారు. ఈ సాంకేతిక పరిజ్ఞానం యొక్క ప్రారంభ రూపాన్ని సిమ్మెట్రిక్ మల్టీప్రాసెసింగ్ (SMP) (సౌష్ఠవ బహుళసంవిధానం)గా గుర్తిస్తున్నారు, దీనిలో చిన్న సంఖ్యలో CPUలు వాటి మెమరీ వ్యవస్థ యొక్క సంబంధ దృశ్యాన్ని పంచుకుంటాయి. ఈ పథకంలో, ప్రతి CPUకు ఒక స్థిరమైన తాజా మెమరీ దృశ్యాన్ని నిర్వహించేందుకు అదనపు హార్డ్‌వేర్ ఉంటుంది. మెమరీ యొక్క పాత దృశ్యాలను తప్పించడం ద్వారా, CPUలు ఒకే ప్రోగ్రామ్‌పై సహకరించుకుంటాయి మరియు ప్రోగ్రామ్ ఒక CPU నుంచి మరోదానికి స్థానచలనం పొందగలదు. సహకరించుకునే CPUల సంఖ్యను పెంచడానికి, నాన్-యూనిఫామ్ మెమరీ యాక్సెస్ (NUMA) మరియు డైరెక్టరీ-బేస్డ్ కోహెరెన్స్ ప్రోటోకాల్స్ వంటి పథకాలను 1990వ దశకంలో పరిచయం చేశారు. SMP వ్యవస్థలు చిన్న సంఖ్యలో CPUలకు మాత్రమే పరిమితమై ఉంటాయి, ఇదిలా ఉంటే NUMA వ్యవస్థలు వేల సంఖ్యలో ప్రాసెసర్‌లతో నిర్మించబడతాయి. మొదట, ప్రాసెసర్‌ల మధ్య అంతర్‌సంధానాన్ని అమలు చేసేందుకు మల్టీప్రాసెసింగ్‌ను బహుళ వివిక్త CPUలు మరియు బోర్డులను ఉపయోగించి నిర్మించారు. ఒకే సిలికాన్ చిప్‌పై ప్రాసెసర్‌లు మరియు వాటి అంతర్‌సంధానం మొత్తం అమలు చేయబడినప్పుడు, ఈ సాంకేతిక పరిజ్ఞానాన్ని మల్టీ-కోర్ మైక్రోప్రాసెసర్‌గా గుర్తిస్తున్నారు.
ఇది తరువాత ఒకే ప్రోగ్రామ్‌తో ఫైనెర్-గ్రెయిన్ పారలెలిజంగా గుర్తించబడింది. ఒకే ప్రోగ్రామ్‌లో అనేక త్రెడ్‌లు (లేదా ఫంక్షన్‌లు) ఉండవచ్చు, వీటిని వేర్వేరుగా లేదా సమాంతరంగా అమలు చేయవచ్చు. ఈ సాంకేతిక పరిజ్ఞానం అమలు చేయబడిన ప్రారంభ ఉదాహరణలు కంప్యూటేషన్ త్రెడ్ నుంచి ఒక ప్రత్యేక త్రెడ్‌గా డైరెక్ట్ మెమరీ యాక్సెస్‌ వంటి ప్రవేశాంశ/నిర్గమాంశ సంవిధానాన్ని అమలు చేయబడ్డాయి. ఈ సాంకేతిక పరిజ్ఞానానికి ఒక మరింత సాధారణ పద్ధతిని 1970వ దశకంలో పరిచయం చేశారు, సమాంతరంగా పలు కంప్యూటేషన్ త్రెడ్‌లను అమలు చేయడానికి వ్యవస్థలను తయారు చేసినప్పుడు దీనిని కూడా అభివృద్ధి చేయడం జరిగింది. ఈ సాంకేతిక పరిజ్ఞానాన్ని మల్టీ-త్రెడింగ్ (MT)గా గుర్తిస్తారు. మల్టీప్రాసెసింగ్ కంటే దీనిని మరింత వ్యయ-సమర్థవంతమైన పద్ధతిగా పరిగణిస్తున్నారు, దీనిలో MTకి మద్దతుగా ఒక CPUలో చిన్న సంఖ్యలో భాగాలను మాత్రమే అనుకృతి చేయాల్సిన అవసరం ఉంటుంది, అదే MP సందర్భంలో అయితే మొత్తం CPUకు అనుకృతి చేయాల్సి ఉంటుంది. MTలో క్యాచీలతో సహా అమలు యూనిట్‌లు మరియు మెమరీ వ్యవస్థ బహుళ త్రెడ్‌ల మధ్య పంచబడతాయి. MP కంటే MT యొక్క కిందవైపు మల్టీత్రెడింగ్‌కు హార్డ్‌వేర్ మద్దతు ఇచ్చే భాగం సాఫ్ట్‌వేరుకు బాగా కనిపిస్తుంది, అందువలన నిర్వహణ వ్యవస్థ వంటి పర్యవేక్షక సాఫ్ట్‌వేర్ MTకి మద్దతు ఇచ్చేందుకు పెద్ద మార్పులకు లోనవుతుంది. అమలు చేయబడిన ఒక రకమైన MTని బ్లాక్ మల్టీత్రెడింగ్‌గా గుర్తిస్తారు, దీనిలో బాహ్య మెమరీ నుంచి దత్తాంశాలు తిరిగి వచ్చే వరకు వేచివుండటం నిలిపివేసే వరకు ఒక త్రెడ్ అమలు చేయబడుతుంది. ఈ పథకంలో, CPU తరువాత వేగంగా ఒక త్రెడ్ నుంచి అమలు చేయడానికి సిద్ధంగా ఉన్న మరో త్రెడ్‌కు మారుతుంది, ఈ మారడం తరచుగా ఆల్ట్రాస్పార్క్ సాంకేతిక పరిజ్ఞానం వంటి ఒక CPU క్లాక్ సైకిల్‌లో జరుగుతుంది. మరో రకమైన MTని సైమల్టేనియస్ మల్టీత్రెడింగ్‌గా గుర్తిస్తారు, దీనిలో బహుళ త్రెడ్‌‍ల యొక్క ఆదేశాలు సమాంతరంగా ఒక CPU క్లాక్ సైకిల్‌లో అమలు చేయబడతాయి.
1970వ దశకం నుంచి 2000వ దశకం ప్రారంభం వరకు పలు దశాబ్దాలపాటు అధిక సామర్థ్య సాధారణ ప్రయోజన CPUల రూపకల్పనలో ఎక్కువగా పైప్‌లైనింగ్, క్యాచీలు, సూపర్‌స్కేలార్ అమలు, అపక్రమ అమలు, తదితరాల వంటి సాంకేతిక పరిజ్ఞానాల ద్వారా అధిక ILP సాధించడంపై దృష్టి పెట్టేవారు. ఇంటెల్ పెంటియమ్ 4 వంటి భారీ, విద్యుత్-దాహ CPUల్లో ఈ ధోరణి శిఖరాగ్రానికి చేరుకుంది. 2000వ దశకం ప్రారంభ సమయానికి, CPU రూపకర్తలు ILP సాంకేతిక పరిజ్ఞానాల నుంచి అధిక పనితీరు సాధించే చర్యలను ఆపివేశారు, CPU నిర్వహణ పౌనఃపున్యాలు మరియు ప్రధాన మెమరీ నిర్వహణ పౌనఃపున్యాల మధ్య అంతరం పెరిగిపోతుండటంతోపాటు, CPU శక్తి దుర్వ్యయం పెరిగిుపోతుండటంతో వారు మరింత నిగూఢమైన ILP పద్ధతులపై దృష్టి పెట్టారు.
CPU రూపకర్తలు తరువాత ట్రాన్సాక్షన్ ప్రాసెసింగ్ వంటి వ్యాపార కంప్యూటింగ్ మార్కెట్‌ల నుంచి ఆలోచనలను దీనిలోకి స్వీకరించారు, దీనిలో ఒక త్రెడ్ లేదా ప్రోగ్రామ్ యొక్క పనితీరు కంటే బహుళ ప్రోగ్రామ్‌ల యొక్క మొత్తం పనితీరు మరింత ముఖ్యమైన అంశంగా ఉంటుంది, దీనిని త్రూపుట్ కంప్యూటింగ్‌గా కూడా గుర్తిస్తారు.
ఈ వ్యతిరేక అవధారణ ద్వంద్వ మరియు బహుళ కోర్ CMP (చిప్-లెవెల్ మల్టీప్రాసెసింగ్) నమూనాల అభివృద్ధి ద్వారా సాధ్యపడింది, ముఖ్యంగా, ఇంటెల్ యొక్క కొత్త నమూనాలు దాని యొక్క తక్కువ సూపర్‌స్కేలార్ P6 నిర్మాణాన్ని ప్రతిబింబించాయి. CMPని ప్రదర్శించిన అనేక ప్రాసెసర్ కుటుంబాల్లోని పాత నమూనాలు x86-64 ఆప్టెరోన్ మరియు ఎథ్లాన్ 64 X2, SPARC ఆల్ట్రాస్పార్క్ T1, IBM పవర్4 మరియు పవర్5లతోపాటు అనేక వీడియో గేమ్ కాన్సోల్ CPUలు Xbox 360 యొక్క ట్రిపుల్-కోర్ పవర్PC నమూనా, మరియు PS3 యొక్క 7-కోర్ సెల్ మైక్రోప్రాసెసర్.
తక్కువ సాధారణ, అయితే ముఖ్యమైన CPUల యొక్క లక్షణం (మరియు వాస్తవానికి, సాధారణంగా కంప్యూటింగ్) దత్తాంశ సమాంతరతతో ముడిపడివుంది. ఇప్పటివరకు చర్చించిన ప్రాసెసర్‌లు అన్ని ఒకరకమైన స్కేలార్ పరికరాన్ని సూచిస్తున్నాయి. పేరు సూచిస్తున్నట్లుగానే, వెక్టార్ ప్రాసెసర్‌లు ఒక ఆదేశ సందర్భంలో బహుళ దత్తాంశ భాగాలను ఉపయోగిస్తున్నాయి. ఇది స్కేలార్ ప్రాసెసర్‌లకు భిన్నంగా ఉంటుంది, ఈ స్కేలార్ ప్రాసెసర్‌లు ప్రతి ఆదేశానికి ఒక దత్తాంశ భాగంతో పనిచేస్తాయి. ఫ్లైన్స్ టాక్సానమీ ఉపయోగించడం ద్వారా, దత్తాంశాలతో పనిచేసే ఈ రెండు పథకాలు సాధారణంగా వరుసగా SISD (సింగిల్ ఇన్‌స్ట్రక్షన్, సింగిల్ డేటా)గా మరియు SIMD (సింగిల్ ఇన్‌స్ట్రక్షన్, మల్టిపుల్ డేటా)గా సూచించబడుతున్నాయి. దత్తాంశాల యొక్క వెక్టార్‌లతో పనిచేసే CPUలను సృష్టించడం వలన కలిగే గొప్ప ప్రయోజనం ఏమిటంటే, అవి ఒక భారీ దత్తాంశ సమితిపై అమలు చేయాల్సిన ఒకే కార్యకలాపానికి అవసరమైన క్రియలను అనుకూలపరుస్తాయి (ఉదాహరణకు, సంకలనం లేదా ఒక డాట్ ప్రోడక్ట్). ఈ రకమైన క్రియలకు కొన్ని సాంప్రదాయిక ఉదాహరణలు మల్టీమీడియా అనువర్తనాల (ఇమేజెస్, వీడియో మరియు సౌండ్)తోపాటు శాస్త్రీయ మరియు ఇంజనీరింగ్ క్రియా రకాలు. ఇటువంటి వాటిలో స్కేలార్ CPU తప్పనిసరిగా ఆదేశాన్ని తీసుకురావడం, సంకేతాన్ని భేదించడం మరియు అమలు చేయడం మరియు ఒక దత్తాంశ సమితిలో విలువ కట్టడం చేయాలి, ఒక వెక్టార్ CPU ఒకే కార్యకలాపాన్ని ఒకే ఆదేశంతో ఒక భారీ దత్తాంశ సమితిపై అమలు చేయగలదు. వాస్తవానికి, అనువర్తనానికి అనేక దశలు అవసరమైనప్పుడు మాత్రమే ఇది సాధ్యపడుతుంది, ఒక భారీ దత్తాంశ సమితికి ఇవి ఒక కార్యకలాపాన్ని వర్తింపజేస్తాయి.
క్రే 1 వంటి అనేక ప్రారంభ వెక్టార్ CPUలు దాదాపుగా శాస్త్రీయ పరిశోధన మరియు నిగూఢలిపి అనువర్తనాలకు మాత్రమే సంబంధించి పనిచేసేవి. అయితే, మల్టీమీడియా ఎక్కువగా డిజిటల్ మీడియాకు బదిలీ కావడంతో, సాధారణ-ప్రయోజన CPUల్లో SIMD రకపు వ్యవస్థల అవసరానికి ప్రాధాన్యత లభించింది. తరువాత కొద్దికాలానికే సాధారణ-ప్రయోజన ప్రాసెసర్‌లతోపాటు ఫ్లోటింగ్ పాయింట్ ఎగ్జిక్యూషన్ యూనిట్‌లు అన్నిచోట్లా కనిపించడం మొదలైంది, మరియు SIMD ఎగ్జిక్యూషన్ యూనిట్‌ల అమలు మరియు వివరాలు సాధారణ ప్రయోజన CPUల్లో కనిపించడం ప్రారంభమైంది. HP యొక్క మల్టీమీడియా యాగ్జెలరేషన్ ఎక్స్‌టెన్షన్స్ (MAX) మరియు ఇంటెల్ యొక్క MMX వంటి ఈ ప్రారంభ SMID ప్రత్యేకతలు పూర్ణాంక-సంబంధమైనవే కావడం గమనార్హం. కొందర సాఫ్ట్‌వేర్ డెవెలపర్‌లకు ఇది ఒక గణనీయమైన అవరోధంగా మారింది, SIMD నుంచి ప్రయోజనం పొందే అనేక అనువర్తనాలు ప్రధానంగా ఫ్లోటింగ్ పాయింట్ సంఖ్యలతో పనిచేయడంతో ఈ సమస్య ఏర్పడింది. అభ్యుదయకరంగా, ఈ ప్రారంభ నమూనాలను సాధారణ, ఆధునిక SIMD ప్రత్యేకతలుగా మార్చడం మరియు తిరిగి తయారు చేయడం జరిగింది, ఇవి సాధారణంగా ఒక ISAతో అనుబంధం కలిగివుంటాయి. కొన్ని ముఖ్యమైన ఆధునిక ఉదాహరణలు ఏమిటంటే ఇంటెల్ యొక్క SSE మరియు పవర్PC-సంబంధ ఆల్టీవెక్ (దీనిని VMXగా గుర్తిస్తారు).
ఒక ప్రాసెసర్ యొక్క "పనితీరు" లేదా "వేగం" ఉదాహరణకు క్లాక్ రేట్ మరియు ఇన్‌స్ట్రక్షన్ పర్ క్లాక్ (IPC)పై ఆధారపడివుంటుంది, ఇవి CPU ప్రదర్శించగల ఇన్‌స్ట్రక్షన్ పర్ సెకండ్ (IPS)కు కారకాలుగా ఉన్నాయి.
అనేక తెలియజేసిన IPS విలువలు, కొన్ని శాఖలతో కృత్రిమ ఆదేశ శ్రేణులపై "పీక్" (గరిష్ఠ) అమలు రేట్‌లకు ప్రాతినిధ్యం వహిస్తాయి, వాస్తవిక వర్క్‌లోడ్‌లు ఒక మిశ్రమ ఆదేశాలు మరియు అనువర్తనాలు కలిగివుంటాయి, వీటిలో కొన్ని అమలు చేసేందుకు ఇతరాల కంటే ఎక్కువ సమయం తీసుకుంటాయి. మెమరీ అధిక్రమం యొక్క పనితీరు ప్రాసెసర్ పనితీరును కూడా గణనీయంగా ప్రభావితం చేస్తుంది, MIPS గణనల్లో ఈ సమస్యను చర్చించడం జరిగింది. ఈ సమస్యలు కారణంగా, SPECint వంటి వివిధ ప్రామాణిక పరీక్షలు అభివృద్ధి చేయబడ్డాయి, సాధారణంగా ఉపయోగించే అనువర్తనాల్లో వాస్తవ సమర్థవంతమైన పనితీరును కొలిచేందుకు ప్రయత్నించడానికి ఇవి ఉయోగించబడతాయి.
కంప్యూటర్‌ల యొక్క సంవిధాన పనితీరు మల్టీ-కోర్ ప్రాసెసర్‌లు ఉపయోగించడం ద్వారా పెరుగుతుంది, ఇది అత్యవసరంగా ఒక ఇంటిగ్రేటెడ్ సర్క్యూట్‌లో రెండు లేదా అంతకంటే ఎక్కువ ప్రత్యేక ప్రాసెసర్‌లు కలిగివుంటుంది (ఇక్కడ వీటిని "కోర్‌లు"గా పిలుస్తారు). సింగిల్ కోర్ ప్రాసెసర్ కంటే ఒక డ్యుయల్ కోర్ ప్రాసెసర్ దాదాపుగా రెండురెట్లు శక్తివంతంగా ఉంటుంది. అయితే ఆచరణలో, పనితీరు మెరుగుదల మాత్రం చాలా తక్కువగా ఉంటుంది, కేవలం యాభై శాతం మాత్రమే మెరుగైన పనితీరు సాధ్యపడుతుంది, ఉదాహరణకు సరిగాలేని సాఫ్ట్‌వేర్ క్రమసూత్రపట్టికలు మరియు అమలులు దీనికి కారణమవుతున్నాయి.