Loading...
deni.denkata avatar deni.denkata 72 Точки

За любознателните - "Основи на основите на ((основите)/4) на изчислителната техника"

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

  Заглавието е написано така, защото тук ще се дават принципи от техниката, теории и примери, които са много малка част от много по-големи и мащабни науки. Представяйте си информацията тук като информацията от кориците на отделни книги - заглавие и за какво се говори в книгата. Казвам това, защото сред четящите ще има хора, които са запознати с материята и биха ме критикували защо дадено нещо съм го казал по определен начин, когато в книгите то е разтеглено по друг. Това не бива да ви спира да коментирате и питате за доизясняване на нещо, което ви е интересно и искате да знаете повече, както и за неща, които може би съм омазал. Ще се опитвам да давам и линкове към източници, от които да прочетете повече.
  За какво ще говоря? Като цяло ще се опитам да вмъкна част от знанията ви по физика, химия, математика и технически науки, да ги обединя и задълбоча в това, което се нарича днес изчислителна техника, компютърни и софтуерни науки. Изложението ще бъде максимално опростено, но достатъчно, за да се изяснят основните принципи.
 В първа точка ще вмъкна физичните основи на електрониката и някои прости схеми, за изясняване на елементната база. Във втора точка ще се говори за цифрова електроника и програмиране.

     1. Първа точка - основи.

       1.1. Елементи на електрониката и кратки пояснения за тях.

       1.2. Примери за електрически схеми и как работят. Видове електроника.

     2. Втора точка - цифрова електроника.

       2.1. Логически нива и представяне на транзистора като ключ.

       2.2. Комбинационни и последователностни логически елементи.

       2.3. Представяне на основната схема на инвертор изградена със CMOS технология. Пояснения.

       2.4. Как изглежда една интегрална схема при проектирането й. Пример с DAC.

       2.5. Как работят процесорите. Кратко пояснение с Intel 8086.

       2.6. Конвеиризиране на инструкциите - пример с PIC microcontroller. Памети.

       2.7. Бройни системи - десетична, двоична, шестнадесетична. Принципи и преобразувания.

       2.8. Приложение на двоичната бройна система в компютърните мрежи.

       2.9.

 

13
Общи приказки
deni.denkata avatar deni.denkata 72 Точки

 1. Първа точка - основи.

 Започваме от любимата на всички физика smile. За да може занапред да говорим за технологии, трябва да тръгнем от основите. От физиката тръгва всичко, но за изчислителната техника ни трябват основно принципите от главите за Електростатика и Електромагнетизъм ( и за стреж на веществата, но това клони към химия). 

 Няма да преписвам главите от физиката, затова вадя това, което ни тряба.
 Какво е електричен ток? Електричен ток е насочено движение на електроните в проводниците и полупроводниците. Посоката му в техниката, е обратна на движението на електроните.
 Какво е електрическо напрежение? Това е разликата в потенциалите между две заредени с различен заряд точки. Потенциалът на земната повърхост се приема за нулев, така че между заредена частица и земната повърхност, напрежението е равно на потенциала на заредената частица (ако частицата Фm има потенциал 5V, то напрежението между нея и земята с потенциал Фe = 0V, напрежението е 5V). Напрежението и токът се управляват чрез електронни (електрически) вериги, чиито елементи са следните.
 Електрическо съпротивление - електрическото съпротивление е свойството на проводниците и полупроводниците да се съпротивляват на протичането на електричен ток през тях. Означава се с R, което в програмирането и теорията се води за параметър, който има математическо представяне. Мерната единица на съпротивлението е ом [Omega]. По-голямо съпротивление - по-малък ток.
 Електрически кондензатор - електричекият кондензатор е елемент, който има свойството да запазва електрични заряди в себе си. Той исползва известното свойство от електростатиката, че противоположно заредените частици се привличат, еднакво заредените се отблъскват. Запазването  става, като към кондензатора се подава напрежение,което пренасочва електроните към единият му електрод, а другият електрод обеднява на електрони. Във електрическите вериги с постоянен ток, кондензатора използва свойството си да запазва електричекса енергия, а във веригите за променлив ток, се използва като филтър, защото през него преминава променлив ток. Електрическият кондензатор има параметър C, наречен електрически капацитет. Това е мерна единица, характеризираща количеството електричество, което кондензаторът може да запаси в себе си.
 Индуктивна бобина. Тук се използва свойството на протичащият през проводник ток, да създава магнитно поле. Магнитното поле се характеризира с величината магнитна индукция (бележи се с B и се мери в Тесли [T]), която го характеризира във всака точка от пространството.  Тук веществата са основно от метален (проводников) произход. Бобината е елемент съставен от навит около метална сърцевина проводник, по който тече електричен ток. Този ток създава магнитна енергия, която се усилва от сърцевината (ако няма сърцевина, това усилване го няма).  Индуктивността на бобината се означава с параметъра L, който зависи основно от конструкцията на бобината, измерва се с мерната единица [H] - Хенри.
