diff options
Diffstat (limited to 'semestre 3/architecture des ordinateurs/td')
| -rw-r--r-- | semestre 3/architecture des ordinateurs/td/25-11-26.md | 4 | ||||
| -rw-r--r-- | semestre 3/architecture des ordinateurs/td/25-12-10.md | 51 | ||||
| -rw-r--r-- | semestre 3/architecture des ordinateurs/td/25-12-17.md | 95 |
3 files changed, 150 insertions, 0 deletions
diff --git a/semestre 3/architecture des ordinateurs/td/25-11-26.md b/semestre 3/architecture des ordinateurs/td/25-11-26.md index e72f90a..47555b1 100644 --- a/semestre 3/architecture des ordinateurs/td/25-11-26.md +++ b/semestre 3/architecture des ordinateurs/td/25-11-26.md @@ -73,6 +73,10 @@ $(\bar a.b.c)+(a.\bar b.\bar c)+(a.b.\bar c)+(a.b.c)$ | 1 | 1 | 0 | 0 | 1 | $s=(\bar u_1.\bar u_2.c_{in})+(\bar u_1.u_2.\bar c_{in})+(u_1.\bar u_2.\bar c_{in})+(u_1.u_2.c_{in})=u_1\oplus u_2\oplus c_{in}$ où $\oplus$ est $\mathrm{xor}$ (à refaire) $c_{out}=(\bar u_1.u_2.c_{in})+(u_1.\bar u_2.c_{in})+(u_1.u_2.c_{in})+(u_1.u_2.\bar c_{in})=a.b+a.c_{in}+b.c_{in}=c_{in}.(a\oplus b)+a.b$ (à refaire) + +$s = (\bar a . \bar b . c)+(\bar a.b.\bar c)+(a.\bar b.\bar c)+(a.b.c)$ +$s = (\bar a . (\bar b + (\bar a.b.\bar c)) . c + (\bar a.b.\bar c))$ + | $i_3$ | $i_2$ | $i_1$ | $i_0$ | $a$ | $b$ | $c$ | $d$ | $e$ | $f$ | $g$ | | ----- | ----- | ----- | ----- | --- | --- | --- | --- | --- | --- | --- | | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | | diff --git a/semestre 3/architecture des ordinateurs/td/25-12-10.md b/semestre 3/architecture des ordinateurs/td/25-12-10.md new file mode 100644 index 0000000..26df476 --- /dev/null +++ b/semestre 3/architecture des ordinateurs/td/25-12-10.md @@ -0,0 +1,51 @@ +--- +tags: + - sorbonne + - informatique + - architecture-des-ordinateurs + - td +semestre: 3 +--- +Un transfert est le déplacement d'une donnée lors d'un cycle + +`LO <- HI or 0` + +`r6 <- r4 or 0` + +`AD <- PC + AD` + +``` +AD <- r[20] +r[8] <- AD + r[18] +``` + +``` +AD <- r[8] +AD <- m[AD] +``` + +``` +IR <- m[PC] +PC <- PC + 4 +AD <- r[5] or 0 +r[3] <- r[7] + AD +``` + +``` +IR <- m[PC] +PC <- PC + 4 +AD <- r[8] + 4 +DT <- m[AD] +r[4] <- DT or 0 +``` + +``` +IR <- m[PC] +PC <- PC + 4 +AD <- r[6] or 0 +m[AD] <- r[9] or 0 +``` + +1. `add $9, $6, $8` +2. `sw $9, 12($10)` +3. `jalr $9, $6` diff --git a/semestre 3/architecture des ordinateurs/td/25-12-17.md b/semestre 3/architecture des ordinateurs/td/25-12-17.md new file mode 100644 index 0000000..f2db8c5 --- /dev/null +++ b/semestre 3/architecture des ordinateurs/td/25-12-17.md @@ -0,0 +1,95 @@ +--- +tags: + - informatique + - sorbonne + - td + - architecture-des-ordinateurs +Semestre: 3 +--- +4 états -> 2 bits +4 + 3 = 7 transitions +|> 0 -> 1, 1 -> 2, 2 -> 3, 3 -> 0, 1 -> 0, 2 -> 0, 0 -> 0 + +RST = reset + +$F_1 = \overline{\text{RST}} . (c_1 \oplus c_2)$ +$F_0 = \overline{\text{RST}} . \bar c_0$ + +```mermaid +flowchart LR + A-- 1 ---A + A-- 0 ---B + B-- 0 ---B + B-- 1 ---C + C-- 1 ---A + C-- 0 ---D + D-- 0 ---B + D-- 1 ---E + E-- 0,1 ---E +``` + +```mermaid +flowchart LR + A-- 0 ---B + B-- 1 ---C + C-- 0 ---D + D-- 1 ---E +``` + +5 états -> 3 bits +4 transitions + +| États | $C_2$ | $C_1$ | $C_0$ | +| ----- | ----- | ----- | ----- | +| A | 0 | 0 | 0 | +| B | 0 | 0 | 1 | +| C | 0 | 1 | 0 | +| D | 0 | 1 | 1 | +| E | 1 | 0 | 0 | + +ext_A = ext_B = ext_C +WE_A = WE_B = WE_C +ext_D = 0 + +ADD = 0 +1. `RA,RB,RC` -> ext_{A,B,C}+WE_{A,B,C} +2. `RD = RA+RB` -> OP_A+OP_B + ADD + WE_D +3. `RD = RD + RC` + +5 états -> 3 bits +6 transitions + +init = chargement dans les registres +s0 = comparaison +s1 = a < b -> a = a, b = b-a +s2 = a > b -> a = a-b, b = a +end = a == b -> met le résultat dans le registre + +| États | Valeur | +| ----- | ------ | +| init | 0 | +| $S_0$ | 1 | +| $S_1$ | 10 | +| $S_2$ | 11 | +| end | 100 | + +| $C_2$ | $C_1$ | $C_0$ | $a>b$ | $a=b$ | $F_2$ | $F_1$ | $F_0$ | +| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | +| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | +| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | +| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | +| 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | +| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | +| 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | +| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | +| 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | +| 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | +| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | +| 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | +| 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | +| 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | +| 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | +| 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | +$F_0 = \overline{S_0.((a<b)+(a=b))+end}$ +$F_1=S_0.(\overline{a=b})$ +$F_2 = end+S_0.(a=b)$ |
