УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке 30.06.2018. Писмени део испита из предмета Увод у рачунарство 1. [7 поена] Методом МакКласкија минимизарити систем прекидачких функција f i (x 1, x 2, x 3 ), i = 1, 2, 3, ако је функција f 1 задата скупом децималних индекса f 1 (0) = {5, 6, 7}, функција f 2 децималним индексом N f2 = 143, а функција f 3 њеним аналитичким обликом f 3 = (x 1 x 2 ) x 3. 2. [7 поена] Пројектовати комбинационо коло које за дати број X на улазу (0 X 10) генерише на излазу вредност израза 3(X mod 6). Добијену мрежу реализовати помоћу НИ кола са четири улаза а за синтезу користити метод Карноових мапа. 3. [7 поена] Нацртати граф који одговара колу са слике. Ј y C K y z 4. [4 поена] Нека рачунарски систем има 16-битну адресу и адресну резолуцију од једног бајта а, поред оперативне меморије, има и четвороструки скупноасоцијативни кеш са 16 линија капацитета 8B. Ако је кеш меморија празна одредити где ће се пресликати блок који садржи локацију са хексадекадном адресом FА73. Шта ће се у том случају уписати у поље tag дотичне линије? Који је број блока који у оперативној меморији садржи наведену локацију?
Решења 1. Оно што нам је потребно јесте да добијемо скупове децималних индекса f i (1), i {1, 2, 3}. f 1 (0) = {5, 6, 7} f 1 (1) = {0, 1, 2, 3, 4} Претварањем децималног индекса N f2 у бинарни бројни систем добија се бинарни број 10001111 што значи да је вектор истинитости ове функције једнак K f2 = (1, 1, 1, 1, 0, 0, 0, 1} а што даје f 2 (1) = {0, 1, 2, 3, 7}. Што се тиче функције f 3, најпре ћемо направити њену истинитосну таблицу: одакле лако следује да је Најзад, i x 3 x 1 x 2 (x 1 x 2 ) x 3 0 000 1 1 1 001 1 0 2 010 1 1 3 011 1 0 4 100 0 0 5 101 0 1 6 110 1 1 7 111 1 0 f 3 (1) = {0, 2, 5, 6}. f 1 (1) f 2 (1) f 3 (1) = {0, 1, 2, 3, 4} {0, 1, 2, 3, 7} {0, 2, 5, 6} = {0, 1, 2, 3, 4, 5, 6, 7}. P i f 1 f 2 f 3 0 000 * * * 1 001 * * 2 010 * * * 4 100 * 3 011 * * 5 101 * a 6 001 * 7 111 *
i,j P i,j f 1 f 2 f 3 0,1 00x * * 0,2 0x0 * * * b 0,4 x00 * c 1,3 0x1 * * 2,3 01x * * 2,6 x10 * d 3,7 x11 * e Заједничка функција покривања је: i,j,k,l P i,j,k,l f 1 f 2 f 3 0,1,2,3 0xx * f f 1 f 2 f 3 0 1 2 3 4 0 1 2 3 7 0 2 5 6 а * b * * * * * * c * * d * * e * * f * * * * * * * * Функције покривања су, редом: Заједничка функција покривања је ψ 1 = (b + c + f)f(b + f)fc = cf ψ 2 = (b + f)f(b + f)(e + f)e = ef ψ 3 = b(b + d)ad = abd ψ = ψ 1 ψ 2 ψ 3 = cfefabd = abcdef Како смо добили јединствен довољан скуп импликаната који је уједно истоветан са простим импликантима, јасно је да ће таблица покривања за поједине функције бити иста као и одговарајући део заједничке таблице покривања. Стога су и функције покривања исте па лако закључујемо f 1min = c + f = x 2x 3 + x 1 f 2min = e + f = x 2 x 3 + x 1 f 3min = a + b + d = x 1 x 2x 3 + x 1x 3 + x 2 x 3
2. Комбинациона таблица која описује тражени рад кола је i x 3 x 4 y 1 y 2 y 3 y 4 0 0000 0000 1 0001 0011 2 0010 0110 3 0011 1001 4 0100 1100 5 0101 1111 6 0110 0000 7 0111 0011 8 1000 0110 9 1001 1001 10 1010 1100 11 1011 **** 12 1100 **** 13 1101 **** 14 1110 **** 15 1111 **** На основу комбинационе таблице и одговарајућих Карноових мапа долазимо до оптималних облика функција. y 1 : 00 1 10 1 * 1 y 2 : 00 1 10 1 * 1 y 1 = x 2 x 3 + x 1 x 4 + x 1 x 3 + x 2x 3 x 4 y 2 = x 2 x 3 + x 1 x 4 + x 2x 3 x 4 y 3 : 00 1 1 10 1 * y 4 : 00 1 1 10 1 * y 3 = x 1 x 3x 4 + x 2 x 4 + x 1x 3x 4 + x 1x 2x 3 x 4 y 4 = x 4
y 1 = x 2 x 3 + x 1 x 4 + x 1 x 3 + x 2x 3 x 4 = x 2 x 3 + 1 4 + 1 3 + x 2x 3 4 = x 2 x 3 x 1 x 4 x 1 x 3 x 2x 3 x 4 y 2 = x 2 x 3 + x 1 x 4 + x 2x 3 x 4 = x 2 x 3 + 1 x 4 + x 2x 3 x 4 = x 2 x 3 x 1 x 4 x 2x 3 x 4 y 3 = x 1 x 3x 4 + 2 x 4 + x 1x 3x 4 + x 1x 2x 3 x 4 = x 1 x 3x 4 + 2 4 + x 1x 3x 4 + x 1x 2x 3 x 4 = x 1 x 3x 4 x 2 x 4 x 1x 3x 4 x 1x 2x 3 x 4 y 4 = x 4 x 1 x 2 x 3 x 4 f 1 f 2 f 3 f 4
3. Увидом у шему кола лако одређујемо једначине дизајна. J = K = x 1x 2 z = x 1x 2y + y Како код ЈК флип-флопа важи Q(t + 1) = J(t)Q(t) + K (t)q(t), то ће наредно стање бити дефинисано на основу једначине y(t + 1) = y + x 1x 2y. Сада није тешко направити таблицу прелаза излаза и на основу ње одговарајући граф. y(i 1) x(i) y(i)/z(i) 0 1 00 0/1 1/0 01 0/0 0/0 10 0/0 0/0 11 1/1 0/0 00/1+01/0+10/0 00/0 11/1 0 1 01/0+10/0+11/0
4. Како имамо четвороструки скупно-асоцијативни кеш са 16 линија произилази да имамо четири скупа. Ако је формат адресе интерпретиран као на слици s d w таг скуп реч онда је јасно да поље скуп има два бита. Како свака линија има 8 бајтова, ширина поља реч је три бита. То значи да за поље таг остаје 11 битова. Обзиром на задату адресу FA73 = 1111 1010 011 10 011 закључујемо да ће се дотични блок пресликати у скуп број 2 у произвољну линију тог скупа (пошто је кеш празан то може да буде управо прва линија тог скупа). У поље таг придружено линији уписаће се поље таг из адресе или 11111010011, док је број блока у меморији 1111101001110.