Анализ и оптимизация на софтуерни приложения

Размер: px
Започни от страница:

Download "Анализ и оптимизация на софтуерни приложения"

Препис

1 Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев

2 Съдържание Фон Нойманова архитектура История на оперативна памет Архитектура на DRAM Памет на много нива Кеш памети Кеш с директна асоциативност Кеш с множествена асоциативност Кеш с пълна асоциативност Примери 2/42

3 Тясно гърло при комуникацията Процесор Памет Производителността на високо-скоростните компютри обикновено е ограничена от пропускателната способност и латентността Латентност Времето за достъп до паметта >> Времето на цикъл на процесора Пропускателна способност Максималният брой достъпи за единица време 3/42

4 Core Memory Първата надеждна оперативна памет Предшественик на съвременната памет с произволен достъп (RAM) Битовете съхранени на магнетизирани ядра свързани в двумерна мрежа Използваше се до скоро в совалките на космическата програма на NASA 4/42

5 Памет от полупроводници. RAM Word line Превключващ елемент Data IO Buffers Column Decoder Sense Amps bit lines DRAM Row Decoder word lines Memory Array Bit line Елемент за съхранение (кондензатор) 5/42

6 Памет от полупроводници. RAM Word line Превключващ елемент Data IO Buffers Column Decoder Sense Amps bit lines DRAM Row Decoder word lines Memory Array Bit line Елемент за съхранение (кондензатор) 6/42

7 Протокол за достъп до DRAM Колко бързо мога да достъпя ред данни, считано от заявката до презареждането Data IO Buffers Column Decoder Sense Amps bit lines DRAM Процесор Контролер Row Decoder word lines Memory Array Известен като: Open a DRAM Page/Row или ACT (Activate a DRAM Page/Row) RAS (Row Access Strobe) 7/42

8 Протокол за достъп до DRAM Колко бързо мога да достъпя колона (наймалката адресируема единица) Data IO Buffers Column Decoder Sense Amps bit lines DRAM Процесор Контролер Row Decoder word lines Memory Array Известен като: READ Command CAS (Column Access Strobe) 8/42

9 Протокол за достъп до DRAM Колко бързо мога да достъпя колона (наймалката адресируема единица) Data IO Buffers Column Decoder Sense Amps bit lines DRAM Процесор Контролер Row Decoder word lines Memory Array Известен като: CAS (Column Access Strobe) 9/42

10 Латентност при DRAM Процесор A A: Транзакцията може да бъде забавена в опашката B: Транзакцията се изпраща до контролера C: Транзакцията се конвертира до последователност от команди (може да има опашка) D: Командите се изпращат до DRAM модула Е 1 : Има нужда от CAS или Е 2 : Има нужда от RAS + CAS или Е 3 : Има нужда от PRE + RAS + CAS F: Транзакцията се връша на процесора F B Контролер на паметта C D Латентност = A + B + C + D + E + F E 1 E 3 E 2 DRAM 10/42

11 Действие на DRAM Три стъпки при четене/запис от дадена банка Достъп до ред (RAS) Декодира адреса на реда, активира адресирания ред (често множество kb на ред) Бит линиите споделят заряда с клетката за съхранение Малка промяна в напрежението засечена от усилвателя маркира (latch) целия ред от битове Усилвателят кара бит линиите да презаредят клетката Достъп до колона (CAS) Декодира се адреса на колоната, за да събере малък брой маркирани битове (4, 8, 16, 32, зависещ от DRAM пакета) При четене изпратените клетки се изпращат на изходните пинове При запис се презареждат маркираните битове с желаната стойност Може да има много достъпи до колони без друг достъп до ред (burst mode) Презареждане (Precharge) Зарежда бит линиите с междинна стойност преди следващ RAS При модерните памети всяка стъпка отнема около 20 ns 11/42

12 Производителност Закон на Мур Нараства с около 50% годишно! 12/42

13 Памет на много нива Идея: Прикриване на латентността чрез малки, бързи памети, наречени кешове Кешовете са механизъм за прикриване на латентността, който се базира на емпиричното наблюдение, че начинът на достъп до паметта от процесора е добре предвидим. 13/42