Следва продължение....

3
deni.denkata avatar deni.denkata 72 Точки

...продължение_1. Елементи на електрониката.

Някои от основните елементи на електроникатафиг.1_1 На снимката са показани част от описаните елементи на електрониката, а за другите тепърва ще говорим.

 

 На картинката горе освен описаните вече елементи резистор, кондензатор и индуктивна бобина (Inductor), са изобразени и означенията за източник на посточнно напрежение (DC voltage source), който може да е батерия, изправител или друг постояннотоков източник, и източник на променливово напрежение (AC voltage source), който може да е напрежението от електрическата централа, напрежението на електрическата мрежа (контактите вкъщи), или от устройства наречени инвертори (променливотокови са и електрическите трансформатори - устройства изменящи напрежение с едни поазатели в напрежение с други показатели). Елементите вдясно са хардуерната имплементация на логическите оператори, взети в третата лекция на д-р Наков. За тях предстои да говорим, но първо да изясним, кои са другите елементи на електрониката, които всъщност са необходими за изграждането на захранвания, логически елементи, процесори, компютри, та чак до програмирането, което учим.

 

2
deni.denkata avatar deni.denkata 72 Точки

...продължение_2. Елементи на електрониката.

  Следващият елемент от електрониката е от групата на полупроводниците, казва се полупроводников диод (означението му е дадено, горе вляво на картинката). Този елемент има свойството да пропуска тока само в едната посока, а в другата го спира. Ако гледате символа на елемента, тока протича от ляво надясно (може да си представите, че вертикалната черта представлява бариера, която пречи на тока да протече от дясно наляво). Той се характеризира с напрежение на отпушване = 0.7V, обратно напрежение на пробив, статично и динамично съпротивление. Означава се с D. Точно какъв е принципа на работа на полупроводниковият диод и на полупроводниковите елементи, не е тема за програмисти, но на който му е интересно нека погледне този линк или да потърси в нета.

 Все пак в името на яснотата ще каже, полупроводниците са два основни типа - чисти и примесни. В електрониката се използват примесните, като те се разделят на N-тип и P-тип. В N-типът основните токоносители са електроните, те се движат от отрицателен към положителен полюс, а в P-типа са дупките  (това е абстракция, която показва липса на електрон в ковалентната връзка между два атома), които се движат от положителния към отрицателния полюс. При съединяването на двата типа полупроводници, се получава PN преход, който проявява изправителните свойства. Ще кажа повече като обясня за процеса на правене на логически елементи и цифрови схеми, с полупроводниковите транзистори.

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

...продължава...

 

2
deni.denkata avatar deni.denkata 72 Точки

...продължение_3. Елементи на електрониката. Транзисторът.

  Полупроводников транзистор (преобразувател на съпротивление). Транзисторите се делят на биполярни (имат двата вида токоносители, като преобладават или дупките-PNP, или електроните-NPN) и униполярни (един вид токоносители- електрони N-канал, дупки P-канал).

  Биполярните транзистори се произвеждат във вид на дискретни (самостоятелни) елементи, и се използват като усилватели на сигнали и по рядко, като ключове. При тях се използва свойството на транзисторите да усилват сигнала. Биполярният транзистор има три крачета, наречени емитер (помпа електрони), база (регулира потока на електроните), колектор (събира електроните).Транзистори_NPN_PNP

 

  На схемата са показани и аналогии с диоди, но реално транзистори НЕмогат да се получат чрез свързването на диоди! Стрелкичката в символа на транзистора показва посоката на тока.

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

