Микропроцесор

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Микропроцесорът обединява всички или повечето от функциите на централния процесор в една-единствена интегрална схема. Един или повече микропроцесори обикновено извършват изчисленията в компютъра.

Първият микропроцесор, Intel 4004, се появява на пазара през 1971 година в резултат на съвместна разработка на калкулатор между фирмите Intel и Busicom. Микропроцесорът Intel 4004 е 4-битов, т.е. данните, които обработва, са представени като 4-битови думи, работи с максимална тактова честота 740 kHz, поддържа 46 команди и е част от микропроцесорна система с още 3 периферни интегрални схеми.

По-късно се появяват 8-, 16-, 32- и 64-битови микропроцесори.

Концепцията на микропроцесора позволява да се създават разнообразни електронни устройства въз основа на един тип микропроцесор, като се използват едни и същи програмни средства за създаване на подобни управляващи програми. Това предопределя висока серийност и ниска цена на микропроцесорите, както и ниска стойност за разработка на програмата, а в резултат – бърза разработка и невисока цена на изделията.

Развитието на технологиите за проектиране и производство на интегрални схеми позволява създаването на все по-сложни и по-производителни микропроцесори. Съотношението между сложност, цена и време се описва от емпиричния Закон на Мур, според който сложността на интегралните схеми се удвоява на всеки 2 години, със същия темп растат общите производствени разходи за фабриките, а цената на единичните компоненти намалява.[1]

Основни параметри[редактиране | редактиране на кода]

Микропроцесорите могат да се идентифицират по различни признаци, които определят до голяма степен производителността им. Това са ширина (разрядност), адресно пространство, скорост и производителност на микропроцесора. Скоростта на микропроцесорите се определя от честотата на управляващите импулси, която се измерва в мегахерци (MHz) и гигахерци (GHz) – брой тактове за секунда. Колкото по-голяма е тактовата честота, толкова по-голям брой операции се извършват за единица време. Ширината на микропроцесор се определя от спецификацията на три основни елемента: регистри, шини за данни и шини за адреси в паметта. Освен тези основни параметри, за качествата на микропроцесорите имат значение и следните допълнителни показатели: тип и големина на кеш-паметта, брой и степени (дълбочина) на конвейерните вериги, технологии ММХ, 3DNow! и Enhanced 3Dnow и други[6].

Разрядност[редактиране | редактиране на кода]

Според ширината /разрядността/ микропроцесорите биват 4, 8, 12, 16, 32, 64- битови:

4 битови

Първите микропроцесори създадени през 1971 г. са битови. Тогава Intel създава микропроцесора i4004 с разрядност 4 бита, адресира 640 байта  памет,  работи  с  тактова  честота  108  kHz и  има  производителност  0.06 MIPS (Million  instruction  per second  -  милиони инструкции  за  секунда). Такъв  микропроцесор  може да работи като изчислително ядро на калкулатори. Съдържа е 2300 р-канални МОП транзистора и е изпълняван по 10 мкм технология[6].

8 битови

През 1972 година Intel пуска в продажба процесора i8008, който първоначално работи на честота 200 KHz и притежава 8-битова шина за данни. През 1974  година  се появява  8-битовия  процесор i8080,  с  който се  комплектовали различни терминали, контролери и смятаният за първи персонален компютър Altair. Той има 6000 транзистора, изработван е по 6 мкм технология, с тактова честота 2 MHz и  може да  адресира  64 КВ  памет.  Този микропроцесор  в  продължение на  почти  цяло десетилетие  се явява  световен  стандарт сред  8-битовите  микропроцесори[5].

12 битови

Intersil 6100 семейството включва 12-битовия микропроцесор (самият 6100) и множество периферни устройства. Микропроцесорът разпознава множеството с инструкциите на DEC PDP-8 миникомпютъра. По тази причина е наричан CMOS-PDP8. С оглед на факта, че също е произвеждан от Harris Corporation, е известен и като Harris HM-6100. Благодарение на качествата на неговата CMOS технология със свързаните с това предимства, 6100 моделът е част от някои военни разработки до началото на 80-те[5].

16 битови

Първият  16-битов  процесор i8086  Intel  пуска през  1978  година. Той  е родоначалник  на знаменитото  семейство  Intel 80х86  (често  се означава  като  х86). Архитектурата на този процесор се отличава значително от архитектурата на предишните 8-битови  микропроцесори,  ориентирани за  решаване  на  несложни  задачи.  В  Intel  8086  са реализирани  голям набор  команди  и способи  на  адресация на  паметта  и е  обезпечена ефективна обработка на прекъсванията. Той работи с честота 5 MHz, има производителност 0.33 MIPS, изработен е по 3 мкм технология и има 29000 транзистора. Процесорът има 20-битова  шина  за адреси  и  16-битова шина  за  данни. Адресируемата  памет  е 1  МВ, регистровата архитектура и системата от команди съществено се отличават от тези на i8085, но се запазват общите идеи вложени в концепцията на микропроцесорите на фирмата.  Наред с  основния  микропроцесор е  разработен  и аритметичен  копроцесор  i8087, който се  включва  към i8086  за  изпълнение на  операции  с числа  с  плаваща запетая  (при изчисленията на тригонометрични, логаритмични и други математически функции)[6]. На следващата година се появява i8088 – същият микропроцесор, но с 8-битова шина за  данни. С  него  започва историята  на  най-популярните  компютърни системи  в  света и  в настоящият момент – IBM PC. През целият период на развитие на IBM PC компютрите, Intel е неразривно свързан с това развитие, докато IBM има доста по-малко участие в него[6].

32 битови