14 Често срещани шаблони за достъп Извличане на инструкция N на брой итерации Линейна последователност Достъп до стека Достъп до данни Време 14/42

15 Предвидими шаблони за достъп Две предвидими свойства на достъпа до паметта Времева локалност (Temporal Locality) Ако се достъпи даден адрес, то е много вероятно да се достъпи пак в близко бъдеще Пространствена локалност (Spatial Locality) Ако се достъпи даден адрес, то е много вероятно околните адреси да се достъпват в близко бъдеще 15/42

16 Кеш памети Кеш паметите използват двата вида предсказуемост: Използват временната локалност като запомнят скоро достъпваните адреси Използват пространствена локалност като извличат блокове от данни около скоро достъпваните адреси 16/42

17 Йерархия от памет Процесор A Малка, бърза памет (RF, SRAM) Съхранява често използваните данни B Голяма, бавна памет (DRAM) Размер: Регистър << SRAM << DRAM Латентност: Регистър << SRAM << DRAM Пропускателна способност: на чипа >> извън чипа При достъп до данни Попадение (hit) (данните са в бързата памет) Пропуск (miss) (данните не са в бързата памет) Бързата памет е ефективна само когато проп. способност B << A 17/42

18 Управление на йерархията от памет Малка бърза памет, например регистри Адресът се съдържа в инструкцията Реализирана като съвкупност от регистри (registry file) Хардуерът може да прави неща зад гърба на софтуера, например управление на стека или преименуване на регистри Голяма бавна памет Адресът се изчислява от стойностите в регистър Реализирана като йерархия от кешове Хардуерът решава какво да съхрани в по-бързата памет. Софтуерът може да подсказва, например не кеширай или извлечи предварително 18/42

19 Типична йерархия от памети (2012) CPU Отделен кеш за инструкции и данни върху чипа (SRAM) L1 Instruction Cache L2 Cache L3 Cache Множество interleaved банки памет Memory Memory Memory RF L1 Data Cache Memory Набор многопортови регистри Голям кеш от второ и трето ниво близо до чипа 19/42

20 Терминология при йерархията от памет Попадение (hit) Данните са в някой блок на бързата памет Процент попадения (hit rate) Съотношението на достъпа до бързата памет и общия брой достъпи Време на попадение (hit time) Времето, което отнема да се извлече заявката в бързата памет. Състои се от време за достъп до бързата памет и времето за определяне дали е попадение или пропуск Пропуск (miss) Данните трябва да се извлекат от по-бавната памет Процент пропуски (miss rate) Процент пропуски = 1 процентът попадения Наказание при пропуск (miss penalty) Времето, за което се замества блок в бързата памет с намерения блок и се доставя до процесора Времето на попадение << Наказанието при пропуск 20/42

21 Проблеми при йерархията от памет Идентификация на блок Как се намира блокът, ако е в по-близката (побърза) памет? Tag/Block Слагане на блок Къде може да се сложи блок в по-близката (побързата) памет? Пълна асоциативност, Множествена асоциативност, Директно съпоставяне Заместване на блок Кой блок трябва да се замени при пропуск? Произволен, LRU Стратегия за запис Какво става при запис Write back, Write through (с Write buffer) 21/42

22 Кеш, използващ директно съпоставяне Бит за валидност Кеш таг Кеширани данни Байт 3 Байт 2 Байт 1 Байт 0 Ефект Пинг Понг Най-лошия случай е да се заменя блока, последван от пропуск За да се намалят пропуските Увеличаваме размера на кеша Множество стойности за един и същ кеш индекс Дума (от паметта) се съпоставя на само на един кеш блок Адресът в кеша = (Адресът на блока) modulo (Броят кеш блокове) 22/42

23 And Достъп до кеша BO Индекс Валден Таг Данни Размерът на кеша зависи от Например Броя кеш блокове Броя битове в адреса Размера на думата Таг Индекс Данни (32 бита) При n-битов адрес, 4-байтова дума и 1024 кеш блока Размерът на кеша = 1024[(n- 10-2) ]бита Брой кеш блокове Таг Размер на думата = Валидност Попадение 23/42