Планарна структура  Униполярните транзистори се означават с N-MOS, P-MOS, CMOS, JFET и др. Тези транзистори имат планарна структура, която е в основата на изработката на интегралните схеми и в частност процесорите.

  Означението MOS - означава Metal-Oxid-Semiconductor. N-MOS означава MOS транзистор с N канал, а P-MOS - MOS транзистор с P канал.

...продължава...

 

2
deni.denkata avatar deni.denkata 72 Точки

...продължение_7.

 При запушване на транзистора захранването на товара се поддържа от запасената енергия в индуктивността и кондензатора. Токът от заредената индуктивност се затваря през отпушеният вече диод D0. Тя действа като захранване за товара, до следващото включване на транзистора.

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

 

 От тук минаваме на цифрова електроника.

 

2. Втора точка - цифрова електроника.

Логически нива

 На схемата горе е представена обща диаграма на логическите нива в електронната апаратура. Вижда се, че логическата нула се засича като такава от електрониката, в диапазона от Umin'0' = -1V до Umax'0' = 1.8V(3.3V захранване) или 2.8V (при 5V захранване), логическата единица се отчита от Umin'1' = 1.8V (за 3.3V) или 2.8V (при 5V). Зоната между тях се води неопределена, защото сигнали попадащи в този диапазон са зашумени и неясни (неразпознаваеми).

 Ако си представим транзисторът като ключ за лампа (или друг подобен), то той би могъл при подаване или неподаване на входно напрежение на на гейта му, на изхода си да извежда съответно логическа единица (3.3v или 5V), или логическа нула (0V). С други думи, ние можем с транзистор работещ в ключов режим, да създадем устройство работещо с две състояния - логическа нула (изключен ключ) и логическа единица (включен ключ). Благодарение на това свойство, можем да приложим булевата алгебра и да реализираме една сложна изчислителна машина.

Транзистори като ключове

На картинката е показана схема на инвертор реализирана с CMOS транзистори и аналогия с обикновени ключове.

...продължава...

1
deni.denkata avatar deni.denkata 72 Точки

...продължение_8. Комбинационни и последователностни логически елементи. Изграждане.

 На фиг.1_1 в началото на тези записки, освен основните градивни елементи видяхме и логическите елементи, които изграждат съсвременната изчислителна техника. Тези логически елементи се състоят от транзистори, които се свързват по определен начин, за да се изгради определена функция - логическо отрицание, логическо "ИЛИ", логическо "И" и т.н. Елементите от тази фигура се обобщават като комбинационни или елементи без памет. Каквото подадеш на входа, веднага има резултат на изхода.Освен тези елементи има други, като мултиплексори и демултиплексори (дешифратори).

 От третата лекция на д-р Наков знаете основните битови операции, а те са такива заради булевата алгебра и машината на Тюринг, а тяхната реализация в електрониката са комбинационните и последователностни схеми. Последователностните схеми са схеми с памет, като тригери, броячи и други. За тях ще стане въпрос след малко.

 За реализирането на всяка една от тези схеми, а също така и на сложните изчислителни машини, които използваме в днешно време се използват (както вече много пъти казах smile) транзистори. В случая за проектирането на интегралните схеми се използват мощтни софтуерни продукти, с които да се извършва самото проектиране, тестване и реализация. Компютрите, както вече знаете, са много добри в повтарянето на неща, затова е необходимо при проектирането на един чип, да се използва някакъв модел (схема), от която да може да се тръгне, да се размножи и от нея да се направят блокове, от които пък да се състави цялата интегрална схема, процесор, микроконтролер, брояч, шифратор, таймер, сензор и много други. Софтуера прави това почти автоматично (с мултиплициране), като получава входни данни от проектанта. Но кой е този базов елемент (схема) от който се тръгва? Това е инвертора със символа показан на фиг.1_1, долу вдясно. Инвертора се състои от два транзистора с противоположен тип проводимост (единият е с P-канал, а другият с N-канал). Тези транзистори, благодарение на планарната технология се правят много лесно заедно един до друг и така, този елемент е базов за проектирането и производството на изчислителната техника.

...продължава...

1
deni.denkata avatar deni.denkata 72 Точки

...продължава_9. Инвертори изградени с транзистори.

 Схема на инвертор с транзистори е дадена тук.