През 1985 година се появява първият 32-битов микропроцесор i80386. Той съдържа 275000 транзистора и е изпълняван по 1.5 мкм технология. Има 32-битова шина за данни и адреси,  а  адресируемата физическа  памет  достига 4  ГВ.  Усъвършенстван  е защитеният режим  на  работа и  се  въвежда странична  организация  на паметта.  Аритметическият копроцесор  i80387 е  въведен  за обработка  на  данни с  плаваща  запетая. Като  междинна версия е разработен вариант с 16-битова шина (адресируема памет 16 МВ) i80386SX, който е предназначен за замяна на процесорите i80286 в компютрите от типа IBM PC/AT. На основата на i80386 се появяват първите версии на Microsoft Windows и неговите приложения. От тогава датира така наречената ‘положителна обратна връзка’ – при появата на  всеки нов  процесор,  софтуерните компании  да  пускат нови  привлекателни  продукти, оползотворяващи възможностите им. Така новите софтуерни продукти постоянно изискват все по-мощни компютърни системи, а новите апаратни устройства изискват нови софтуерни продукти за ефективно използване на ресурсите им. Получава се затворен кръг, който може да  се  смята  за  естествен, но  големите  апаратни ресурси  не  стимулират софтуерните специалисти да разработват ефективни алгоритми за решаване на задачите. Типичен пример в това отношение е програмната среда Windows и разработваните на нейна основа приложни продукти. Някои наричат Windows най-големият вирус създаван в компютърните системи.  Благодарение на  ефективната  производствена  политика, компанията  Intel  има лидерска  позиция в  областта  на производството  на  микропроцесори  за персонални компютри.  В  началото на  90-те  години обаче,  редица  компании, работещи  в  областта на технологиите  за  производство на  високоинтегрирани  електронни схеми,  като  Advanced MicroDevices  (AMD), Cyrix,  Texas  Instruments, IBM  и  др. организират  производство  на микропроцесори, функционално аналогични на i80386 и i80486. По редица характеристики, като  производителност  и цена,  някои  от тях  превъзхождат  процесорите произвеждани  от Intel. Опитите на Intel, да защити по съдебен ред авторството на тези разработки претърпяват неуспех,  тъй като  в  американското законодателство,  числени  означения не  се  разглеждат като  запазена марка.  При  тези условия,  Intel  е принуден  да  съсредоточи усилията  си  в разработката  на микропроцесор  от  ново поколение  (пето  поколение), който  е  наречен Pentium (пети) – вместо i80586[3]. 1993  е  годината  на  появата на  първите  микропроцесори  Pentium. Първоначално  те работят с тактова честота 60 и 66 MHz. Те са 32-битови микропроцесори с 64-битова шина за данни.  Съдържат около  3  100 000  транзистора  и е  използвана  0.8 мкм  технология.  В  тези микропроцесори  е внедрена  така  наречената Харвардска  архитектура  с разделяне  на потока  на командите  и  данните посредством  разделяне  на кеш-паметта  на  два блока  –  за команди и данни. Освен това, в Pentium се въвежда суперскаларна архитектура, при която няколко операции едновременно се изпълняват в четири паралелно работещи устройства: две за обработка на целочислени данни; едно за обработка на числа с плаваща запетая и едно за команди  с условен  преход.  Така изпълнението  на  командите се  организира  във вид  на конвейер, съдържащ пет последователни степени (конвейерна обработка на информацията). Паралелно с развитието на Pentium се работи и по модификацията Pentium Pro, който става родоначалник на ново поколение микропроцесори Р6 (Pentium от шесто поколение). Той  се отличава  с  разширяване на  конвейерната  обработка на  данните  (до 12  степени  на паралелно  заредени команди).  В  процесора е  реализирано  предварително изтегляне  на информация от паметта, която предстои да бъде обработена и изпълнение на операциите в зависимост  от това  дали  са готови  данните  за тях.  Така  естествената последователност  на изпълнение на командите може да не се спазва, като по-задна команда може да се изпълни преди някоя по-ранна, стига данните за нея да са готови.  В резултат на това се получава до 1.5  – 2  пъти  по-голяма  производителност,  при работа  с  32-битови операнди  (данни).  При работа с 16-битовите приложения (DOS), а така също и с Windows 95, Pentium Pro, не дава по-голяма производителност. Друго отличие на Pentium Pro е това, че в корпуса на микропроцесора е поместена още  една  интегрална  схема (силициев  кристал),  която осигурява  вторична  кеш-памет, работеща  с честотата  на  процесорното ядро  –  като начало  256  КВ. Микропроцесорът  е изграден  от 5 500 000 транзистора, а кристалът на вторичната  кеш-памет - от 15 500 000 транзистора. Двата кристала  се  свързват помежду си с отделна високоскоростна  шина, работеща с тактовата честота на микропроцесора. Използването  на две независими шини  е характерна особеност  на  процесорите от семейството  Р6.  Основната системна  шина  FSB (Front  Side  Bus) работи  с  тактова честота определена  от  възможностите на  микропроцесора  и системната  шина.  FSB шината  работи  с честоти  от  66, 100,  133,  200, 400  и  533 MHz. Отделната високоскоростна  шина BSB  (Back  Side Bus)  се  използва за  свързване  на вторичната  кеш-памет с процесора. Шината BSB обезпечава обмен на информацията с честота от половината до пълната вътрешна честота на микропроцесора (500 MHz 2 GHz)[6].

64 битови

През 2001 г., Intel представят първия 64-битов процесор за сървъри Itanium, последван през 2002 г. от подобрения Itanium 2. През 2003 г. AMD представя първите 64-битови процесори за x86-съвместими настолни компютри Athlon 64 и Athlon 64FX и първия 64-битов процесор за сървъри Opteron. През 2004 г. Intel представя серия от версии на процесора Pentium 4 за настолни компютри, които поддържат 64- битовото разширение Intel 64. След това през 2005 г., Intel въвеждат 64-битовите версии на процесорите Xeon за работни станции и сървъри и двуядрените 64-битови процесори Pentium D и Pentium Extreme Edition, които са последните процесори, използващи NetBurst. След изчерпване възможностите на NetBurst архитектурата, Intel създават редица 64-битови процесори, базирани на микроархитектурите Core, Atom и Nehalem. Успоредно с развитието на процесорите на Интел и в конкуренция с тях се развиват и процесорите на AMD. През 2005 г. са представени 64-битовите процесори от семейството Athlon 64 X2, които са първите двуядрени процесори за настолни компютри на AMD. През 2007 г. започва производството на 64-битови процесори с новата архитектура AMD K10, с кодово име Phenom.