24 And Достъп до кеша BO 16 бита 128 бита Инд. В Таг Блок данни Таг Индекс Данни 4К записа Отместване в байтове = Mux 32 бита Попадение Възползва се от пространствената локалност Адресът в кеша = (Адресът на блока) modulo (Броят кеш блокове) Адресът на блока = (Адресът на байта) / (Байтове на блок) 24/42

25 Определяне на размера на блоковете По-големи блокове данни се възползват по-добре от пространствената локалност, НО: По-големи блокове означава по-голямо наказание при пропуск Повече време за запълване на блок Ако размерът на блока е прекалено голям в сравнение с размера на кеша, то процентът пропуски се повишава Прекалено малко кеш блокове (блокове от данни в кеша) Средното време за достъп = Времето за попадение * (1 Процентът пропуски) + Наказанието за пропуск * Процентът пропуски 25/42

26 Местоположение на блоковете Хардуерна сложност Оползотворяване на кеша Номер блок: Кеш с директно съпоставяне Номер масив: Кеш с множествена асоциативност Кеш с пълна асоциативност Данни Данни Данни Търсене Търсене Търсене Блок 12 може да бъде поставен: 12 mod 8 = 4 Номерът на масив = (Номерът на блок) modulo (Броя на масиви в кеша) Повишената гъвкавост на поставянето на блокове намалява вероятността от пропуски 12 mod 4 = 0 26/42

27 Управление на пропуските Пропуски при четене винаги извлича блокове от паметта Политика на заместване При запис трябва внимателна поддръжка на консистентността на кеша и оперативната памет(оп) Политики на запис 27/42

28 Видове пропуски Студен пропуск При първи достъп до данните Предварително извличане може да намали забавянето Пропуск породен от капацитета Предходният запис е бил премахнат, защото прекалено много други данни са били достъпвани. Множеството работни данни е прекалено голямо Реорганизиране на алгоритъма да преизползва данните преди да се премахнат от кеша В противен случай предварително извличане Пропуск при конфликти Много данни се съпостават на едно и също място в кеша, което довежда до премахване дори и когато кеша не е пълен Реорганизиране на данните и/или изместване на масивите 28/42

29 Видове пропуски Пропуск True Sharing Нишка в друг процесор е използвала данните и те са преместени в друг кеш Минимизиране на споделянето/заключването Пропуск False Sharing Другия процесор е използвал други данни в същия запис в кеша и записа е бил преместен Изместване (падинг) на данните и осигуряване на заключени структури да не попадат в кеша 29/42

30 Политики на заместване на ел. от кеша При асоциативен кеш, кой блок памет трябва да се замени когато множеството се напълни? Произволен Най-рядко използваният (Least Recently Used) Състоянието трябва да бъде обновявано при всеки достъп Реализацията има смисъл при кешове с малки множества на асоциативност (2, 4 мн.) Псевдо LRU (като двоично дърво или чрез битове) (4, 8 мн.) First In First Out aka Round-Robin (високо асоц. Кешове) Not Least Recently Used (NLRU) FIFO с изключение за най-често използвания блок 30/42

31 Политики на заместване на ел. от кеша Тривиално при директното съпоставяне Размер Асоциативност 2 асоциативен 4 асоциативен 8 асоциативен LRU Произв. LRU Произв. LRU Произв. 16 KB 5.2% 5.7% 4.7% 5.3% 4.4% 5.0% 64 KB 1.9% 2.0% 1.5% 1.7% 1.4% 1.5% 256 KB 1.15% 1.17% 1.13% 1.13% 1.12% 1.12% Емпиричните резултати показват, че с увеличаване на размера на кеша се намалява значението на политиката на заместване 31/42

32 Политики за запис При попадение Write through: запис в кеша и ОП По-голям трафик, но по-лесна синхронизация и кохерентност на кеша с паметта Write back: запис само в кеша Записва се в паметта само когато блока се извади от кеша. Поддържа се мръсен (dirty) бит, чрез който се намалява трафика При пропуск No write allocate: запис само в ОП Write allocate (aka извличане при запис) Хибридни Write through and no write allocate Write back with write allocate 32/42