Инвертор с транзистори  Транзисторите са с CMOS технология (Complementary Metal-Oxid-Semiconductor). Тази планарна технология, позволява да се направят и двата транзистора едновременно един до друг, по време на технологичния процес. Транзисторите са със опростено означение. При подаване на Vin = 5V, P-типът (T2) транзистор е запушен (защото за него основни токоносители са дупките, а на гейта има подадено напрежение, което ги отблъсква), а N-типа е отпушен. Поради факта, че n транзисторът е свързан към маса, а p е запушен, на изхода Vout се получават 0V. При подаване на Vin=0V на входовете на двата транзистора, P-типът (T2) се отпушва, а N-типът се запушва. Захранващото напрежение протича от източника, през транзистора към Vout = 5V. Така се получава инвертиране. С нареждане на елементите на тази схема по определен начин, се получават и всички останали логически елементи (или може да се направи друга базова схема, която включва инвертра в себе си "ИЛИ-НЕ", от която също магат да се направят останалите). 

...продължава...

1
deni.denkata avatar deni.denkata 72 Точки

...продължава_10. Интегрална схема по време на проектиране. Топология.

 Схема на DAC (Цифрово-Аналогов-Преобразувател)

DAC

  Пример как изглежда дадената схема на DAC във вид на топология нa интегрална схема, е даден на фигурата долу.

 Топологията е това, което се прави след направата на принципната електрическа схема на устройството. За целта се използва специален софтуер, писан от софтуерни и с помоща на хардуерни инженери.

IC topology

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

 

  Забележка! В микроелектронното и наноелектронното производство, чипове за изчислителни машини се правят само с транзистори, кондензатори и резистори (като последните се избягват). Кондензаторите с малък капацитет могат да се получат и от самите MOS транзистори, като се използва недостатъкът, че всеки електронен компонент има паразитен капацитет (и индуктивност). За този случай се използват леко модифицирани транзистори, които в подгейтовата си област, могат да запазват заряд. Индуктивности в изчислителните чипове НЕ се правят, защото за получаване на минимална индуктивност, е необходима площ равна почти на целия чип. Все пак в някои сензори произведени по MEMS технология, се правят и индуктивности, но там индуктивността заема един чип, а обработващата част се прави на отделен или до индуктивността, като отделна структура. За това като си отворите компютъра и погледнете дънната платка, има едни навити дроселчета по нея :).

...продължава...

1
deni.denkata avatar deni.denkata 72 Точки

...продължение_11. Как изглежда и работи процесора -пример с Intel 8086.

 Изглед и принцип на работа на CPU Intel 8086. Почти всички съществуващи процесори имат подобни елементи в себе си. Различават се само по броя им и реда на свързването.

Intel 8086

  Всеки процесорен блок съдържа в себе си изпълнително устройство, аритметично устройство, памет. На блоковата схема е показана опростен изглед на архитектурата на Intel8086. Вижда се, ALU (аритметично-логическо-устройство), регистри за запазване на операндите (Temporary registers), регистър за флагове (Flags) или още статус регистър, основни регистри (General Registers), регистри със специално предназначение (Internal Comunication registers), суматор, регистър за чакащи инструкции (Instruction Queue), контролни системи за магистралите (IO Control System и Bus Control Logic).

  Виждаме, че магистралата за данни е 16-битова, което ни казва, че този микропроцесор е 16-битов. С други думи, може за един цикъл на тактовата му система да изпълни една 16-битова операция (не както на съвременните 32 и 64 битови). Адресната му магистрала е 20-битова, което ни показва, че този процесор, може да адресира 220 = 1048576 бита памет (или 1Мегабайт памет). Вътрешните регистри са малки клетки с памет, които служат за запазаване на операндите и резултатите при изчисленията на ALU. Допълнителните регистри служат за следене състоянието на изчислителната система.

  Как работи този процесор? Да си представим, че в програмната памет имеме записана програма за пресмятане сумата на две числа (операнда), и в тази програма да сме дефинирали, че ако резултат от сумата на двата операнда е по голям от 9, да се зададе прекъсване, което да позволи на процесора на извлече иструкция, която да му укаже какво да прави в тази извънредна ситуация.
 Стъпка 1. Пускане на системата. Извършва се начално установяване (нулира всичко) с което IP (instruction pointer)- регистър указващ следващата за изпълнение инструкция, сочи първата (нулева) инструкция в програмната памет (примерно на адрес 0x0000).
 Стъпка 2. След този момент управляващото устройство адресира първата клетка от програмната памет, която указва каква програма трябва да се изпълни, а там е първата инструкция от нашата хипотетична програма. Първи цикъл - устройството декодира първата инструкция, увеличава PC+1 , вижда, че трябва да извлече един операнд намиращ се в определена клетка от паметта и го извлича, като го зарежда в регистъра на ALU. Втори цикъл - извлича вторият операнд, PC+1, като в същият момент зарежда първият в АЛУ, за да може в този цикъл да се приключи с изчислението. Резултата се записва в регистъра на АЛУ. Да прдположим, че след 1000 изчисления по описания вече начин, се получава резултат по-голям от 9. Тогава резултата управляващото устройство вдига флаг (в регистъра за флаговете), който указва, че има пренос, стойността на PC се прехвърля в стека, като SP+1 (указател на стека). В IP се зарежда адреса на инстррукцията указваща какво се прави в този момент. След изършване на необходимите операции, в PC се зарежда обратно стойността, която е имал преди прекъсването (извлича се от стека), SP-1 и програмата продължава да се изпълнява от там където е спряла.

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


 

 Честотата на всяка цифрова схема се задава от кварцов генератор/резонатор (в неотговорни случаи и от RC-група, която работи като осцилатор). Тези кварцови кристали работят на честоти до 22 MHz, като в компютърните и други бързодействащи системи, тази честота се подава на специални модули, които регулират тази честота. Тези модули се казват PLL (фазо-изместващи вериги), чиято работа е да увеличават  (или намаляват) подадената им честота с някакъв коефициент. Тук няма да рзглеждаме разновидностите или структурата на тези устройства (елементи).