При създаването на 64-битови процесори се използват два основни подхода:

  • създаване на изцяло нова 64-битова архитектура, несъвместима с архитектурата х86 – използван от Intel и Hewlett Packard в архитектурата IA-64, приложена в процесорите Itanium и Itanium 2. Основното предназначение на тази архитектура е за сървъри. Отначало се предлагала и в качеството на платформа за настолни компютри, но след появатана архитектурата AMD64, запазваща съвместимостта с x86, производителите, в това число и Intel, се отказват да я използват за друго, освен за сървъри; въпреки че в края на 2001 г. е създадена специална 64-битова версия на Windows XP за IA-64.
  • еволюция на съществуващата x86 архитектура, чрез добавяне на 64-битови изчислителни възможности – предложена от AMD през 1999 г. и за пръв път приложена през 2003 г. за процесорите Opteron – за сървъри и Athlon 64 и Athlon 64FX – за настолни компютри. Следвайки AMD, Интел създават своя версия на тази архитектура и за пръв път я използват през 2004 г. в процесорите Xeon с кодово име Nocona. Такава технология се осъществява и от други фирми като Via[8].

Адресно пространство[редактиране | редактиране на кода]

Физическата памет на 32-битова компютърна система е организирана като поредица от 8-битови полета (байтове). На всеки байт е съпоставен адрес, който представлява число от 0 до 2 32 -1 (4 GB – гигабайта). Програмите написани за този тип компютърни системи не са зависими  от физическото  адресно  пространство на  паметта.  Това означава,  че  програмите могат да бъдат писани без да се знае каква е наличната физическа памет в компютъра и къде в  паметта  ще бъдат  разположени  инструкциите и  данните  за програмата.  Моделът  на организация на паметта, допустим за приложните програмисти се определя от дизайнерите на  системния софтуер. Съществуват  “плоско” линейно пространство, състоящо се от един непрекъснат масив с големина до 4 GB. Сегментирано  адресно  пространство, състоящо  се  от линейни  пространства  (до 16383 броя) всяко с определена големина не надхвърляща 4 GB. При „плосък“ модел на организация на паметта, приложните програмисти разполагат с един масив от максимум 4 GB физическа памет. Обикновено, тази памет е много по-малка в съвременните  масово  разпространени  компютърни системи.  Процесорът  пренасочва 4-те гигабайта  плоско  адресно пространство  във  физическото пространство  посредством специален транслиращ механизъм. Указател в плоското адресно пространство е 32-битов пореден номер. Разполагането на компилираните програмни модули в това пространство се извършва от системния софтуер (свързващи програми, операционна система).  В сегментирания  модел  на организация  на  паметта,  за потребителските  програми адресното пространство е много по-голямо -  до 246  байта (64  TB – терабайта). Процесорът пренасочва 64-те терабайта  във  физически адреси (до 4  гигабайта) посредством  специален механизъм за адресна транслация. Програмистите разполагат с логическо адресно пространство,  което представлява  набор  от максимум  16383  едномерни подпространства, които имат определена дължина. Всяко от тези линейни подпространства се нарича сегмент. Сегментът е поредица от последователни адресни участъци. Адресите в сегментите започват от  0 и  се  наричат логически  адреси.  Истинският физически  адрес  се получава  като  към логическия адрес се прибави базовия адрес на сегмента. Големината на сегментите може да бъде от един байт до 4 гигабайта.

Производителност[редактиране | редактиране на кода]

Съществуват няколко стандартни единици за измерване производителността.

MIPS

MIPS (милион команди в секунда) е една от алтернативните единици за измерване производителността на процесора (по отношение към времето за изпълнение). Съществуват няколко различни варианти за интерпретация на определението MIPS:

- MIPS = количество на команди за единица време.

- MIPS = количество команди в програмата/времето за изпълнението и.

Положителни страни: характеристиката е лесна за разбиране; По-бърз компютър се характеризира с по-голямо число MIPS.

Недостатъци: MIPS зависи от набора команди на процесора, което затруднява сравнение по MIPS на компютри, имащи различни системни команди;

MIPS дори на един и същи има различни стойности за различни програми.

MIPS не отчита възможностите за използване на помощни микропроцесори[7].

MFLOPS

MFLOPS– милион елементарни аритметически операции над числа с плаваща точка, изпълнявани за секунда. Използва се за измерване производителността на компютрите при решаване на задачи, в които активно се използва аритметика с плаваща точка. MFLOPS се базира на количеството изпълнявани операции, а не на количеството изпълнявани команди. Положителното в сравнение с MIPS е, че една и съща програма, работеща на различни компютри, ще изпълнява различно количество команди, но едно и също количество операции с плаваща точка[7].  

Ядро на микропроцесора[редактиране | редактиране на кода]

Структура

Във веригите на процесора са записани основни операции, които той може да изпълнява и се наричат „Instruction Set“. Такива операции могат да са събирането или изваждането на числа, сравняването им или прескачане към различни части на програмата. Всяка основна операция е представена от специфична комбинация битове, позната като Машинен език opcode; Докато изпълнява инструкциите във машинен език, процесора решава коя операция да е първа като декодира opcode. Пълен машинен език се състои от opcode  и  в много случаи, допалнителни битове, които да уточняват аргументи за операцията. Програма на машинен език е колекция от инструкции на машинен език, които процесора изпълнява. 