33 Прост кеш. Начални условия. 32Кб, директно съпоставяне, 64 байтови линии (512 записа) Достъп до кеша един цикъл Достъп до паметта 100 цикъла Думата е 1 байт 33/42

34 Начини на достъп. Примери #define S ((1<<20)*sizeof(int)) int A[S]; for(i=0; i<s; i++) Read A[i]; Памет А Елементите на масива са подравнени последователно в паметта... Достъп до данните: Четене на нов запис Четене на останалата част от записа Преместване на следващия запис sizeof(int) = 4 16 елемента на запис(линия) 15 от всеки 16 са попадения Общо време за достъп: 15*S/16+100*S/16 Какъв вид локалност? Пространствена Какви видове пропуски? Студени 34/42

35 Начини на достъп. Примери #define S ((1<<20)*sizeof(int)) int A[S]; for(i=0; i<s; i++) Read A[0]; Памет А... Достъп до данните: Четене A[0] всеки път sizeof(int) = 4 S броя четене Всички достъпи (без първия) са попадения Общо време за достъп: S-1 Какъв вид локалност? Временна Какви видове пропуски? Студени 35/42

36 Начини на достъп. Примери #define S ((1<<20)*sizeof(int)) int A[S]; for(i=0; i<s; i++) Read A[i % (1<<N)]; Кеш Памет А... Достъп до данните: Четене на началния сегмент на А много пъти S броя четене 4<=N<=13 Един пропуск за всеки достъпен запис. Останалите са попадения. Достъпени записи: 2 N-4 Общо време за достъп: 2 N-4 *100 + S-2 N-4 Какъв вид локалност? Временна, пространствена Какви видове пропуски? Студени 36/42

37 Начини на достъп. Примери #define S ((1<<20)*sizeof(int)) int A[S]; for(i=0; i<s; i++) Read A[i % (1<<N)]; Кеш Памет А... Достъп до данните: Четене на началния сегмент на А много пъти S броя четене N>=14 Един пропуск за всеки достъпен запис. Останалите са попадения. Общо време за достъп: 15*S/16+100*S/16 Какъв вид локалност? Пространствена Какви видове пропуски? Студени, в капацитета 37/42

38 Начини на достъп. Примери Кеш Памет #define S ((1<<20)*sizeof(int)) int A[S]; for(i=0; i<s; i++) Read A[(i*16) % (1<<N)]; А... Данните извлечени, но не се използват Достъп до данните: Четене на всеки 16-ти елемент от началния сегмент на А много пъти S броя четене N>=14 Първи достъп до запис пропуск. Общо време за достъп: 100*S Какъв вид локалност? Никаква Какви видове пропуски? Студени, в капацитета 38/42

39 Начини на достъп. Примери Кеш Памет #define S ((1<<20)*sizeof(int)) int A[S]; for(i=0; i<s; i++) Read A[random() %S]; А... Достъп до данните: Четене на произволни елементи от A S броя четене Вероятност за попадение в кеша=8кб/1гб = 1/256 Общо време за достъп: S*255/256*100 + S*1/256 Какъв вид локалност? Почти никаква Какви видове пропуски? Студени, в капацитета, конфликти 39/42

40 Множествено асоц. кеш. Начални условия. 32Кб, двуасоциативен, 64 байтови линии 256 множества Много линии на множество, наричани пътища (way) Всяка дума от паметта се съпоставя на специфичен масив Думата е 1 байт 40/42

41 Начини на достъп. Примери Кеш Памет #define S ((1<<19)*sizeof(int)) int A[S]; int B[S]; for(i=0; i<s; i++) Read A[i], B[i]; А... Достъп до данните: Четене на елементи от A и B последователно S броя четене A и B се презастъпват в един и същи път, но има достатъчно линии Общо време за достъп: 2*(15/16*S+1/6*S*100) Какъв вид локалност? Пространствена локалност Какви видове пропуски? Студени 41/42