...продължава...

1
deni.denkata avatar deni.denkata 72 Точки

...продължение_12.

   Конвеиризиране на инструкции. Памети.

   Конвеиризирането на инструкциите ускорява тяхното изпълнение в процесора. Самото конвеиризиране представлява разбиване на инструкциите на микрооперации, които могат да се изпълнят много бързо от процесора, като за един цикъл на такатовия сигнал се изпълнява една инструкция (изключение правят инструкциите за преход).

Конвеиризиране на инструкциите

  Тази картинка показва конвеиризирането на инструкциите при PIC микроконтролерите, които са с Harvard архитектура и разделят входния тактов сигнал на 4 Q цикъла. Всяка инструкция се изпълнява за 1 цикъл = 4Q. В примера са използвани инструкции на езика асемблер, като:

--- MOVLW H'55' - означава да се премести литерала (L) H '55' в W (което означава Word - един вид промяна на типа на H);

--- MOVWF PORTB - да се премести стойността с тип word (16-бита) в регистър с името PORTB;

--- CAL SUB_1 - извикване на подпрограма с име SUB_1;

--- BSF PORTA, BIT3 - битова операция (BSF-Bit-Set-F) - да се вдигне бит f или в тази инструкция означава, вдигни бит 3 в регистъра с име PORTA.

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

-- Първи цикъл.

                    - Q1 - извлича се следващата инструкция;

                    - Q2 - програмният брояч се увеличава с PC+1;

                    - Q3 - декодира се настоящата инструкция;

                    - Q4 - изпълнява се настоящата инструкция.

--Втори и трети цикъл са аналогични;

-- При изпълнението на инструкция, която изисква преход към подпорограма, се налага изтриване стойността на програмният брояч. В следващият цикъл се зарежда новия адрес на подпрограмата и изпълнението продължава, до настъпване на края й. Този процес е показан на фигурката под диаграмите, където е даден и примера с асемблерските инструкции. Вижда се как програмата си върви, извлича следващата инструкция и изпълнява настоящата, докато не достигне инструкцията CALL, която скапва нещата като налага изчистване стойността на PC. В следващият цикъл се извлича инструкцията и започва изпълнението на SUB_1. Изчистването губи цял цикъл на контролера.


 

ПАМЕТИ

клетки памет 
На фигурата е показана част от структурата на FLASH памет.Организацията на NOR флаш паметта е идентична с тази на динамичната памет. Запомнящите елементи (MOS транзистори с плаващ гейт) са подредени матрично (по редове и по колони), оформяйки по този начин отделните запомнящи клетки и блокове, както и общия обем на паметта. На фигурата се вижда матрица с 3х4х1. Запомнящите елементи се управляват по трите електрода, означени на рисунка като word line, source line и bit line. Тъй като всички запомнящи елементи в дадена клетка следва да са достъпни за операция четене или запис едновременно, то техните управляващи електроди (гейтовете) са свързани с общ проводник. Този проводник може да се приеме за адресен, тъй като е единствен за дадената клетка.