Фон Нойманова (Пристънска) архитектура

Фон Нойманова архитектура, също позната като Фон Нойманов модел или Пристънска архитектура е компютърна архитектура базирана от тази, описана през 1945 г. от математика и физик Джон Фон Нюман и други във първия репорт над ЕДВАК. Тя описва дизайнова архитектура за електронен дигитален компютър със части, състоящи се от процесорна част, състояща се от част за аритметична логика и процесорни регистри, контролна част, съдържаща  инструкционен регистър и брояч на програмите, памет в която да се пазят и дата и инструкции, външен твърд диск и механизми за вход и изход.

Харвардска архитектура

Харвардската архитектура е компютърна архитектура с физически отделно отделение за пазене на памет и сигнални пътища за инструкция и данни. Терминът произлиза от Харвард Марк I,компютър базиран върху преноса на данни, който запазвал инструкции на касета широка 24 бита и данни в електро-магнитни броячи. Тези ранни машини пазели данни изцяло в централния процесор и не давали достъп до инструкционното съхранение като данни.

Програмите трябвало да се зареждат от оператор, процесорът не можел да ги инициализира сам. 

Днес, повечето модерни процесори имплементират отделни сигнални пътища заради по-добрата продуктивност, но всъщност имплементират подобрена Харвардска архитектура, за да могат поддържат задачи като зареждане на програма от диск като данни и изпълнението ѝ.

Класификация на микропроцесорите[редактиране | редактиране на кода]

В зависимост от областта на приложение – за сложни цифрови системи с универсално или специализирано предназначение, микропроцесорите притежават различни функционални възможности, което ги разделя на няколко класа, както следва: 

Вградени системи[редактиране | редактиране на кода]

Вградените микрокомпютърни системи (Embedded Microcomputer Systems) са предназначени за специфични цели. Те се вграждат в състава на по–голяма електронна система и се програмират обикновено еднократно, а задачите им са точно определени от вградената програма. Пример за вградени системи са тези за транспортните средства, за мобилните телефони, за телевизионните цели, за битовата бяла техника, в периферната компютърна техника като: принтери, скенери, камери и много други.

Микроконтролери (МК) (MCU)

В много широк кръг от технически задачи микропроцесорите се използват за управление на цифрови системи с конкретно предназначение, с постоянно действаща програма, записана в постоянната памет. В преобладаващата част от приложенията тези микропроцесори изискват следните параметри: 

  • 8 или 16 битова организация – 16 битова адресна магистрала;
  • тактова чистота в границите до 40 MHz;
  • вградена програмна памет – ROM, EEPROM, Flash ROM с обем до няколкостотин килобайта(KB);
  • голяма универсалност на чипа – в него да са вградени допълнителни подсистеми, разширяващи функционалните способности;

Основното предназначение на тези микропроцесори е като управляващи устройства, вградени в специализирани електронно–цифрови системи. Това пък определя друго тяхно много често използвано название – Микроконтролери (МК) (MCU).

Процесът на вграждане на микроконтролерите в специализираните цифрови системи означава, че реално те участват като вградени системи (embedded systems), един все по–разширяващ се клас електронни цифрови системи.

Чипът на микроконтролера съдържа до няколко десетки хиляди транзистора и масовото му производство е евтино, а крайната цена е много ниска. С този клас микропроцесори могат да се конструират компактни електронни управляващи устройства без други ИС и изискващи минимален брой външни елементи. По тези причини те са популярни като едночипови микрокомпютри.

Сигнални процесори

Цифровите сигнални процесори ЦСП (Digital Signal Processor, DSP) са отделен, самостоятелен клас микропроцесори. Използват се във вградени системи със специализирано предназначение, изискващи бърза и сложна обработка на сигнали, много често в реално време. Бързата обработка в реално време включва ограничен брой математически операции като събиране, умножение над многоразредни математически операции с фиксирана и плаваща запетая.

Сложната и бърза обработка е необходима при обработката на сложни многоцветни видеоизображения, качествени звукови изображения, във всички съвременни медицински електронни системи, за сложни научни изследвания и още много други. Във всички тези области, като вградена система, сигналният микропроцесор е незаменим инструмент.

Сигналните процесори изискват:

  • разредност 16/32/64 бита;
  • тактови честоти в мегахерцовия до гигахерцовия обхват;
  • вграден високо разреден аналогово – цифров преобразувател;
  • много бърз аритметично – логически блок;
  • висока ефективност, често измервана с параметъра GFLOPS (Гигафлопса) – милиарда аритметични операции с плаваща запетая за секунда, скорост – съизмерима със скоростта на мощните съвременни универсални микропроцесори;
  • енергонезависими и RAM памети, които могат да бъдат вградени в обема на системата или чипа;

Универсални микропроцесори[редактиране | редактиране на кода]

Микропроцесорите с общо предназначение (GPP) са универсални високопроизводителни ИС (General Purpose Processors), способни да изпълнят широк кръг от задачи, които не зависят от програмния език. Едни от техните главни приложения са в компютърните системи. Компютърът като мощна работна станция или  персонална система, за разлика от микрокомпютъра, изисква работа с широк клас програми от най – различно естество, сложност и обем. Това предполага:

  • Голяма производителност – MIPS >> 1000;
  • Вътрешна тактова честота от порядъка на няколко гигахерца;
  • Висока разредност на системата – 32, 64, 228 битова;
  • Голям обем на адресното пространство, тоест при 40 битова адресация, достъпът например да е над 1000 GB адреса;
  • Голям обем на енергонезависимата памет – стотици и хиляди гигабайта, съхраняване във външна програмна памет – HD, CD, Flash;
  • Голям обем на оперативната памет (RAM) – за гигабайтовия обхват са необходими външни RAM модули.
  • Възможност за оперативна работа в реално време и с всякакви сложни сигнали (аудио и видео) и с периферни специализирани и оптимизирани устройства – аудио, видео и мултимедийни контролери със съответното програмно осигуряване. 