42 Начини на достъп. Примери Кеш Памет #define S ((1<<19)*sizeof(int)) int A[S]; int B[S]; int C[S]; for(i=0; i<s; i++) Read A[i], B[i], C[i]; А... Достъп до данните: Четене на елементи от A и B последователно S броя четене A и B се презастъпват в един и същи път, но няма достатъчно линии Общо време за достъп (с LRU): 3*S*100 Какъв вид локалност? Пространствена локалност Какви видове пропуски? Студени, конфликти 42/42

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание Конвейерно изпълнение Проблеми при конвейерното изпълнение Структурни опасности Даннови опасности Контролни опасности

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание Конвейерно изпълнение Проблеми при конвейерното изпълнение Структурни опасности Даннови опасности Контролни опасности

Подробно

Microsoft PowerPoint - Ppt ppt [Read-Only]

Microsoft PowerPoint - Ppt ppt [Read-Only] ТЕХНИЧЕСКИ УНИВЕРСИТЕТ ВАРНА КАТЕДРА АВТОМАТИЗАЦИЯ НА ПРОИЗВОДСТВОТО ЦИФРОВИ СИСТЕМИ ЗА УПРАВЛЕНИЕ - ЧАСТ 2 Янко Янев ВИДОВЕ ТЕХНОЛОГИИ ЗА ИЗГРАЖДАНЕ НА ЦИФРОВИ СИСТЕМИ ЗА УПРАВЛЕНИЕ микропроцесори микроконтролери

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание 1. Какво е паралелизация? 2. Примери 3. Паралелни алгоритми 4. Синхронизация. Критични секции 5. Проблеми при паралелните

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание 1. Производителност 2. Оптимизация 3. Методи за оптимизация 2/18 Защо производителността е важна? Дава възможност

Подробно

Структура на програма в C - Част 7 - масиви, оператор за индексиране, sizeof оператор

Структура на програма в C - Част 7 - масиви, оператор за индексиране, sizeof оператор Структура на програма в C Част 7 - масиви, оператор за индексиране, sizeof оператор Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание 1. Какво е векторизация? 2. Примери 3. на цикли 4. Масиви от структури или структури от масиви 5. на при различни

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Какво могат и какво не могат компилаторите Съдържание 1. Оптимизационен континуум 2. Някои известни видове оптимизации 2/49 Оптимизационен

Подробно

ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА

ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА СРЕДИ ЗА ПРОГРАМИРАНЕ ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА Същност на програмното осигуряване За да могат компютрите да разбират описаните на езика за програмиране алгоритми, те трябва да бъдат преведени

Подробно

Сериализация Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23

Сериализация Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23 Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23 f «data; f» data; Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 2 / 23 Първо изискване:

Подробно

Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Тр

Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Тр Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Трифон Трифонов (УП 16/17) Динамична памет 21 декември

Подробно

Структура на програма в C - Част 2 - типове, функции

Структура на програма в C - Част 2 - типове, функции Структура на програма в C Част 2 - типове, функции Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София 10 март 2019 г. И. Георгиев, Х.

Подробно

Homework 2

Homework 2 Домашна работа 2 по Дизайн и анализ на алгоритми за специалност Компютърни науки, 2. курс, 1. поток СУ, ФМИ, летен семестър на 2017 / 2018 уч. г. СЪСТАВЯНЕ НА АЛГОРИТМИ Задача 1 2 3, а 3, б 3, в Общо получен

Подробно

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 1

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 1 Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 18/19) Масиви и низове 15.11-6.12.2018 г. 1 / 17 Масиви

Подробно

Kontrolno 5, variant 1

Kontrolno 5, variant 1 N P - П Ъ Л Н И З А Д А Ч И КОНТРОЛНО 5 ПО ДИЗАЙН И АНАЛИЗ НА АЛГОРИТМИ СУ, ФМИ ( ЗА СПЕЦИАЛНОСТ КОМПЮТЪРНИ НАУКИ, 1. ПОТОК; 3 МАЙ 018 Г. ) Задача 1. Разглеждаме задачата за разпознаване LongestCycle:

Подробно

CSRF on JSON data

CSRF on JSON data Cross-Site Request Forgery (CSRF) on JavaScript Object Notation (JSON) data Garo Garabedyan, TU-Sofia CSRF Cross-Site Request Forgery (CSRF) е широко използвана уязвимост на уеб страниците. В тази атака