Така за получаване на достъп до клетка от паметта е необходимо да се подаде положително напрежение на адресната й линия, т.е. на управляващия гейт на всички транзистори в съответния ред, например на средния ред в горната рисунка. Колко бита 8,16,32 или повече се четат успоредно, зависи от ширината на шината на паметта.

      Съдържанието на всеки отделен бит на така достъпната клетка се определя според нивото на сигнала, снет от линията на съответната колонка, свързваща сорса на всички транзистори в колонката. Дрейновете на транзисторите в този момент са свързани към маса. Името си паметта дължи на логическата операция ИЛИ-НЕ (NOR). Тази операция получава логическа стойност единица само в случай, че всички нейни операнди са нули. Във всички останали случаи резултатът е единица. Ако в случая под операнд разбираме значението на напрежението в точката на сорс на транзисторите, то на съответната даннова линия (колонка) ще има единица, само ако всички транзистори в колонката са запушени. За пример на фигурата е показан избора на ред №1. В резултат на положителното напрежение на гейтовете на транзисторите в този ред, същите стават достъпни. Последното означава, че окончателното им състояние е зависимо и се определя от количеството електричество, акумулирано в техните плаващи гейтове. Така някои от тях ще се отпушат напълно, а други ще останат в запушено състояние. По този начин на данновите линии (колонки №0, 1, 2 и 3) възниква (прочита) запомнената върху всеки отделен плаващ гейт логическа стойност. За надеждо прочитане на логическото ниво всяка даннова линия е осигурена с усилвател и формировател. Вертикалната връзка, която обединява сорсовете на транзисторите, заедно с активното съпротивление R, както и самите транзистори, образува логическата функция ИЛИ. И тъй като останалите редове, т.е. клетки, не са избрани, логическата стойност, която се чете, например, от линия №0, точно съответства на съхраняваната в избрания транзистор Т10 логическа стойност. Ако приемем, че транзистор Т10 се окаже отпушен, то бит b[0] ще се прочете като нула. Така резултатът върху данновата линия № 0 е:

Формула1

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

      Запис на нула (0) в даден запомнящ елемент се осъществява чрез едновременно подаване на +5[v] на адресната линия и +10[v] данновата линия, с което се осигурява отрицателна потенциална разлика между гейта и сорса (вижте фигурата и обясненията към нея). В резултат на това от плаващия гейт се изсмукват носителите на електричество, които тунелират обратно към дрейна. Така, когато този транзистор бъде избран, той ще бъде отпушен. На контролерът на паметта при програмиране и при изтриване е възможно да му се наложи да изпрати няколко импулса към клетката до постигане на правилното ниво. При изтриване всички клетки в един блок на паметта се изтриват едновременно.

  RAM паметите се правят на подобен принцип, като при тях е необходимо непрекъснато опресняване стойностита на клетките, заради малкият заряд на транзисторите(работещи като кондензатори).

 ...продължава...

0
deni.denkata avatar deni.denkata 72 Точки

...продължение_13.

   Бройни системи

   Бройната система с която работим в ежедневието си е десетичната. С помоща на цифрите от 0 до 9, изписваме всички възможни числа. Десетичнта бройна система по дефиниция е ПОЗИЦИОННА бройна система. Това означава, че позицията на цифрите в числото има значение (непозиционна бройна система е римската, там няма значение къде стои цифрата в числото, то има твърдо зададена стойност). Какво означава това, позицията на цифрата в числото да има значение за стойността която носи (въпрос за тези, които не са объщали внимание на този факт)?

  Да погледнем например числото 1010 (хиляда и десет). Разбиваме го на части според броя на цифрите в него. Определяме позиционната стойност на числото, като започваме от старшата му част ( от дясно наляво). Омножаваме позиционната стойност с цифрите на числото. Събираме резултатите от произведенията.

Позиционна стойност 1000 100 10 1
Число  1  0 1  0

  И като резултат се получава --> 1000*1 + 100*0 + 10*1 + 1*0 = 1000 + 0 + 10 + 0 =1010 .

     По същият начин стоят нещата в двоичната и шестнадесетичната бройни системи, които също са позиционни.

  - Двоична.

  Разглеждаме двоичното число  1010 (чете се - едно, нула, едно, нула)

