Boolesk algebra

Download Report

Transcript Boolesk algebra

Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
DATS/ITPE 2400: Datamaskinarkitektur og
Nettverk
Forelesning 1: Introduksjon til kurset - Boolesk algebra
T. M. Jonassen
Institute of Computer Science
Faculty of Technology, Art and Design
Oslo and Akershus University College of Applied Sciences
05. Januar 2015
Praktiske opplysninger
Introduksjon
Oversikt
1
Praktiske opplysninger
2
Introduksjon
3
Boolesk algebra
4
Mer om Boolesk algebra
Boolesk algebra
Mer om Boolesk algebra
Praktiske opplysninger
Introduksjon
Boolesk algebra
Forelesninger
Foreleser:
Tore M. Jonassen, Kontor: PS 338, Tlf: 67 23 86 61
E-mail: [email protected]
Mandager: 10.30 - 12.15 i PI 254
Fredager: 12.30 - 14.15 i PH 322
Mer om Boolesk algebra
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Kursets hjemmeside
Kursets hjemmeside (arkitekturdel):
http://bluemaster.cs.hioa.no/edu/darknet-15/
˚
bluemaster.cs.hioa.no er apen
for alle, (men ikke oppe
for øyeblikket pga omlegging av IP-segmenter)
Frontertilgang ved betaling av semesteravgift og bekreftelse av
studieopplegg. Fronter vil bare bli brukt til innlevering av
obligatoriske oppgave.
Praktiske opplysninger
Introduksjon
Boolesk algebra
Lab
Lab og oppgaveløsning:
Det holder med to timer i uken
Mandag eller fredag, hva vil dere?
Ikke lab denne uken
Mer om Boolesk algebra
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Pensum
Lærebok: M. Murdocca og V. Heuring: Computer
Architecture and Organization, An Integrated Approach,
Wiley 2007. ISBN 978-0-471-73388-1
Fra læreboken Kap. 1 til og med Kap. 8 og litt i Kap. 10, men
˚ samt deler av Appendiks A og B er
endel underseksjoner utgar,
ogsa˚ pensum. I tillegg kommer nettverksdelen.
En presis pensumliste kommer etterhvert.
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Arbeidskrav og evaluering (arkitektur)
En obligatorisk oppgave som ma˚ være godkjent for a˚
kunne avlegge eksamen. Nettverksdelen vil dere fa˚ mer
informasjon om senere.
5 timer skriftlig eksamen med tallkarakter, “alle”
hjelpemidler.
De obligatoriske oppgavene teller ikke inn pa˚
sluttkarakteren.
Oppgaver i arkitektur, oppgaver i nettverk (50/50).
Obl. oppgaver skal leveres individuelt. Alle ma˚ levere innen
fastsatt frist.
Utsettelse kun ved sykdom med legeattest.
Praktiske opplysninger
Introduksjon
Boolesk algebra
Miniforelesninger, video
Se vimeo.com eller eCampus (HiOA):
vimeo.com/channels/datamaskinarkitektur
Finnes ogsa˚ pa˚ iTunes.
Mer om Boolesk algebra
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Oversikt 1
Uke 2:
Praktisk informasjon, introduksjon, Boolesk algebra
Kap. 1, App. A
Uke 3:
Datarepresentasjon, tallsystemer
Kap. 2
Uke 4:
Digitalteknikk og aritmetiske kretser
App. A, Kap. 3
Praktiske opplysninger
Introduksjon
Oversikt 2
Uke 5:
Instruksjonssett arkitektur
Kap 4. App. A
Uke 6:
Datapath og kontrollenhet
Kap 5
Uke 7:
Datapath og microoprasjoner
Kap 5
Boolesk algebra
Mer om Boolesk algebra
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Oversikt 3
Uke 8:
Studieuke, ingen undervisning ?
(Ma˚ sjekke dette)
Uke 9:
˚ og maskin
Sprak
Kap. 5
Uke 10:
Busser og eksterne enheter, noe om andre arkitekturer.
Kap. 6
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Tall, representasjon og maskiner
Informasjon representeres som sekvenser av 0 og 1.
Positiv logikk: 1 - høy spenning, 0 lav spenning.
Vi ma˚ vite hvordan 01 sekvensene skal tolkes –
representasjon.
Det binære systemet er viktig, men ikke særlig lesbart.
Oktal- og heksadesimal notasjon er mer kompakt.
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Et par enkle eksempler
Fra elementær matematikk vet vi at hvis a, b og c er tall sa˚ er
(a + b) + c = a + (b + c)
Er dette alltid sant pa˚ en datamaskin?
Hvis a og b er positive heltall, sa˚ er c et positivt heltall hvor
c =a+b
Er dette alltid sant pa˚ en datamaskin?
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
C-kode del 1
/* File: overflow.c */
/* Compile with : */
/* gcc -o bignum overflow.c */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a, b, c;
a=sizeof(int)*8;
printf("Datatype int has %d bits\n",a);
printf("Range: -2147483648 to 2147483647\n\n");
Praktiske opplysninger
Introduksjon
Boolesk algebra
C-kode del 2
printf("Addition with datatype int:\n");
b = 2147483647;
c = 2; /* c=1 will do */
printf("b=%d\nc=%d\n",b,c);
printf("b+c=%d\n\n",b+c);
exit(0);
}
Mer om Boolesk algebra
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Programkjøring
torejo@micro:˜/edu/darknet-12/c> ./bignum
Datatype int has 32 bits
Range: -2147483648 to 2147483647
Addition with datatype int:
b=2147483647
c=2
b+c=-2147483647
Merk at resultatet er negativt.
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Noen 2-er potenser
2-potens
210
220
230
240
Navn
K (kilo)
M (mega)
G (giga)
T (terra)
10-potens
103
106
109
1012
Diff
2.3%
4.6%
6.9%
9.1%
Merk at 2-potensene gir et større tall enn de korresponderende
10-potensene. For eksempel er 220 = 1048576 mens
106 = 1000000 sa˚ 220 − 106 = 48576.
Praktiske opplysninger
Introduksjon
Boolesk algebra
Navn pa˚ noen binære sekvenser
bit – Minste enhet, ett binær siffer (20 ).
nibble – Fire binære siffer (22 ) .
˚
byte – Atte
binære siffer (23 ) .
halfword – 16 binære siffer (24 ).
word – 32 binære siffer (25 ).
double word – 64 binære siffer (26 ).
quad word – 128 binære siffer (27 ).
Mer om Boolesk algebra
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Om Boolesk algebra
Grunnlaget for datamaskiner slik vi kjenner disse i dag,
derfor viktig
Har postulater (aksiomer) som beskriver strukturen i en
Boolesk algebra
Aksiomer kan ikke bevises
Men, hvis vi definerer operasjoner, ma˚ vi vise at de
tilfredstiller aksiomene
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Definisjon
˚
En Boolsek algebra er en struktur bestande
av en mengde
elementer B sammen med to binære operasjoner + og · slik at
følgende seks aksiomer er oppfylt:
Aksiom 1: Lukket med hensyn pa˚ + og ·.
Lukket betyr at x, y ∈ B ⇒ x + y ∈ B. (Tilsvarende for ·)
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Definisjon
Aksiom 2: Det fins et identitetselement mhp +, kalt 0 slik at
x +0=0+x =x
Det fins et identitetselement mhp ·, kalt 1 slik at
x ·1=1·x =x
Aksiom 3: Kommutativ mhp +, x + y = y + x
Kommutativ mhp ·, x · y = y · x
Aksiom 4: · er distributiv over +:
x · (y + z) = (x · y) + (x · z)
+ er distributiv over ·:
x + (y · z) = (x + y) · (x + z)
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Definisjon
Aksiom 5: For hver x ∈ B fins x ′ ∈ B (komplement) slik at
x + x ′ = 1 og x · x ′ = 0.
Aksiom 6: Det fins minst to x, y ∈ B slik at x 6= y.
En Boolesk algebra er altsa˚ et trippel (B, +, ·) samt en
komplement operasjon ′ slik at aksiom 1-6 holder.
Det fins en rekke strukturer vi kjenner som er Booleske
algebraer: Mengdelære med snitt, union og komplement, eller
(hos oss) B = {0, 1} med AND, OR og NOT.
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Noen grunnleggende teoremer
Teorem 1:
x + x = x og x · x = x
Teorem 2:
x + 1 = 1 og x · 0 = 0
Teorem 3:
(x ′ )′ = x
Teorem 4: (assosiativ)
x + (y + z) = (x + y) + z og x · (y · z) = (x · y) · z
Praktiske opplysninger
Introduksjon
Boolesk algebra
Mer om Boolesk algebra
Noen grunnleggende teoremer
Teorem 5: (De Morgan)
(x + y)′ = x ′ · y ′ og (x · y)′ = x ′ + y ′
Teorem 6: (absorsjon)
x + x · y = x og x · (x + y) = x
Vi skal ikke bevise alle disse teoremene for generelle Booleske
algebraer, men noen.
Praktiske opplysninger
Introduksjon
Boolesk algebra
Bevis teorem 1 (del 1)
Vil vis at x + x = x:
x +x
2
= (x + x) · 1
5
= (x + x) · (x + x ′ )
4
= x + x · x′
5
= x +0
2
= x
Mer om Boolesk algebra
Praktiske opplysninger
Introduksjon
Boolesk algebra
Bevis teorem 1 (del 2)
Vil vise at x · x = x:
x ·x
2
= x ·x +0
5
= x · x + x · x′
4
= x · (x + x ′ )
5
= x ·1
2
= x
Mer om Boolesk algebra
Praktiske opplysninger
Introduksjon
Boolesk algebra
Bevis teorem 6 (del 1)
Vil vise at x + x · y = x:
x +x ·y
2
= x ·1+x ·y
4
= x · (1 + y)
3
= x · (y + 1)
2
= x ·1
2
= x
Mer om Boolesk algebra