Подробно

Wolfram Mathematica & SQL

Wolfram Mathematica & SQL Wolfram Mathematica & SQL Емил Тоцев Сп. Информатика, 4 курс, група 1 б ф. номер: 0801261034 Р-л: Гл.ас. Христина Кулина ФМИ на ПУ П. Хилендарски, 23.02.2012 - Пловдив Съдържание: Въведение в DatabaseLink

Подробно

Ст. Джиев, Индустриални мрежи за комуникация и управление. Глава 7. Сравнителен анализ на индустриални мрежи 7.1. Параметри за количествен анализ на и

Ст. Джиев, Индустриални мрежи за комуникация и управление. Глава 7. Сравнителен анализ на индустриални мрежи 7.1. Параметри за количествен анализ на и Глава 7. Сравнителен анализ на индустриални мрежи 7.. Параметри за количествен анализ на индустриални мрежи Общи положения В зависимост от типа на предаваната информация мрежите могат да се разделят на

Подробно

Slide 1

Slide 1 Списъци. Структура и синтаксис. Създаване и показване. Основни операции(добавяне, изваждане на елемент или цял подсписък; подреждане). Трансформации. проф. дмн С. Христова Списъци Списъците / list са основна

Подробно

doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката н

doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката н doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката на механични кукли, датиращи от древни времена. Движенията

Подробно

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г ноември 2018 г. Трифон Трифонов (УП 18/19) Ма

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г ноември 2018 г. Трифон Трифонов (УП 18/19) Ма Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 29 ноември 2018 г. Трифон Трифонов (УП 18/19) Масиви и низове 15 29 ноември 2018 г. 1 / 16 Масиви Логическо

Подробно

Microsoft Word - Techn zad 2017-M1

Microsoft Word - Techn zad 2017-M1 ТЕХНИЧЕСКА СПЕЦИФИКАЦИЯ за предоставяне на достъп до специализирана уеб-базирана електронна платформа, позволяваща провеждане на Национално онлайн външно оценяване на дигиталните компетентности на учениците

Подробно

Акумулатори

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

Подробно

МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА

МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА 1. У Ч Е Б Н А П Р О Г Р А М А за задължителна професионална подготовка 1. Учебен предмет: ВЪВЕДЕНИЕ В РС 2. Модул: ВЪВЕДЕНИЕ В РС УТВЪРДЕНА СЪС ЗАПОВЕД РД 09 1084

Подробно

C++

C++ Управляващи оператори в C++ Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 18 30 октомври 2018 г. Трифон Трифонов (УП 18/19) Управляващи оператори в C++ 18 30 октомври

Подробно

Homework 3

Homework 3 Домашно 3 по дисциплината Дискретни структури за специалност Информатика I курс летен семестър на 2015/2016 уч г в СУ ФМИ Домашната работа се дава на асистента в началото на упражнението на 25 26 май 2016

Подробно

Microsoft Word - KZ_TSG.doc

Microsoft Word - KZ_TSG.doc ПРИЛОЖЕНИЕ НА ТЕОРИЯТА НА СИГНАЛНИТЕ ГРАФИ ЗА АНАЛИЗ НА ЕЛЕКТРОННИ СХЕМИ С ОПЕРАЦИОННИ УСИЛВАТЕЛИ В теорията на електронните схеми се решават три основни задачи: ) анализ; ) синтез; ) оптимизация. Обект

Подробно

Microsoft PowerPoint - DBoyadzhieva

Microsoft PowerPoint - DBoyadzhieva : Изграждане на висококвалифицирани млади изследователи по съвременни информационни технологии за оптимизация, разпознаване на образи и подпомагане вземането на решения Минимизиране на броя на признаците

Подробно

Машинно обучение Лабораторно упражнение 4 Линейна регресия и градиентно спускане Целта на упражнението е да се реализира линейна регресия, в която фун