Позиционна стойност 2^3
2^2 2^1 2^0
Число   1   0   1   0

  Получаваме --> 8*1 + 4*0 + 2*1 + 1*0 = 8 + 2 = 10

Резултатът е десетичното число десет.

  За преобразуването на по големи двоични числа, се ползва същия алгоритъм. Например: 10111101.

  Отчитаме факта, че старшата част на двоичното число е най вдясно, но при преобразуването започваме от дясно наляво.

Позиционна стойност 2^7 2^6
2^5
2^4 2^3
2^2 2^1 2^0
Число   1   0   1   1   1   1   0   1

--> 128*1 + 64*0 + 32*1 + 16*1 + 8*1 + 4*1 + 2*0 + 1*1 = 128 + 32 + 16 + 8 + 4 + 1 = 189 Получихме десетичното число 189 (записано с индекс 18910 - чете се 189 десетично ).

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

Искаме да преобразуваме десетичното число 512 в двоично. Започваме да делим 512 на основата на двоичната бройна систем (тя е 2, заради двете възможни състояния 0 или 1).

  512 : 2 = 256 | остатък 0    Тук особенестта е, че изписваме двоичното число, като започваме от последния

  256 : 2 = 128 | остатък 0     получен остатък --> 100000000 - това е двоичното число 256.

  128 : 2 = 64   | остатък 0

   64 : 2 = 32   | остатък  0

   32 : 2 = 16   | остатък  0

   16 : 2 = 8     | остатък 0

    8  : 2 = 4     | остатък 0

    4  : 2 = 2     | остатък 0

    2  : 2 = 1     | остатък 1

- Шестнадесетична бройна система. Тя има основа 16. За липсващите цифри от 10 до 15, се използват първите букви от английската азбука (A = 10, B = 11, C = 12, D = 13, E = 14, F = 15, като отчитаме, че започваме да броим от нула).

...продължава...

3
deni.denkata avatar deni.denkata 72 Точки

...продължение_14 за бройните системи.

  Започваме с преобразуване от шестнадесетична в десетична бройна система.
  Вземаме за пример шестнадесетичното число 48CE(16) и го разписваме позиционно:

Позиционна стойност 16^3 16^2 16^1 16^0
Число   4   8   C   E

Разписваме --> 4*4096 + 8*256 + 16*C + 1*E = 16384 + 2048 + 192 + 14 = 18638(10)

Сега можем да опитаме да преобразуваме числото 186(10) в шестнадесетично

186 : 16 = 11 | остатък 10             От тук следва, че  186(10) число е равно на шестнадесетичното BA(16).

  11 : 16 = 0   | остатък 14

  Преобразуване на шестнадесетично в двоично число. Тук се взема предвид факта, че всяко шестнадесетично число е представено в двоичната система с поредица от четири бита/разряда (тетрада). От този факт следва и начина на преобразуване на числото. Първо се разбива шестнадесетичното число на отделни цифри, те се преобразуват в двоично число и накрая отделните тетради се долепят, за да получим двоичния еквивалент.

 Числото 4ABCF има 5 шестнадесетични цифри в себе си. Преобразуваме всяка една по отделно.

За 4 имаме 0100 |                Вземаме тези двоични числа и ги долепяме едно до друго, като започваме от първото и

За A имаме 1010 |              и тръгваме от ляво надясно

За B имаме 1011 |              --> 0100 1010 1011 1100 1111 . Сега отчитаме факта, че първата значеща цифра

За C имаме 1100 |              или най значимият бит (този най вляво -HSB) е 0. Тази нула се изпуска при

За F имаме 1111 |              преобразуването (и от компютрите/калкулаторите) и затова двоичното число се записва по следния начин --> 1001010101111001111(2)

Обратното преобразуване става в обратен ред. Разбиват се битовете на тетради, те се преобразуват в шестнадесетичните им еквиваленти и се записва числото.


 Интересен е случаят на преобразуване на дробните числа. Да вземем например числото 64.256(10) , разписваме го позиционно --> 10*6 + 4*1 + 2-10 + 5-100 + 6-1000 = 60 + 4 + 0.2 + 0.05 + 0.006 = 64.256.

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