Тактов цикъл[редактиране | редактиране на кода]

Един цикъл е най-малкият интервал от време, който може да съществува в работата на процесора. Всяко действие продължава най-малко един, а обикновено и повече цикли. Например при прехвърлянето на данни от и към паметта на процесор 8086 са му необходими четири цикъла плюс състояние на изчакване. Състоянието на изчакване е цикъл, при който процесорът не извършва никакво действие, за да не изпревари останалата част от компютъра. За същото нещо на процесор 80286 са му необходими два цикъла плюс състояние на изчакване.

Важна характеристика, често публикувана в отчетите за процесори, е среден брой тактове за команда (на английски: clock cycles per instruction, CPI). При известно количество изпълнявани команди в програмата, този параметър позволява бързо да се оцени времето, нужно на централния процесор да изпълни дадената програма. Средният брой тактове на команда зависи от функционалната организация на процесора и архитектурата на системните команди.

Блок памети за микропроцесори[редактиране | редактиране на кода]

Основна структура на полупроводникови памети[редактиране | редактиране на кода]

Основното предназначение  на главната подсистема – паметта е да  съхранява двата вида данни – инструкции и оперативни данни.

Енергонезависимите памети съхраняват програмата и при отсъствие на захранващ източник. Те са интегрирани в чипа на микроконтролерите и на сигналните процесори.

Енергозависимите оперативни запомнящи устройства  (ОЗУ), осигуряват бърз обмен на  данни, но ги съхраняват само при наличие на захранващ източник.

Във всички видове микропроцесори се използуват полупроводникови памети с произволен достъп (Random Access Memory), имащи еднакво време за достъп  tA до всяка произволно адресирана клетка и такива с последователен достъп.

Обща структура на запомнящ блок на памет с голям обем и с произволен достъп. Основен блок е запомнящата матрица,  съставена от масив запомнящи клетки, под форма на регистри, с определена разредност.

Всяка клетка (ЗК)  притежава два основни атрибута:

  1. набор от запомнящи елементи  ЗЕ;
  2. собствен  адрес – двоичен или HEX .

Адресният дешифратор може да „извиква“ всеки случаен адрес  винаги за едно и също време tA, което  означава че паметта е с произволен достъп- RAM (Random Access Memory“ ).

Обменът на данни (запис W или четене R) се извършва през магистралата за ДАННИ само с адресираната клетка, в такта, когато управляващото устройство е подало сигнал за запис () или за четене  (). 

Дали паметта е от  енергозависим или от енергонезависим тип зависи от структурата и свойствата на запомнящите елементи в матрицата.

При паметите често използвано понятие за съдържанието на клетките е машинна дума (Word).

Елементи на оперативните енергозависими памети

Енергозависимите памети са известни  като оперативни   защото при тях  времената за запис tW, за четене tR и за изтриване на данните tE  са  минимизирани, в допустимите от технологията граници.

Този тип памети са световно популярни като RAM, макар че и болшинството енергонезависими памети също са с произволен достъп. 

             Регистрите на  тези памети са с паралелно въвеждане и извеждане на данните, а по характер на структурата – запомнящите елементи ЗЕ са от статичен  (SRAM) или   динамичен  (DRAM) тип.             Статичните запомнящи елементи съдържат тригер и адресен транзистор, а динамичните запомнящи елементи  вместо тригер включват „запомнящ“ MOS кондензатор MOSC .

Запомнящите кондензатори на DRAM обаче се саморазреждат след  милисекунди, което  налага да се въвежда допълнителен блок за опресняване на паметта (Refresh).

на енергонезависимите памети

ЗЕ на матрицата на енергонезависимите памети (ROM) съдържат диоди или MOS транзистори като запомнящи елемент. При „класическите“ диодни и MOS ROM еднократният запис се осъществява чрез прекъсване на контакт  между диода и шината за четене на данни или между дрейна  и шината за  четене. При PROM  програмирането се осъществява еднократно от самия потребител с помощта на програматор.

Енергонезависимите репрограмируеми памети ЕPROM, EEPROM, Flash ROM и SSD (Solid Sate Drives) съдържат аналогична матрица, но със специална конструкция -FGMOS транзистори  (Floating Gate MOS). Тези транзистори имат две стабилни нива на праговите  напрежения – ниско UTL или високо UTH, които се запазват и след изключване на захранващото напрежение. Само транзисторът програмиран с ниско прагово напрежение се задейства от адресния сигнал .  „Изтриването“ на данните e  отделна операция, която възстановява праговото напрежение UT на всички транзистори до едно от праговите напрежения. Записът на нови данни също е отделна операция.

Операциите  изтриване и запис  се постигат по различни способи: 

  • при ЕАPROM „изтриването“ е чрез ултравиолетово облъчване, а записът е електрически -чрез програматор;
  • при ЕЕPROM изтриването и програмирането  (записът) стават изцяло по електрически път с  помощта на програматор;
  • при  Flash ROM  изтриването и програмирането  (записът) стават изцяло по електрически път но без   помощта на програматор. Директно на програмиращите входове на ИС се подават програмиращи  импулси с нормирана продължителност и стандартни логически нива. Този тип интегрирани памети  се програмират най-удобно  и най-бързо. Връзката им към системата е най-често USB.
  • полупроводниковите  твърди дискове SSD са сериозна алтернатива на  твърдите магнитни  дискове HDD. При SSD програмирането също се извършва чрез импулси с нормирана продължителност и стандартни логически нива. Връзката им към системата e аналогична на твърдите дискове HDD. За разлика от тях, SSD не притежават високоскоростни въртящи се механични елементи; те са безшумни, работят в по-широк температурен обхват, имат по-малки габарити и маса, което ги прави особено подходящи за преносими компактни системи, военна и космическа техника. Все още не са напълно конкурентни на  HDD по отношение на максимален капацитет и имат по-ограничен брой цикли запис-изтриване (за сега от порядъка на милиони цикъла).