Машинно обучение Лабораторно упражнение 4 Линейна регресия и градиентно спускане Целта на упражнението е да се реализира линейна регресия, в която фун Машинно обучение Лабораторно упражнение 4 Линейна регресия и градиентно спускане Целта на упражнението е да се реализира линейна регресия, в която функцията на цената се минимизира чрез градиентно спускане.

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев (от гледна точка на производителността) Съдържание 1. Видове транслатори 2.Фази по време на компилация 3. Оптимизационна фаза

Подробно

Slide 1

Slide 1 Въведение в VHDL Паралелни оператори Паралелни оператори Паралелен оператор оператор, който се изпълнява едновременно с другите оператори от този тип. Process - Процес

Подробно

Проф

Проф Утвърдил:.. / доц. д-р Е. Великова / Утвърден от Факултетен съвет с протокол... /... СОФИЙСКИ УНИВЕРСИТЕТ СВ. КЛИМЕНТ ОХРИДСКИ Факултет по Математика и Информатика Специалност: Компютърни науки М И К 0

Подробно

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 9 ноември 2016 г. Триф

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 9 ноември 2016 г. Триф и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 9 ноември 2016 г. Трифон Трифонов (УП 16/17) и низове 9 ноември 2016 г. 1 / 5 Логическо

Подробно

OpenGL

OpenGL OpenGL Изграждане на Геометрични обекти 2 гл. ас. А. Пенев Анимация (1/3) gluttimerfunc glutidlefunc glutpostredisplay glutpostwindowsredisplay + Промяна на визуализацията в display 2/32 Анимация (2/3

Подробно

Fuvas Administrator / ФУВАС Администратор РЪКОВОДСТВО ЗА РАБОТА с потребителски софтуер за анализиране данни от ФУВАС произведени от фирма TREMOL Fuva

Fuvas Administrator / ФУВАС Администратор РЪКОВОДСТВО ЗА РАБОТА с потребителски софтуер за анализиране данни от ФУВАС произведени от фирма TREMOL Fuva РЪКОВОДСТВО ЗА РАБОТА с потребителски софтуер за анализиране данни от ФУВАС произведени от фирма TREMOL Приложението е предназначено за крайни клиенти, притежаващи автомати на самообслужване, оборудвани

Подробно

Microsoft Word - TI61V02_Ekspl_Montaj_RFID V doc

Microsoft Word - TI61V02_Ekspl_Montaj_RFID V doc 1 ПРЕДНАЗНАЧЕНИЕ НА ПРОДУКТА Блиндираната врата управлявана чрез безконтактна карта е продукт предназначен да повиши сигурността на вашето жилище или офис, както и да улесни ежедневната експлоатация. Сигурността

Подробно

(пълно наименование на училището) Утвърждавам!... (име и фамилия, подпис, печат) ПРИМЕРНО ГОДИШНО РАЗПРЕДЕЛЕНИЕ НА УЧЕБНОТО СЪДЪРЖАНИЕ по инфор

(пълно наименование на училището) Утвърждавам!... (име и фамилия, подпис, печат) ПРИМЕРНО ГОДИШНО РАЗПРЕДЕЛЕНИЕ НА УЧЕБНОТО СЪДЪРЖАНИЕ по инфор ...... (пълно наименование на училището) твърждавам!... (име и фамилия, подпис, печат) ПРИМЕРНО ГОДИШНО РАЗПРЕДЕЛЕНИЕ НА ЧЕБНОТО СЪДЪРЖАНИЕ по информационни технологии за 10. клас Изготвил:... (подпис).

Подробно

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

В тази част, ще разгледаме аритметичните и логически операции, както, и включването им в изрази. В следващата таблица са дадени всички възможни операц В тази част, ще разгледаме аритметичните и логически операции, както, и включването им в изрази. В следващата таблица са дадени всички възможни операции в езикът C и С++. Символ Предназначение Аритметични

Подробно

Компютърна Графика и Презентации - Алгоритми за Визуализация

Компютърна Графика и Презентации - Алгоритми за Визуализация Компютърна Графика и Презентации Алгоритми за Визуализация гл. ас. д-р А. Пенев Визуализация Построяване на изображение съответстващо на модел. Операция по преобразуване на представяне на двумерни/тримерни

Подробно