TI2-Tutorium, 19.06.2013

Krams

Inhaltliches

CISC vs. RISC

Typische Eigenschaften von RISC-Prozessoren (Wikipedia):

  • Ein Taktzyklus pro Befehl
  • Load-Store-Architektur
  • Große Anzahl frei verwendbarer Register und Drei-Adress-Code
  • Befehle mit fester Länge und wenigen Formaten

CISC:

  • komplexe, mikroprogrammierte Befehle
  • kleinere Programme

Heute: CISC nach außen (ISA), RISC innen (interne Mikroarchitektur)

Adressierungsarten

  • direkte Werte
  • Register
  • absolute/relative Speicheradresse

Interrupts

  • Programme müssen unterbrochen werden
    • interne / externe Gründe
    • Tastatureingabe, Division durch 0, …
  • aktueller Prozess wird unterbrochen und sein Status gesichert
  • spezielle Unterprogramme (ISR = Interrupt Service Routine) werden aufgerufen und ausgeführt

Das meiste wird in TI3 gemacht.

Wiederholung

Ganzzahlen

Rechne 23 − 45 in

  • Betrag+Vorzeichen,
  • Einerkomplement
  • und Zweierkomplement (jeweils 8 Bit).

Ganzzahlen (Lösung)

23 − 45 = 23 + ( − 45)

 23 => 0001 0111 (in allen drei Darstellungen)

-45 => 1010 1101 (B+V)
    => 1101 0010 (EK)
    => 1101 0011 (ZK)

Ganzzahlen (B+V)

Bei Subtraktion: immer betragsmäßig größere minus betragsmäßig kleiner Zahl und dann Vorzeichen bestimmen. Also 23 − 45 = −(45 − 23).

  010 1101
- 001 0111
   1  11   (Übertrag)
==========
  001 0110 = 22

Da Ergebnis negativ sein muss ist also das Endergebnis 1001 0110.

Ganzzahlen (EK)

  0001 0111
+ 1101 0010
    1  11   (Übertrag)
===========
  1110 1001 = -0001 0110 = -22

ACHTUNG: Ergebnisse im EK sind nicht immer korrekt. Dies ist der doppelten Null geschuldet. Daher ZK.

Ganzzahlen (ZK)

  0001 0111
+ 1101 0011
    1  111  (Übertrag)
===========
  1110 1010 = -(0001 0101 + 1) = -(0001 0110) = -22

IEEE

Umwandeln von 1237.75 und 443.66 in IEEE und Addition.

IEEE (1237.75)

1237 = 100 1101 0101
0.75 = 0.11
=> 1237.75 =  10011 010101.11 * 2^0
           = 1.0011 0101 0111 * 2^10

Vorzeichen     = 0
Charakteristik = 10 + 127 = 137 = 1000 1001
Mantisse       = 0011 0101 0111 0000 0000 000

IEEE = 0 | 1000 1001 | 0011 0101 0111 0000 0000 000

IEEE (443.66)

443  = 1 1011 1011
0.66 = 0.1010 1000 1111 0101
=> 443.66 = 1 1011 1011.1010 1000 1111 0101 * 2^0
          = 1.1011 1011 1010 1000 1111 0101 * 2^8
                                          ^24.Bit=>Runden

Vorzeichen     = 0
Charakteristik = 8 + 127 = 135 = 1000 0111
Mantisse       = 1011 1011 1010 1000 1111 011

IEEE = 0 | 1000 0111 | 1011 1011 1010 1000 1111 011

IEEE (Addition)

  1.0011 0101 0111 0000 0000 000 * 2^10
+ 1.1011 1011 1010 1000 1111 011 * 2^8

=>1.0011 0101 0111 0000 0000 000    * 2^10
+ 0.0110 1110 1110 1010 0011 110 11 * 2^10
    1111 1111 11                    (Übertrag)
==============================================
  1.1010 0100 0101 1010 0011 110 11 * 2^10
                                 gr => Round up
=>1.1010 0100 0101 1010 0011 111 * 2^10

IEEE = 0 | 1000 1001 | 1010 0100 0101 1010 0011 111