Характеристика на RAM за GPP[редактиране | редактиране на кода]

5.2.1. Сравнение между SRAM и DRAM Компютърните системи изискват оперативна памет с много голям обем и голямо бързодействие, респ. с минимално  време за достъп до паметта tA. Използуват се както статични SRAM, така и динамични DRAM модули. Модулът- банка съдържа набор от 8-9 ИС на RAM, с обща разредност 32/64/128 бита, разположени върху миниплатка с няколко стотин двуредни изводи. Капацитетът на паметта на модула достига няколко гигабайта. 

Статичните ОЗУ (SRAM),  притежават следните основни положителни качества

  • висока шумоустойчивост;
  • възможност за работа при понижено захранващо напрежение;
  • възможност за работа при понижени тактови честоти;
  • по-слабо влияние от климатични и атмосферни смущения.

Като основен недостък на SRAM  се счита значителният брой транзистори за всеки ЗЕ. По-големият брой транзистори от своя страна определят:

  • по-голяма повърхност на ЗЕ и на чипа, което повишава производствената цена
  • по-малка информационна плътност (брой ЗЕ на квадратен милиметър от повърхността на чипа).

Основно качество на DRAM е,  че всеки ЗЕ заема площта на един MOS транзистор (MOSТ). Това определя неколкократно по-голям обем на паметта за единица площ, респ. много висока информационна плътност. Това е сериозна за предпоставка за значително по-ниска крайна цена и конструиране на DRAM с много голям обем на паметта.

За основни недостатъци на DRAM се считат:

  • ниска шумоустойчивост при четене на данните;
  • ограничения при  работа с понижени тактови честоти;
  • по-значително влияние от климатични, атмосферни и радиационни смущения.

Статичните  RAM са подходящи за компютърни системи, – подложени на външни електромагнитни и лъчеви влияния: работа в полеви и космически условия,  за военни цели, при работа в предприятия със силни електромагнитни излъчвания – електрожени, искри от електродвигатели с четки и др. Те основен  градивен елемент на Cache паметите.

Динамичните  RAM, с по-ниската  шумоустойчивост, но и със значително  по-ниската цена, са намерили своето огромно приложно поле в лицето на офисните и персоналните компютърни системи.

     5.2.2 Основни параметри и развитие на RAM модулни памети     В компютърните системи оперативната RAM е изпълнена като  конструктивен модул, с набор от 8 до 18 ИС, монтирани на миниплатка, имаща до 200 и повече изводи.

    RАМ модулът е свързан със системната входно изходна шина I/O чрез съгласуваща буферна секция.

        За RAM модулите са характерни  параметри като:

- разредност в байтове Rd;

- тактова честота fM [MHz] и тактов цикъл  tM=1/fM;

-тактова честота fI/O на системната шина I/O;

- стъпки  на достъпа nA;

- скорост на обмен на данни Vb [MT/s] (Million Transfers/second).

- байтова скорост на паралелен пренос VB [MB/s]

- върхова паралелна байтова скорост на пренос BW  [MB/s, GB/s].

Тези параметри са динамични и свързани с непрекъснатото развитие на модулните памети.

Синхронни RАМ (статични SSRAM и динамични  SDRAM) Първата насока в  развитието на оперативните ЗУ е синхронизирането им с  тактовата честота fI/O  на системната шина за  данни I/O. Обръщането към паметта (W/R) се извършва синхронизирано само при един от фронтовете на такта. Честотата на системната шина е равна на тази паметта fI/O =fM. Тези синхронни  работят с честоти до 100÷200MHz, което отговаря на време 10-5ns.

           DDRАМ (Double Data Rate RAM). За тази следваща  генерация   синхронни  статични и динамични е характерно:

* Честотата на  модула  остава в същите граници  fM=100÷200MHz;

* Обменът на данни обаче става  при всеки нарастващ и спадащ фронт на тактовия сигнал  I/O. Този удвоен  достъп nA=2 (известен  като dual pumping), означава удвоена скорост на обмен MT/s.  

DDR2 RAM. За тази трета генерация е характерно:

* Честотата на  модула  остава в същите граници fM=100÷200MHz;

 * Обменът на данни тава  при всеки нарастващ и спадащ фронт на тактовия сигнал;

* Системната тактова честота  fI/O  обаче е два пъти по-висока от тази на паметта (fI/O=2fM). Това позволява  4 пъти по-голям обмен на пренос MT/s,  спрямо първите синхронни памети  DDRАМ1.

DDR3RAM. Едно от основните различия е, че системната тактова честота  fI/O  е 4 пъти по-висока от тази на паметта (fI/O=4fM). Това позволява 2 пъти по-голям скорост на пренос MT/s спрямо  DDR2. Освен това  DDR3 RAM консумират около 30% по-малка мощност и работят при захранващо напрежение 1,5v.

Динамичните  памети RDRAM - известни като Rambus DRAM съдържат друго управление на потока на данни и адреси, високоефективен протокол и изискват прецизно синхронизиране. Те не могат да заменят пряко  динамични DDR SDRAM памети.

              5.2.3  Определяне на скоростите за обмен на модулите

       Скоростта  на обмен на данни Vb [MT/s] зависи от факторите, обяснени по-горе:

                             Vb=fM.nA.k=fI/O.k [MT/s],                                    

съгласно фиг.3.4 и таблица 3.1, където k=fI/O/ fM .     

Паралелната байтова скорост   e съответно

                   VВ=8=fI/O.k=8Vb   [MВ/s].                                    

Максималната широчина на лентата на паралелен пренос BWмах зависи освен от байтовата скорост VВ още от байтовата разредност RD и броят на паралелните интефейси, с които оперира системата nint:

                                                                BWмах=VВ.RD. nint.                                                  