Пример с преобразуване на десетичната дроб 0.256(10) в двоично число. Става като умножаваме дробта с основата на двоичната система и при получаване на 1 в цялата част, за следващото умножение вадим тази единица. Накрая двоичното число се получава, като вземем цялата част на получените резултати. При този метод итерациите (на ръка) се ограничават до 5 -10, защото никога не можем да получим точната стойност).

0.256 * 2 = 0.512  |

0.512 * 2 =  1.024 | вадим единица преди следващото умножение!

0.24  * 2 =  0.48   |

0.48  * 2 =  0.96   |

0.96  * 2 =  1.92   | вадим 1

0.92  * 2 = 1.84    | вадим 1

0.84  * 2 = 1.68    | вадим 1

0.68  * 2 = 1.36    | вадим 1

0.36  * 2 = 0.72    |

0.72  * 2 = 1.44    | вадим 1

0.44  * 2 = 0.88    | и т.н

 Изписваме числото отгоре надолу, като вземаме цялата част --> 0.01001111010


  С шестнадесетични числа се изписва MAC (Media Access Control) адреса на мрежовата карта, или друго мрежово устройство. Той се използва за идентифициране на компютъра във физическия и data link слоя на OSI модела (първите два слоя от долу нагоре). Първите 3 групи (двойки) числа указват кой производител е произвел платката, вторите са уникални за всяка мрежова карта.

data link (каналния слой) - е вторият слой на OSI модела. Представлява ниво за връзка на данни и 
както при другите нива, то има две задачи: предаване и приемане. То е отговорно за осигуряване
валидността на предаваните данни.

Приложение на двоичната бройна система в компютърните мрежи.

 Както добре знаете, всеки компютър си има свой уникален адрес в мрежата, в която е свързан. Този адрес съдържа в себе си два вида информация. Първата е мрежовата част, указваща  в коя мрежа се намира компютъра, втората е часта на хоста, която идентифицира самият компютър в мрежата.

 Да вземем за пример адреса 192.168.16.1 / 24

 Този запис ни показва, че адреса е класическa класическа клас C мрежа, с маска 255.255.255.0, мрежова част 192.168.16.0 и хост част .1 до 254. Как се определят тези неща?

 Накаратко след като видим записания адрес, първо се взема предвид мрежовата му маска, тя определя къде свършва мрежовата част и къде започва хост часта. Тука ще използваме разписване на мрежовата маска и IP адреса на октети (групи от по 1 байт = 8-бита), и ще използваме бинарният оператор "И" (имайте предвид, че умните рутери и суйчове имат хардуерна реализация на тази операция, с вече описаните схеми). Действаме:

192.168.16.1/24

Decimal Network Network Network Host
IP 192 168 16 1
Mask 255 255 255 0
Binary N N N H
IP-bit 11000000 10101000 10000000 00000001
Mask bit  11111111 11111111 11111111 00000000
&, AND -->Network 11000000 10101000 10000000 00000000

 Виждаме как мрежовата маска чрез операцията & изведе кой е мрежовия адрес. Адреса 192.168.16.0 е мрежов, а всичко от 192.168.16.1 до 254 е за хостове. Адреса 192.168.16.255 за тази мрежа е Broadcast адреса (адрес който обслужва всички хостове в дадената мрежа, а ако не сме конфигурирали правилно рутера и външните мрежи).

 По същият начин можем да определим мрежовата част и часта за хостове на адреса 44.55.144.72/10

Decimal Network Host Host Host
IP 44 55 144 72
Mask 255 192 0 0
Binary N N H H
IP-bit 10110000 00110111 10010000 1001000
Mask bit  11111111 11000000 00000000 00000000
&, AND -->Network 10110000 00000000 00000000 00000000

 В този пример виждаме, че мрежовата маска е разширила клас A мрежата с 2 бита, които са взети от хост часта. Така новата под-мрежа (мрежова част) е 44.0.0.0. Тази подмрежа има диапазон от 44.0.0.1 до 44.63.255.254 с broadcast адрес 44.63.255.255. С тази маска можем да имаме над 1000 мрежи и над 4 194 300 хоста (2n-2).

 По този начин администраторите разделят мрежите на подмрежи, като пестят адреси.

...продължава...

1
deni.denkata avatar deni.denkata 72 Точки

...продължение_15.

 C# book

 

...продължава...

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.