Programowanie w asemblerze Architektury równoległe
|
|
- Julia Romanowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Programowanie w asemblerze Architektury równoległe 24 listopada Ilustracje: Song Ho Anh
2 Klasyfikacja Flynna Duża różnorodność architektur równoległych, stad różne kryteria podziału. Najstarsza klasyfikacja Flynna używała pojęć strumienia instrukcji i strumienia danych. SISD (Single Instruction Single Data) to klasyczny system jednoprocesorowy z pojedynczym,i strumieniami instrukcji i danych. Jeśli zwielokrotnimy strumienie danych, to otrzymamy system SIMD (Single Instruction Multiple Data), w którym wiele procesorów wykonywało równocześnie tę sama instrukcję na różnych danych. Przyśpiesza to wykonywanie typowych operacji macierzowych, takich jak mnożenie czy odwracanie. Tak pracowały procesory wektorowe (np. Cray-1) i macierzowe.
3 Klasyfikacje Flynna Zwielokratniajac strumień instrukcji otrzymujemy system MISD (Multiple Instruction Single Data), spotykany jedynie w bardzo specyficznych zastosowaniach (np. przetwarzanie lustrzane). Przy zwielokrotnieniu obu strumieni otrzymujemy system MIMD (Multiple Instruction Multiple Data), z pełna współbieżnościa możliwościa niezależnego przetwarzania różnych danych przez poszczególne procesory.
4 Podział według metod synchronizacji synchroniczne, np. SIMD; asynchroniczne, np. MIMD.
5 MMX Pierwsze podejście do strumieni instrukcji. Pasożytuje na FPU używa tych samych rejestrów. Pierwsze instrukcje 64-bitowe, np. movq mm0,[tablica] pozwalajace przesłać wektor wartości do rejestru MMX. Dostępne także w SSE.
6 Wykrywanie technologii SSE Przed użyciem zaawansowanych instrukcji trzeba sprawdzić, czy procesor ja obsługuje. W naszej pracowni sa różne procesory! Do sprawdzania służy instrukcja cpuid.
7 CPUID Instrukcja CPUID zwraca informacje o procesorze. Podobne informacje w Linuksie przez cat /proc/cpuinfo Aby sprawdzić, czy procesor reaguje na CPUID, należy spróbować, czy da się zmodyfikować bit 21 w słowie stanu procesora (EFLAGS) pushfd ;wyjmujemy flagi pop eax mov ecx,eax ;zachowanie flag xor eax,200000h ;zmiana bitu 21 push eax ;z powrotem popfd pushfd ;jeszcze raz pobieramy pop eax cmp eax,ecx je niema
8 CPUID Użycie CPUID (gdy jest) mov eax,funkcja cpuid Dla funkcji 0 dostajemy w EAX maks. numer funkcji (co najmniej 0 ;-) w EBX ECX EDX nazwa procesora, np. Genuine Intel
9 CPUID Dla funkcji 1 dostajemy w EDX bit 0: czy jest FPU bit 11: czy działa SYSCALL/SYSRET bit 15: czy jest CMOV bit 23: czy jest MMX bit 25: czy jest SSE bit 26: czy jest SSE2 a w ECX bit 0: czy jest SSE3
10 CPUID Dla funkcji 4 dostajemy w EAX bity : liczba procesorów (cores) Reszta (dużo większa) w dokumentacji.
11 Rejestry XMM Używane w zbiorze instrukcji SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE5, Advanced Vector Extensions W trybie 32-bitowym 8 rejestrów 128-bitowych XMM0 XMM7 W trybie 64-bitowym 16 rejestrów 128-bitowych XMM0 XMM15
12 Rejestry XMM Przechowuja wektor 16 wartości 8-bitowych całkowitych wektor 8 wartości 16-bitowych całkowitych wektor 4 wartości 32-bitowych całkowitych lub zmiennoprzecinkowych wektor 2 wartości 64-bitowych całkowitych lub zmiennoprzecinkowych
13 Przesłania Instrukcje arytmetyczne operuja tylko na wyrównanych do 16 bajtów adresach w pamięci. Dwa rodzaje przesłań do/z rejestrów: MOVDQU jeśli adres nie jest wyrównany (Unaligned) MOVDQA jeśli adres jest wyrównany (Aligned) Zerowanie rejestru pxor xmm1,xmm1
14 Dodawanie Dla wektorów całkowitych już w MMX SSE dodaje operacje dla wektorków liczb rzeczywistych pojedynczej precyzji (Single), np. ADDPS (gdzie P jest od Packed) W SSE2 rozszerzone na liczby podwójnej precyzji (Double), np. ADDPD. Dodano też operacje dla pojedynczych wartości, tzw. skalarów (Scalar), np. ADDSS i ADDSD.
15 Dodawanie: przykład Załóżmy, że mamy dodać dwa wektory trójwymiarowe, reprezentowane w pojedynczej precyzji. Musza one być reprezentowane na 128 bitach, więc przyjmijmy, że górna wartość jest wyzerowana. movups xmm0,[eax] movups xmm1,[ebx] addps xmm0,xmm1 movups [edx],xmm0
16 Mnożenie Podobnie jak dodawanie: MULPS/MULPD dla wektorów, MULPSS/MULSD dla skalarow
17 Operacje skalar/wektor Przed dodaniem do wektora należy skalar zreplikować, żeby wygladał jak wektor Najprościej będzie, gdy użyjemy operacji tasowania : shufps xmm1,xmm2,maska Operacja ta w pierwszym argumencie rozrzuca dwie kopie skalara z pierwszego argumentu i dwie kopie z drugiego. O wyborze skalarów decyduje maska 8-bitowa.
18 Tasowanie
19 Dodawanie skalara do wektora Przy tasowaniu pierwszy argument może być taki sam jak drugi. movss xmm0,fscalar shufps xmm0,xmmo, b addps xmm0,xmm1
20 Porównania Operacje porównywania w SSE nie ustawiaja flag (nie ma tylu flag). W pierwszym argumencie umieszczana jest prawda (same jedynki) albo fałsz (same zera) oczywiście osobno dla każdego elementu. Tak więc operacja porównywania jest destrukcyjna! cmpd xmm0,xmm1 ;wynik w xmm0 movmskpd eax,xmm0 cmp eax,0 jne tam Uwaga: dla skalarów instrukcje COMISD i UCOMISD bezpośrednio zmieniaja EFLAGS, więc po nich zwykły skok warunkowy.
21 Porównania
22 SSE3 Zawiera zbiór skalarnych operacji na liczbach zmiennopozycyjnych pojedynczej i podwójnej precyzji trzymanych w dolnych częściach rejestrów XMM. Operacje zmiennopozycyjne typu rejestr-rejestr (a nie stosowe), np. GCC używa FPU już tylko w rzadkich, specjalnych przypadkach. Stałe zmiennopozycyjne musza być pobierane z pamięci, nie można ich umieszczać bezpośrednio w instrukcjach. Przy porównywaniu liczb zmiennopozycyjnych cztery wyniki (także w C): <, =, > oraz żadna z tych możliwości (gdy któraś z liczb to NaN).
23 SSE3 Wprowadzono bardzo ciekawe instrukcje dodawania horyzontalnego HADDPS/HADDPD, dodajac a sasiaduj ace pary liczb w argumentach i zapisujac a wynik w pierwszym argumencie. Użyjemy jej do policzenia iloczynu skalarnego naszych wektorów movups xmm0,[eax] ;Pierwszy wektor movups xmm1,[ebx] ;Drugi wektor mulps xmm0,xmm1 ;Iloczyny haddps xmm0,xmm0 ;Półsumy haddps xmm0,xmm0 movss [edx],xmm0
Programowanie w asemblerze Środowiska 64-bitowe
Programowanie w asemblerze Środowiska 64-bitowe 17 października 2017 Nieco historii najnowszej Intel wraz z HP rozpoczynaja pracę nad procesorem 64-bitowym z wykorzystaniem technologii VLIW. Powstaje procesor
16. Taksonomia Flynn'a.
16. Taksonomia Flynn'a. Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela Flynna, opierająca się
Architektura mikroprocesorów TEO 2009/2010
Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład
MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca 2011. Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16
MMX i SSE Zbigniew Koza Wydział Fizyki i Astronomii Uniwersytet Wrocławski Wrocław, 10 marca 2011 Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16 Spis treści Spis treści 1 Wstęp Zbigniew Koza (WFiA UWr) MMX
Programowanie w asemblerze Środowiska 64-bitowe
Programowanie w asemblerze Środowiska 64-bitowe 24 listopada 2015 Nieco historii najnowszej Intel wraz z HP rozpoczynaja pracę nad procesorem 64-bitowym z wykorzystaniem technologii VLIW. Powstaje procesor
Procesory rodziny x86. Dariusz Chaberski
Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM
Podstawy Informatyki Systemy sterowane przepływem argumentów
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK
1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Trendy rozwoju współczesnych procesorów Budowa procesora CPU na przykładzie Intel Kaby Lake
Materiały do wykładu. 7.Architekturax86. Marcin Peczarski. Instytut Informatyki Uniwersytet Warszawski
Materiały do wykładu 7.Architekturax86 Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 25maja2009 Narodziny 7.1 1978 Intel8086 architektura 16-bitowa 5 MHz, obudowa DIP40, 29000 tranzystorów
Metody Realizacji Języków Programowania
Metody Realizacji Języków Programowania Bardzo krótki kurs asemblera x86 Marcin Benke MIM UW 10 stycznia 2011 Marcin Benke (MIM UW) Metody Realizacji Języków Programowania 10 stycznia 2011 1 / 22 Uwagi
Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387
Mikroinformatyka Koprocesory arytmetyczne 8087, 80187, 80287, i387 Koprocesor arytmetyczny 100 razy szybsze obliczenia numeryczne na liczbach zmiennoprzecinkowych. Obliczenia prowadzone równolegle z procesorem
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:
Architektura komputerów
Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły
Architektura komputerów
Architektura komputerów Tydzień 14 Procesory równoległe Klasyfikacja systemów wieloprocesorowych Luźno powiązane systemy wieloprocesorowe Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia.
Programowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 4: Architektura i zarządzanie pamięcią IA-32 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Tryby pracy Rejestry
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.
Wstęp Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system. Przedstawienie architektur sprzętu wykorzystywanych do
Mikroprocesory rodziny INTEL 80x86
Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając
Architektura komputerów. Asembler procesorów rodziny x86
Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych
Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach
Marcin Stępniak Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach 1. Informacje Matematyk o nazwisku Bool wymyślił gałąź matematyki do przetwarzania wartości prawda
SSE (Streaming SIMD Extensions)
SSE (Streaming SIMD Extensions) Zestaw instrukcji wprowadzony w 1999 roku po raz pierwszy w procesorach Pentium III. SSE daje przede wszystkim możliwość wykonywania działań zmiennoprzecinkowych na 4-elementowych
Architektura komputerów
Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem
Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów
Marcin Stępniak Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów 1. Informacje Poniższe laboratoria zawierają podsumowanie najważniejszych informacji na temat
Budowa wnętrza procesora x86
Budowa wnętrza procesora x86 Marika Kuczyńska, Joanna Tokarz Akademia Górnicz- Hutnicza im. Stanisława Staszica w Krakowie Wydział Fizyki i Informatyki Stosowanej Fizyka Techniczna Kraków, 20.03.2013 Plan
Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami
Larrabee GPGPU Zastosowanie, wydajność i porównanie z innymi układami Larrabee a inne GPU Różnią się w trzech podstawowych aspektach: Larrabee a inne GPU Różnią się w trzech podstawowych aspektach: Larrabee
Programowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie
1. Operacje logiczne A B A OR B
1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne
Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych
Wykład 5 Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych Spis treści: 1. Klasyfikacja Flynna 2. Klasyfikacja Skillicorna 3. Klasyfikacja architektury systemów pod względem
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Architektura Systemów Komputerowych, Wydział Informatyki, ZUT
Laboratorium: Wprowadzenie Pojęcia. Wprowadzone zostaną podstawowe pojęcia i mechanizmy związane z programowaniem w asemblerze. Dowiemy się co to są rejestry i jak z nich korzystać. Rejestry to są wewnętrzne
Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski
Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta
LICZBY ZMIENNOPRZECINKOWE
LICZBY ZMIENNOPRZECINKOWE Liczby zmiennoprzecinkowe są komputerową reprezentacją liczb rzeczywistych zapisanych w formie wykładniczej (naukowej). Aby uprościć arytmetykę na nich, przyjęto ograniczenia
Programowanie w asemblerze Obliczenia zmiennopozycyjne
Programowanie w asemblerze Obliczenia zmiennopozycyjne 17 stycznia 2017 Reprezentacja w Standardzie 754 IEEE Mantysa i wykładnik (cecha) m 2 w W znormalizowanej liczbie mantysa jest liczba stałopozycyjna
Asembler. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Asembler. Æwiczenia praktyczne Autor: Eugeniusz Wróbel ISBN: 83-7197-836-7 Format: B5, stron: 166 TWÓJ KOSZYK
WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.
Strona z WEKTORY I MACIERZE Wektory i macierze ogólnie nazywamy tablicami. Wprowadzamy je:. W sposób jawny: - z menu Insert Matrix, - skrót klawiszowy: {ctrl}+m, - odpowiedni przycisk z menu paska narzędziowego
Optymalizacja wykonania programów sekwencyjnych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Optymalizacja wykonania programów sekwencyjnych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Optymalizacja sekwencyjna Przez optymalizację rozumie się zmiany dokonywane w kodzie źródłowym lub w trakcie
Architektura Systemów Komputerowych
Jarosław Kuchta Architektura Systemów Komputerowych ćwiczenie 3 Arytmetyka całkowita instrukcja laboratoryjna Wprowadzenie Celem ćwiczenia jest zapoznanie się z budową i sposobem działania jednostki arytmetyczno-logicznej
Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
Metody Realizacji Języków Programowania
1/25 Metody Realizacji Języków Programowania Bardzo krótki kurs asemblera x86 Marcin Benke MIM UW 23 października 2013 /25 Uwagi wstępne Ten, z konieczności bardzo krótki kurs, nie jest w żadnym wypadku
Architektury komputerów systemy komputerowe i ich klasyfikacja. Tomasz Dziubich
Architektury komputerów systemy komputerowe i ich klasyfikacja Tomasz Dziubich Klasyfikacja Flynna Pojedynczy strumień danych Wiele strumieni danych Pojedynczy strumień instrukcji SISD SIMD Wielokrotny
Introduction to Computer Science
Introduction to Computer Science Grzegorz J. Nalepa Katedra Automatyki AGH spring 2011 c by G.J.Nalepa, 2004-11 (AGH) Introduction to Computer Science spring 2011 1 / 55 c by G.J.Nalepa,
Wprowadzenie do architektury komputerów. Taksonomie architektur Podstawowe typy architektur komputerowych
Wprowadzenie do architektury komputerów Taksonomie architektur Podstawowe typy architektur komputerowych Taksonomie Służą do klasyfikacji architektur komputerowych podział na kategorie określenie własności
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2018/2019 Wykład nr 10 (17.05.2019) Rok akademicki 2018/2019, Wykład
Pytania. W obecnie wykorzystywanych komputerach osobistych jest stosowana architektura: jednoszynowa. pamięciowo-centryczna.
Pytania W obecnie wykorzystywanych komputerach osobistych jest stosowana architektura: jednoszynowa pamięciowo-centryczna punkt-punkt Pamięć EEPROM jest pamięcią: kasowalną elektrycznie tylko 1 raz kasowalną
INSTRUKCJE Instrukcje przeniesienia: Instrukcje konwersji: Arytmetyczne instrukcje:
INSTRUKCJE Instrukcje przeniesienia: mov, lea, les, push, pop, pushf, popf Instrukcje konwersji: cbw, cwd, xlat Arytmetyczne instrukcje: add, inc sub, dec, cmp, neg, mul, imul, div, idiv Logiczne instrukcje:
Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008
Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer. 1.4 Wojciech Myszka 16 pa«zdziernika 2008 CISC I Complex Instruction Set Computers nazwa architektury mikroprocesorów
Nowoczesne technologie przetwarzania informacji
Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego
Systemy wieloprocesorowe i wielokomputerowe
Systemy wieloprocesorowe i wielokomputerowe Taksonomia Flynna Uwzględnia następujące czynniki: Liczbę strumieni instrukcji Liczbę strumieni danych Klasyfikacja bierze się pod uwagę: Jednostkę przetwarzającą
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q
LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone
Ćwiczenie 3. Konwersja liczb binarnych
1 Laboratorium Architektury Komputerów Ćwiczenie 3 Konwersja liczb binarnych Komputery wykonują operacje przetwarzania danych na wartościach binarnych, podczas gdy współczesna cywilizacja posługuje się
Architektura Komputerów
1/3 Architektura Komputerów dr inż. Robert Jacek Tomczak Uniwersytet Przyrodniczy w Poznaniu Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne dla programisty, atrybuty
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Wprowadzenie do systemów wieloprocesorowych
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface Wprowadzenie do systemów wieloprocesorowych Wstęp Do tej pory mówiliśmy głównie o systemach z jednym procesorem Coraz trudniej wycisnąć
Architektura komputerów
Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię
Architektura komputerów
Architektura komputerów Wykład 4 Jan Kazimirski 1 Reprezentacja danych 2 Plan wykładu Systemy liczbowe Zapis dwójkowy liczb całkowitych Działania arytmetyczne Liczby rzeczywiste Znaki i łańcuchy znaków
3.Przeglądarchitektur
Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 17 marca 2014 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne
Architektura systemów komputerowych. Lista instrukcji procesora
Architektura systemów komputerowych Plan wykładu 1. Rozkaz, lista rozkazów procesora. 2. Mikroprogramowanie. 3. Język maszynowy. 4. Projekt P: koncepcja, model rozkazu. Cele Architektura procesorów: von
Technologie Informacyjne Wykład 3
Technologie Informacyjne Wykład 3 Procesor i jego architektura (CISC, RISC, 32/64 bity) Systemy wieloprocesorowe Wojciech Myszka Jakub Słowiński Katedra Mechaniki i Inżynierii Materiałowej Wydział Mechaniczny
Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:
Reprezentacja liczb rzeczywistych w komputerze. Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci: k = m * 2 c gdzie: m częśd ułamkowa,
ARCHITEKTURA KOMPUTERÓW. Reprezentacja danych w komputerach
Reprezentacja danych w komputerach dr inż. Wiesław Pamuła wpamula@polsl.katowice.pl Literatura 2. J.Biernat: Architektura komputerów, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław2002. 3. Null
Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński
Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Temat: Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy.
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 5 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie
Architektury komputerów Architektury i wydajność. Tomasz Dziubich
Architektury komputerów Architektury i wydajność Tomasz Dziubich Przetwarzanie potokowe Przetwarzanie sekwencyjne Przetwarzanie potokowe Architektura superpotokowa W przetwarzaniu potokowym podczas niektórych
Materiały do wykładu. 4. Mikroprocesor. Marcin Peczarski. Instytut Informatyki Uniwersytet Warszawski
Materiały do wykładu 4. Mikroprocesor Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 19 marca 2007 Małe przypomnienie 4.1 Rejestry Układ współpracy z szynami Jednostka sterująca połączenia
Adam Kotynia, Łukasz Kowalczyk
Adam Kotynia, Łukasz Kowalczyk Dynamiczna alokacja pamięci Alokacja pamięci oraz dezalokacja pamięci jest to odpowiednio przydział i zwolnienie ciągłego obszaru pamięci. Po uruchomieniu, proces (program)
Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Wydajność obliczeń a architektura procesorów Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych
Wprowadzenie do architektury komputerów. Model programowy procesora i jego struktura Procesory CISC i RISC
Wprowadzenie do architektury komputerów Model programowy procesora i jego struktura Procesory CISC i RISC Użytkowy model programowy Użytkowym modelem programowym nazywamy zestaw zasobów logicznych komputera
Praktycznie całe zamieszanie dotyczące konwencji wywoływania funkcji kręci się w okół wskaźnika stosu.
Krótki artykuł opisujący trzy podstawowe konwencje wywoływania funkcji C++ (a jest ich więcej). Konwencje wywoływania funkcji nie są tematem, na który można się szeroko rozpisać, jednak należy znać i odróżniać
Programowanie w asemblerze Wprowadzenie
Programowanie w asemblerze Wprowadzenie 17 stycznia 2017 Motto: R7 is used by the processor as its program counter (PC). It is recommended that R7 not be used as a stack pointer. Źródło: PDP-11 04/34/45/55
3.Przeglądarchitektur
Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 24 stycznia 2009 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
Arytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
1. OBLICZENIA RÓWNOLEGŁE...
SPIS TREŚCI WSTĘP 7 1. OBLICZENIA RÓWNOLEGŁE................... 9 1.1. Formy równoległości 10 1.1.1. Równoległość na poziomie bitów 10 1.1.2. Równoległość na poziomie instrukcji 10 1.1.3. Równoległość
Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika
Wielkości liczbowe Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje 0 oraz liczby naturalne
Programowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 10: Arytmetyka całkowitoliczbowa Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wprowadzenie Instrukcje przesunięcia bitowego
Architektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 4: Struktura użytkowego modelu programowego komputera Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Pojęcie użytkowego
Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika
Wielkości liczbowe Wykład z Podstaw Informatyki Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje oraz liczby naturalne od do 255
Architektura von Neumanna
Architektura von Neumanna Klasyfikacja systemów komputerowych (Flynna) SISD - Single Instruction Single Data SIMD - Single Instruction Multiple Data MISD - Multiple Instruction Single Data MIMD - Multiple
Podstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 3 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 1 / 42 Reprezentacja liczb całkowitych
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK
1 Powtórzenie wiadomości
1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy
Podstawy architektury systemów równoległych opartych na równoległoci danych,
Wykład 6 Podstawy architektury systemów równoległych opartych na równoległoci danych, Spis treci: 1. Komputery równoległe z wieloma strumieniami danych (typu SIMD) 2. Komputery wektorowe 3. Komputery asocjacyjne
Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Wykład nr 6 (27.04.2012) dr inż. Jarosław Forenc Rok akademicki
Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.
Rok akademicki 2011/2012, Wykład nr 6 2/46 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2011/2012
Wstęp. Przetwarzanie współbieżne, równoległe i rozproszone
Wstęp. 1 Cel zajęć Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów równoległych Przedstawienie sprzętu wykorzystywanego do obliczeń równoległych Nauczenie sposobów
Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci
Kod IEEE754 IEEE Institute of Electrical and Electronics Engineers IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci (-1) s 1.f
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Architektura i Programowanie Procesorów Sygnałowych Numer
Struktura i działanie jednostki centralnej
Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala
Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:
Operatory logiczne Komputery i ich logika AND - && Podstawy programowania w C++ Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com
Logiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
Pracownia Komputerowa wykład VI
Pracownia Komputerowa wykład VI dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Przypomnienie 125 (10) =? (2) Liczby całkowite : Operacja modulo % reszta z dzielenia: 125%2=62 reszta 1
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok
Systemy wieloprocesorowe i wielokomputerowe
Systemy wieloprocesorowe i wielokomputerowe Taksonomia Flynna Uwzględnia następujące czynniki: Liczbę strumieni instrukcji Liczbę strumieni danych Klasyfikacja bierze się pod uwagę: Jednostkę przetwarzającą
System mikroprocesorowy i peryferia. Dariusz Chaberski
System mikroprocesorowy i peryferia Dariusz Chaberski System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2 Pamięć rodzaje (podział ze względu na sposób
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional
Zestaw 3. - Zapis liczb binarnych ze znakiem 1
Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zapis znak - moduł (ZM) Zapis liczb w systemie Znak - moduł Znak liczby o n bitach zależy od najstarszego bitu b n 1 (tzn. cyfry o najwyższej pozycji): b
Arytmetyka stało i zmiennoprzecinkowa
Arytmetyka stało i zmiennoprzecinkowa Michał Rudowicz 171047 Łukasz Sidorkiewicz 170991 Piotr Lemański 171009 Wydział Elektroniki Politechnika Wrocławska 26 października 2011 Spis Treści 1 Reprezentacja