Така за стандартна 64 битова едноканална конфигурация, според  данните от табл.3.1 за DDR2-800 максималната  паралелна скорост е

           BWмах=6400*8*1=51,200 Mbit/s=5,12 GB/s

 Ако се ползват  данните от табл.3.1 за DDR2-800, но за двойно канална 128 битова система, максималната възможна  паралелна скорост се удвоява

           BWмах=6400*8*2=102,400 Mbit/s=10,24 GB/s.

  От 2007 г. в нови РС и графични карти се използват  двойно- и многоканални конфигурации – nI=4, 5 и 6. Четири канална, 256 битова конфигурация с обем 4GB, ще съдържа 4 модула по 1GB, всеки с разредност 64 бита.                                

Наименование

UDD,

    V

Тактова честота

  памет

fM  [MHz]

Период цикъл

tM =1/fM

[ns}

Честота I/O шина

   fI/O

 [MHz]

Скорост     пренос

   Vb   [MT/s]

Байтова скорост

     VB

[MB/s]

DDR1-х

2,5

100 – 200

10 – 5

100 – 200

200 – 400

1600-3200

DDR2-400

1,8

100 MHz

10 ns

200

400

3 200

DDR2-533

1,8

133 MHz

7.5 ns

266

533

4 266

DDR2-667

1,8

166 MHz

6 ns

333

667

5 333

DDR2-800

1,8

200 MHz

5 ns

400

800

6 400 

DDR2-1066

1,8

266 MHz

3.75 ns

533

1066

8 533

DDR3-800

1,5

100 MHz

10 ns

400

800

6 400

DDR3-1066

1,5

133 MHz

7.5 ns

533

1066

8 533

DDR3-1333

1,5

166 MHz

6 ns

667

1333

10 667

DDR3-1600

1,5

200 MHz

5 ns

800

1600

12 800

         Конструктивно оформление на RAM. DDR2 и DDR3 са оформени в многочипови модули с двустранно (DIMM) разположени  240 извода и не са съвместими със старите  DDR1.  По-бързите модули DDR2 са съвместими с по-бавните DDR2,  но работят с по-ниската скорост.  Ако се монтира по-бавна DDR2 в по-високоскоростна система, тя ще работи на нейната  по-ниска скорост, регламентирана от паметта.

Данните на модулите се означават  като     АxRD-S“.  С  А (число  кратно на 2n)  е означен броят на адресите (в  Mb), чрез RD   е изразена разредността, а с S -времето за достъп  и обмен (в ns).

Общият обем на паметта на модула е М=АхRD.  Примери: Модул с обем M=256МВ  и S=7 ns, може да се изрази по няколко начина:

-при 32 битова разредност        64х32 -7

-при 64 битова разредност        32х64 -7

В много памети за всеки байт се предвижда по един допълнителен бит за проверка по четност. Така RW  придобива значения съответно 9,18, 36 и 72 бита.   

Виртуална и кеш памет[редактиране | редактиране на кода]

Всички видове памети, включени физически в компютърната система, комуникират с микропроцесора. Съществуващата  и действаща памет има физически (абсолютни) адреси и е известна  като реална или главна  памет (main memory).

      Виртуална памет. Всяка програма изисква определено адресно пространство в главната памет.  При съвместна работа на няколко програми, необходимото общо адресно пространство  се ограничава от обема на физическата RAM памет. За решаване на проблема, особено при по-рядко използвани програми, на помощ идва техниката на виртуалната памет (Virtual Memory VM).

Вътрешна програма, поддържана от  операционната система, автоматично намира допълнително свободно адресно пространство на твърдия диск, известно като  Backing store. В тази поддържаща област съхранените данни имат виртуални (логически адреси),  неизвестни на програмиста.

         Специална програма автоматично трансформира обратно данните от виртуалната памет във физическото пространство с реални адреси, когато ще се  работи с програма, съхранена във виртуалната област. Цялата процедура е известна като mapping, а самото копиране от виртуалната памет във главната е swapping или paging (страниране). Програмистът не се интересува къде са били разположени програмите във виртуалната област върху твърдия диск. За целта е необходимо в диска да има достатъчно свободно пространство.

Cache памет. От самото си създаване и до сега вътрешната скорост на микропроцесора е значително по-голяма от скоростта на обмен  с външния блок на оперативната памет. Широко приложим начин за съвместяване  и ускоряване на обмена на  системата се постига чрез бързата оперативна Cache  памет.

Cache паметта служи като буферна свръхоперативна памет между процесора и външната RAM. Cache паметта е изпълнена  физически като свърхбърза статична тригерна структура. Вградена в  микропроцесорния чип тя работи  синхронно с вътрешната такова честота. Достъпът до Cache  паметта заема обикновено от 1 до няколко цикъла, докато прекият достъп  до външната памет може да изисква значително повече цикли.

Според мястото в системата, обема и бързодействието, тя се систематизира на няколко нива – вътрешна L1 – с най-малък обем и с най-голямо бързодействие, второ ниво L2 с повишен обем и трето L3 ниво.

В Cache паметта се поместват временно най-често използуваните и повтарящи се данни и инструкции  на програми, съхранявани принципно в  главната RAM памет.

Cache паметта има два атрибута (полета) – етикет, които посочват адреса на следващите ги данни и битове за валидност. Това позволява в нея да се съхраняват инструкции или данни, с които е работено последно.

Работата и ефективността на Cache паметта се основава на два принципа с вероятностно-статистически характер: на  пространствена близост  и на  времева близост.

Пространствената близост означава, че има голяма вероятност информацията, обработена в даден момент Tn да бъде записана в адрес близък до предходния момент Tn-1. Времевата близост се основава на голямата вероятност информацията обработвана в момента Тn да е същата, обработена в предходни повтарящи се моменти. Такъв е случаят при цикли, рекурсивни алгоритми и др. 

На тази основа са разработени няколко подхода при организацията на Cache паметта. При асоциативната организация, тази памет се разделя на отделни  блокове, като на всеки блок се присвоява етикет със собствен адрес и адреси на конкретни файлове. При избор на адрес се търси асоциация – съвпадение   между  етикетите на  блокове и данните, съхранени в паметта.           По-бърза, но с по-малка гъвкавост  е директната организация (Direct Mapped). При нея част от логическия адрес се използува за директно определяне на реда на паметта, а останалата част – за етикета. Смесената организация обединява  предимства  на предните два вида.

Ефективността на Cache паметта зависи значително от конкретните програми, изпълнявани от микропроцесора. Средно производителността на системата се повишава  30% – 50%

Карта и пирамида на паметта[редактиране | редактиране на кода]

Карта на паметта. Това е много удобна за практиката форма за онагледяване на адресното пространство.

Собствен двоичен физически адрес притежава всяка запомняща клетка от оперативната  и програмната ROM памет, всеки регистър в ядрото на процесора и всеки от регистрите в допълнителните подсистеми. Адреси притежават също устройствата и регистрите, свързани с управлението на портовете на процесора, както и външните устройства свързвани към процесора. „Интелигентните“ МП разпознават автоматично по адреса, дали външното устройство е включено и активирано към системата.

Множеството адреси, свързани с работата на микропроцесора, могат да заемат цялото адресно пространство на всички памети NAmax=2RA, независимо от типа на запомнящото устройство.

Паметта се представя чрез правоъгълни масиви,  разделени на отделни секции – адресни пространства, всяко според предназначението. На фиг.3.6 е дадена примерна карта на паметта за микроконтролер. В масива за временно съхранение първа е секцията на най-бързата, свърхоперативна памет. Следва   паметта за оперативни данни, включваща вътрешните регистри, Cache  и RAM – (интегрирана  и външна) и стековата секция.

Програмната памет заема отделен масив. В нея има запазени отделни адреси за

специални инструкции. Такъв е например нулевият адрес 0000h – за операцията RESET – за начално установяване на системата.  Специално адресно пространство е запазено за микропрограмите на инструкциите  (firmware). Оставено е свободно адресно пространство за операционната система и за оперативните програми.

Области от паметта могат да бъдат отделени в  самостоятелни области – сегменти или страници.

Страницата е с фиксиран обем (2, 4 или 8 КВ) докато сегментът може да е с променлив формат.

Пирамида на паметта.  Мястото и връзката между  отделните видове памети по отношение на обем, бързодействие и енергийна зависимост се онагледява удобно чрез пирамидалния модел  от фиг.3.7. На върха на пирамидата е регистровата вътрешна памет, имаща максимално бързодействие, но  най-малък обем. Следва Cache паметта,  характерна за големите микропроцесори и цифровите сигнални процесори.

Основната RAM памет е с най-голям обем, но с намалено бързодействие, спрямо вътрешната и Cache паметта.  При първите поколения микропроцесори блокът памети съдържаше външни ИС, а  в чипа на процесора бяха интегрирани само ограничено число статични регистри. При компютърните системи оперативната памет RAM, с огромен обем, е обособена като отделен модул, свързан върху дънната платката с конектори.

В основата на пирамидата са енергонезависимите памети с огромен обем – от оптичен, магнитен и полупроводников тип. Особено бързо развитие  придобиват удобните за пренасяне и работа полупроводникови Flash Memory Cards и твърдите п.п. енергонезависими SSD, все по-конкурентни на магнитните твърди дискове HDD.

Моделът се отнася за всички микропроцесорни системи, независимо от предназначението им.               

Директен достъп до паметта[редактиране | редактиране на кода]

Оптимизацая на работата на микропроцесорите, означава те да бъдат разтоварени  от процедури, които могат да се извършват паралелно и без тяхно участие. Пример за такава оптимизация е   възможността  външни  устройства да обменят  данни  с  RAM,  без да ангажират  МП. За тази цел служи  блокът за директен достъп до паметта – DMA (Direct Memory Acssess (фиг.3.8). При задействане, връзките към микропроцесора се блокират, а паметта комуникира директно с външното устройство. Процесорът остава свободен за редовната програма. Такива блокове са характерни за всички видове микропроцесори.

   Тенденции на развитие на паметите

През последните години активно се работи са създаване на памети с голям обем, които да съчетават оперативността на  RAM  и енергонезависимостта и удобствата на FlashROM. Едно от направленията  в тази насока са SSD твърдите дискове.

Други направления не са на полупроводникова основа.

Технологията на MRAM използва магнито-резистивен ефект между два тънки феромагнитни слоя. За да дефинират двете състояния на електронния ключ – отворено и затворено, при MRAM  се прилага  магнитен момент, вместо електрически заряд. 

B средата на 2008 г. фирмата Hewlett Packard обяви за създаване на нов тип енергонезависима памет мемристор, която използва  нелинеен резистор с нано размери, имащ две стойности на съпротивление, отговарящи на 0 и 1, които се запазват и без електрическо захранване. Това е постигнато чрез структура от две платинени нишки, разделени от тънък само 150 атома слой от титаниев двуокис. Перспективата е да се постигне плътност на  енергонезависимо запазване на данни от порядъка на 100 гигабита на квадратен сантиметър.

Източници[редактиране | редактиране на кода]

5. Intel 8008 data sheet

6. Микропроцесори и компютърна архитектура (Физика), глава 6, Prof. Dr. Stanko Vladimirov Shtrakov

7. Компютрите отвътре и отвън, Христо Тужаров, Ноември 2007

8. Красимир Дойчев: „Компютърни системи с 64-битови процесори на Intel и AMD“

Вижте също[редактиране | редактиране на кода]