Prosty procesor dla framgentu listy rozkazów MIPSa
|
|
- Konrad Brzozowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 p. /33 Prosty procesor dla framgent listy rozkazów IPSa (rysnki pochodza z ksiażki Hennessy ego i Pattersona)
2 p. 2/33 Wstęp Naszym celem będzie zaprojektowanie prostego procesora realizjacego fragment listy rozkazów IPS: rozkazy komnikacji z pamięcia: lw, sw rozkazy arytmetyczno-logiczne: add, sb, and, or, slt skoki beq, j Obejrzymy trzy rozwiazania: Implementacja jednocyklowa Implementacja wielocyklowa Przetwarzanie potokowe
3 p. 3/33 Implementacja jednocyklowa wstęp Wykonanie każdego z naszych rozkazów zaczyna się tak samo: Wysłanie licznika rozkazów (PC) do jednostki pamięci i odczytanie stamtad odpowiedniego rozkaz. Odczytanie wartości jednego lb dwóch rejestrów (specyfikowanych przez pięciobitowe pola rozkaz) Dalsze czynności zależa od rozkaz, chociaż sa one podobne, szczególnie dla rozkazów z jednej grpy. Każdy rozkaz (oprócz j) żyje np.. W naszej pierwszej implementacji wykonanie każdego rozkaz będzie zajmowało jeden cykl zegarowy. Zapis (do pamięci lb do rejestrów) następje raz w całym cykl (na zbocz opadajacym). Odczyt jest możliwy w każdym momencie.
4 p. 4/33 Ogólny schemat połączeń 4 PC ress Instrction Instrction Register # Registers ress Register # Register #
5 p. 5/33 Pobranie rozkaz Zakładamy, że mamy dwie jednostki pamięci: osobna dla rozkazów (instrction ) oraz dla danych ( ). 4 PC address Instrction Instrction
6 p. 6/33 Rejestry i Register nmbers register register 2 register Registers 2 4 operation Zero reslt Reg a. Registers b.
7 p. 7/33 Pamięć danych i rozszerzanie danych em ress 6 Sign 32 etend em a. nit b. Sign-etension nit
8 p. 8/33 Skok warnkowy Wykonanie rozkaz skok warnkowego polega na: Odczytani dwóch rejestrów Porównani ich przez (operacja odejmowania) Przekształceni stałej: rozszerzenie stałej 6-bitowej do 32-bitowej i przesnięcie o dwa bity w lewo Dodani stałej do PC+4
9 p. 9/33 Skok warnkowy PC+4 from instrction path Shift left 2 Sm Branch target Instrction register register 2 register Registers 2 4 operation Zero To branch control logic Reg 6 Sign 32 etend
10 p. /33 Uwaga o opóźnionych skokach IPS realizje tzw. opóźnione skoki (delayed branches) rozkaz znajdjacy się w pamięci bezpośrednio za rozkazem skok wykonje się niezależnie od tego, czy skok następje, czy nie. Nie implementjemy tego rozwiazania. Podobnie zreszta jak SPI (chociaż tam można je wymsić, rchamiajac program z odpowiednim parametrem).
11 p. /33 Układ dla rozkazów arytm.-log. oraz lw, sw Instrction register register 2 Registers register Reg 2 Src 4 operation Zero reslt ress em emtoreg 6 Sign 32 etend em
12 p. 2/33 PCSrc 4 reslt Shift left 2 PC address Instrction Instrction register register 2 Registers register Reg 2 Src 4 operation Zero reslt ress em emtoreg 6 Sign 32 etend em
13 Formaty rozkazów przypomnienie Typ R: 6 bitów kod operacji (bity 3:26) 5 bitów nmer rejestr źródłowego, rs (bity 25:2) 5 bitów nmer rejestr źródłowego 2, rt (bity 2:6) 5 bitów nmer rejestr wynikowego, rd (bity 5:) 5 bitów shamt (my je ignorjemy) 6 bitów rodzaj operacji, fnkcja (bity 5:) Typ I, lw, sw: 6 bitów kod operacji (bity 3:26) 5 bitów nmer rejestr bazowego adres (bity 25:2) 5 bitów nmer rejestr (źródłowego dla sw, wynikowego dla lw (bity 2:6) 6 bitów stała (bity 5:) Typ I, beq: jak wyżej, oba nmery rejestów to rejestry źródłowe do porównania. p. 3/33
14 p. 4/33 PCSrc 4 reslt Reg Shift left 2 PC address Instrction [25:2] register Instrction [2:6] Src register 2 Zero Instrction [3:] 2 reslt Instrction Instrction [5:] register Registers RegDst em ress emtoreg Instrction [5:] 6 Sign 32 etend control em Instrction [5:] Op
15 p. 5/33 Sterowanie Na podstawie bitów 3:26 (kod operacji) generowane sa odpowiednie sygnały sterjace (prosty kład kombinacyjny) Sygnał Op jest dwbitowy: lw lb sw (dodawaj), - beq (odejmj), - typ R Rodzaj operacji dla przy kodzie dospecyfikowywany przez bity fnkcyjne 5:
16 p. 6/33 Pełny kład (ale jeszcze bez skok j) 4 reslt Instrction [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PC address Instrction [25 2] register Instrction [2 6] register 2 Zero Instrction [3 ] 2 reslt Instrction Instrction [5 ] register Registers ress Instrction [5 ] 6 Sign 32 etend control Instrction [5 ]
17 p. 7/33 add $t, $t, $t2 4 reslt Instrction [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PC address Instrction [25 2] register Instrction [2 6] register 2 Zero Instrction [3 ] 2 reslt Instrction Instrction [5 ] register Registers ress Instrction [5 ] 6 Sign 32 etend control Instrction [5 ]
18 p. 8/33 lw $t, 8($t2) 4 reslt Instrction [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PC address Instrction [25 2] register Instrction [2 6] register 2 Zero Instrction [3 ] 2 reslt Instrction Instrction [5 ] register Registers ress Instrction [5 ] 6 Sign 32 etend control Instrction [5 ]
19 p. 9/33 beq $t, $t, 8 4 reslt Instrction [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PC address Instrction [3 ] Instrction Instrction [25 2] Instrction [2 6] Instrction [5 ] register register 2 register 2 Registers Zero reslt ress Instrction [5 ] 6 Sign 32 etend control Instrction [5 ]
20 p. 2/33 Dodajemy skok bezwarnkowy 4 Instrction [25 ] Shift Jmp address [3 ] left PC + 4 [3 28] reslt Instrction [3 26] Control RegDst Jmp Branch em emtoreg Op em Src Reg Shift left 2 PC address Instrction [3 ] Instrction Instrction [25 2] Instrction [2 6] Instrction [5 ] register register 2 register 2 Registers Zero reslt ress Instrction [5 ] 6 Sign 32 etend control Instrction [5 ]
21 p. 2/33 Wady i zalety implementacji jednocyklowej Przedstawiona implementacja nie jest żywana w praktyce Konieczność dplikacji sprzęt dodatkowe smatory Cykl zegarowy dopasowany do najwolniejszego rozkaz (operacje na pamięci) Zaleta: prostota Inne rozwiazania: zmienna dłgość cykl skomplikowane technicznie, implementacja wielocyklowa o tym za chwilę, przetwarzanie potokowe o tym za tydzień,...
22 Wady i zalety implementacji jednocyklowej Przykładowe czasy działania naszych podkładów i wykonywania rozkazów: Iem 2 ps, Reg, 2, Dem 2, Reg Rozkaz typ R: = 6 lw: = 8 sw: = 7 Skok warnkowy: = 5 Skok bezwarnkowy: = 3 Potrzebjemy zatem cykl dłgości 8 ps. Rozważmy następjacy zestaw rozkazów: 25% odczytów pamięci, % zapisów, 45% rozkazów typ R, 5% skoków warnkowych, 5% skoków bezwarnkowych Średni czas wykonania instrkcji:, , 7 +, , 5 5 +, 5 3 = 63 ps. p. 22/33
23 p. 23/33 Implementacja wielocyklowa Krótszy cykl zegarowy rozkazy dzielone na fazy (kroki), każda faza jeden cykl. Rozkazy moga mieć różne liczby faz. Jedna (bez żadnych dodatkowych smatorów). Wspólna pamięć program i danych. Kilka dodatkowych rejestrów przechowjacych dane potrzebne w kolejnych fazach PC ress Instrction register A Instrction or emory emory register Register # Registers Register # Register # B Ot
24 p. 24/33 Implementacja wielocyklowa cd. Każdy z rejestrów DR, A, B, Ot przechowje dane z fazy k dla fazy k + Rejestr IR przechowje rozkaz przez wszystkie fazy jego wykonania. Dlatego tylko IR potrzebje sygnał zezwolenia na zapis. Niektóre kłady będa żywane więcej niż raz na rozkaz, dlatego msimy dodać kilka mltiplekserów (i rozszerzyć wcześniejsze) np.: mamy teraz dwa źródła adresów dla pamięci wylicza adresy skoków
25 p. 25/33 Implementacja wielocyklowa (bez skoków j) PC ress emory em Instrction [25 2] Instrction [2 6] Instrction [5 ] Instrction register Instrction [5 ] Instrction [5 ] register register 2 Registers register 2 A B Zero reslt Ot emory register 6 Sign 32 etend Shift left 2
26 p. 26/33 Pełna implementacja wielocyklowa PCCond PCSorce PC ress emory em Instrction [25-] Instrction [3 26] Instrction [25 2] Instrction [2 6] Instrction [5 ] Instrction register Instrction [5 ] emory register PC IorD em em emtoreg IR Otpts Control Op [5 ] Instrction [5 ] Op SrcB SrcA Reg RegDst register register 2 Registers register 6 Sign 32 etend 2 A B Shift left Shift 28 left PC [3 28] Zero reslt control Jmp address [3 ] Ot 2 Instrction [5 ]
27 p. 27/33 F - Pobranie rozkaz IR <= emory[pc] PC <= PC + 4 Powyższe operacje moga wykonywać się równolegle. Sygnały sterjace: em - IR - IorD - SrcA - (PC) SrcB - (stała 4) Op (dodawanie) PCSorce PC
28 p. 28/33 F2 - Dekodowanie oraz odczyt rejestrów A <= Reg[IR[25:2]] B <= Reg[IR[2:6]] Ot <= PC + (sign-etend (IR[5-] «2) Powyższe operacje wykonjemy przy każdej instrkcji - niezależnie od kod operacji. Zaważmy, że nawet jeśli konkretna instrkcja tego nie wymaga, to wykonane operacje w niczym nie zaszkodza. Sygnały sterjace: SrcA - (PC) SrcB - (przesnięta i rozszerzona stała z rozkaz) Op - (dodawanie)
29 p. 29/33 F3 - Wykonanie, obliczenie adres lb skok Pierwszy cykl, który zależy od kod operacji. wykonje jedna z czterech możliwych akcji (na danych przygotowanych w poprzednich cyklach): Obliczenie adres: Ot <= A + sign-etend (IR[5:]) SrcA -, SrcB -, Op - (dodawanie) Operacja arytmetyczno-logiczna (typ R): Ot <= A op B SrcA -, SrcB -, Op - (decydje pole fnk.) Skok warnkowy: if (A==B) PC <=Ot SrcA -, SrcB -, Op - (odejmowanie), PCCond -, PCSorce - Skok: PC <= konkatenacja(pc[3:28], IR[25:], ) PC -, PCSorce -
30 p. 3/33 F4 - Dostęp do pamięci lb dokończenie R- rozkaz Dostęp do pamięci: DR <= emory [Ot] lb emory [Ot] <= B em lb em -, IorD - Dokończenie rozkaz arytmetyczno-logicznego: Reg[IR[5-]] <= ot RegDst -, Reg -, emtoreg -,
31 p. 3/33 F5 - Dokończenie odczyt pamięci Reg[IR[2-6]] <= DR RegDst -, Reg -, emtoreg -,
32 p. 32/33 Jednosta sterjąca Tym razem jednostaka sterjaca będzie kładem sekwencyjnym, dokładniej atomatem oore a. Wejście kod operacji, stany to fazy, wyjścia sygnały sterjace. Start Instrction fetch em SrcA = IorD = IR SrcB = Op = PC PCSorce = Instrction decode/ Register fetch SrcA = SrcB = Op = (Op = 'LW') or (Op = 'SW') (Op = R-type) (Op = 'BEQ') (Op = 'J') emory-reference FS (Figre 5.33) R-type FS (Figre 5.34) Branch FS (Figre 5.35) Jmp FS (Figre 5.36)
33 p. 33/33 Start Instrction fetch em SrcA = IorD = IR SrcB = Op = PC PCSorce = Instrction decode/ register fetch SrcA = SrcB = Op = (Op = 'LW') or (Op = 'SW') (Op = R-type) (Op = 'BEQ') (Op = 'J') 2 emory address comptation SrcA = SrcB = Op = 6 Eection SrcA = SrcB = Op = 8 Branch completion SrcA = SrcB = Op = PCCond PCSorce = 9 Jmp completion PC PCSorce = 3 (Op = 'LW') emory access (Op = 'SW') emory access 5 7 R-type completion em IorD = em IorD = RegDst = Reg emtoreg = 4 emory read completon step RegDst = Reg emtoreg =
4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/2012 2 / 27
ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP. c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Założenia konstrkcyjne Układ pobierania instrkcji Układ przygotowania
Bardziej szczegółowo4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.02 Rok akad. 2011/ / 35
ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP.2 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Procesor IPS R3 Potokowe wykonywanie instrkcji Konflikty
Bardziej szczegółowoArchitektura typu multi cycle
PC ux ress Write data emdata [3-26] [25-2] [2-6] [5-] register [5-] Cond IorD em emwrite emtoreg IRWrite [25-] [5-] Outputs Control Op [5-] ux ux PCSource Op SrcB Src RegWrite RegDst register register
Bardziej szczegółowoPrzetwarzanie potokowe
p. 1/3 Przetwarzanie potokowe (pipelining) p. 2/3 Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address Instrction Instrction ister # isters Address ister # ister # p. 3/3 Wstęp W implementacjach
Bardziej szczegółowoArchitektura typu Single-Cycle
Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć
Bardziej szczegółowoPrzetwarzanie potokowe pipelining
Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień
Bardziej szczegółowoArchitektura systemów komputerowych. Porównanie architektury jednycyklowej i wielocyklowej Zmiany w ścieŝce danych Cykle
rchitektra systeów kopterowych rchitektra wielocyklowa Mlticycle Cezary olek Katedra Inforatyki Plan wykład Porównanie architektry jednycyklowej i wielocyklowej Ziany w ścieŝce danych Cykle. Pobór instrkcji.
Bardziej szczegółowoLista Rozkazów: Język komputera
Lista Rozkazów: Język komputera Większość slajdów do tego wykładu to tłumaczenia i przeróbki oficjalnych sladjów do podręcznika Pattersona i Hennessy ego Lista rozkazów Zestaw rozkazów wykonywanych przez
Bardziej szczegółowoArchitektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 6: Budowa jednostki centralnej - CPU Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Procesor jednocyklowy Procesor
Bardziej szczegółowoorganizacja procesora 8086
Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala
Bardziej szczegółowoArchitektura potokowa RISC
Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania
Bardziej szczegółowoOrganizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Bardziej szczegółowo. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A
Symulator Escape Konfiguracja ogólna Enable MUL and DIV Complete Set of Comp.Oper Sign Extension of B/H/W Memory Oper on B/H/W Program Program Dane Dane Załaduj konfigurację symulatora (File -> OpenFile)
Bardziej szczegółowoArchitektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt
Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu
Bardziej szczegółowoArchitektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania
Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia
Bardziej szczegółowoLEKCJA TEMAT: Współczesne procesory.
LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić
Bardziej szczegółowoMOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje
Bardziej szczegółowoProgramowalne układy logiczne
Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów
Bardziej szczegółowoStruktura 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
Bardziej szczegółowoLogiczny 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.
Bardziej szczegółowoArchitektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące
Architektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Plan wykładu Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka
Bardziej szczegółowodr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL
Architektura komputerów wprowadzenie materiał do wykładu 3/3 dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych
Bardziej szczegółowoProjekt prostego procesora
Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego
Bardziej szczegółowoBudowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Bardziej szczegółowoUTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Bardziej szczegółowoProgramowanie Mikrokontrolerów
Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:
Bardziej szczegółowoWstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer
Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny
Bardziej szczegółowoarchitektura komputerów w. 4 Realizacja sterowania
architektura komputerów w. 4 Realizacja sterowania Model komputera CPU Jednostka sterująca Program umieszczony wraz z danymi w pamięci jest wykonywany przez CPU program wykonywany jest sekwencyjnie, zmiana
Bardziej szczegółowoPodstawy Techniki Mikroprocesorowej
Podstawy Techniki Mikroprocesorowej Architektury mikroprocesorów Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.
Bardziej szczegółowoProjektowanie. Projektowanie mikroprocesorów
WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna
Bardziej szczegółowoWyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780
Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą
Bardziej szczegółowoArchitektura mikroprocesorów z rdzeniem ColdFire
Architektura mikroprocesorów z rdzeniem ColdFire 1 Rodzina procesorów z rdzeniem ColdFire Rdzeń ColdFire V1: uproszczona wersja rdzenia ColdFire V2. Tryby adresowania, rozkazy procesora oraz operacje MAC/EMAC/DIV
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoUkład sterowania, magistrale i organizacja pamięci. Dariusz Chaberski
Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy
Bardziej szczegółowoBudowa komputera Komputer computer computare
11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału
Bardziej szczegółowoPlan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.
Plan wykładu rchitektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka sekwencyjna
Bardziej szczegółowoLEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Bardziej szczegółowoWstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)
Wstęp doinformatyki Architektura co to jest? Architektura Model komputera Dr inż Ignacy Pardyka Slajd 1 Slajd 2 Od układów logicznych do CPU Automat skończony Slajd 3 Slajd 4 Ile jest automatów skończonych?
Bardziej szczegółowoWstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Bardziej szczegółowoMagistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
Bardziej szczegółowoMetody optymalizacji soft-procesorów NIOS
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoArchitektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 7: Potokowe jednostki wykonawcze Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Budowa potoku Problemy synchronizacji
Bardziej szczegółowoPlan wykładu. Architektura systemów komputerowych. Cezary Bolek
Architektura systemów komputerowych Poziom układów logicznych. Układy sekwencyjne Cezary Bolek Katedra Informatyki Plan wykładu Układy sekwencyjne Synchroniczność, asynchroniczność Zatrzaski Przerzutniki
Bardziej szczegółowoArchitektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna
Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,
Bardziej szczegółowoArchitektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Bardziej szczegółowoMateriały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18
Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18 ZADANIE 1 Komparator szeregowy 2 liczb Specyfikacja wymagań dla układu
Bardziej szczegółowoPodstawy Informatyki Układ sterujący
- wersja szyta - wersja mikroprogramowana Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi - wersja szyta - wersja mikroprogramowana Plan wykładu 1 Maszyna W Lista rozkazów maszyny
Bardziej szczegółowoWitold Komorowski: RISC. Witold Komorowski, dr inż.
Witold Komorowski, dr inż. Koncepcja RISC i przetwarzanie potokowe RISC koncepcja architektury i organizacji komputera Aspekty opisu komputera Architektura Jak się zachowuje? Organizacja Jak działa? Realizacja
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz
Bardziej szczegółowoJerzy Nawrocki, Wprowadzenie do informatyki
Magistrala systemowa Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Asembler i koncepcja von Neumanna Wprowadzenie do programowania na
Bardziej szczegółowoTechnika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach
mikrokontrolery mikroprocesory Technika mikroprocesorowa Linia rozwojowa procesorów firmy Intel w latach 1970-2000 W krótkim pionierskim okresie firma Intel produkowała tylko mikroprocesory. W okresie
Bardziej szczegółowoAlgorytm mnożenia sekwencyjnego (wariant 1)
Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Algorytm mnożenia sekwencyjnego (wariant 1) //Poczynając z mniej znaczących bitów mnożnika, przesuwamy formowany //rezultat w stronę
Bardziej szczegółowoArchitektura systemów komputerowych. Przetwarzanie potokowe I
Architektura systemów komputerowych Plan wykładu. Praca potokowa. 2. Projekt P koncepcja potoku: 2.. model ścieżki danych 2.2. rejestry w potoku, 2.3. wykonanie instrukcji, 2.3. program w potoku. Cele
Bardziej szczegółowoPodstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin
Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji zdolny do wykonywania
Bardziej szczegółowoUKŁADY MIKROPROGRAMOWALNE
UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim
Bardziej szczegółowoArchitektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej
Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej Konflikty w przetwarzaniu potokowym Konflikt danych Data Hazard Wstrzymywanie kolejki Pipeline Stall Optymalizacja kodu (metody programowe)
Bardziej szczegółowoProgramowanie w asemblerze MIPSa
p. 1/28 Programowanie w asemblerze MIPSa (ciąg dalszy) p. 2/28 Przypomnienie Trzy poziomy języka: Język maszynowy - kody operacji, wszystkie adresy, numery rejestrów i stałe zakodowane za pomoca zer i
Bardziej szczegółowoKomputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji
Komputer Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji Budowa komputera Drukarka (printer) Monitor ekranowy skaner Jednostka
Bardziej szczegółowoProcedury. int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; } return product; }
main() { int i,j,k,m;... i = mult(j,k);... m = mult(i,i);... Procedury int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; return product;
Bardziej szczegółowoWstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne
Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne Schemat ogólny X Y Układ kombinacyjny S Z Pamięć Zegar Działanie układu Zmiany wartości wektora S możliwe tylko w dyskretnych chwilach czasowych
Bardziej szczegółowoPrzykładowe pytania DSP 1
Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..
Bardziej szczegółowoArchitektura komputerów Wykład 2
Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana
Bardziej szczegółowoProgramowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 3: Architektura procesorów x86 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Pojęcia ogólne Budowa mikrokomputera Cykl
Bardziej szczegółowoPodstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...
Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8
Bardziej szczegółowoBramki logiczne Podstawowe składniki wszystkich układów logicznych
Układy logiczne Bramki logiczne A B A B AND NAND A B A B OR NOR A NOT A B A B XOR NXOR A NOT A B AND NAND A B OR NOR A B XOR NXOR Podstawowe składniki wszystkich układów logicznych 2 Podstawowe tożsamości
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 5 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) c.d. 2 Architektura CPU Jednostka arytmetyczno-logiczna (ALU) Rejestry Układ sterujący przebiegiem programu
Bardziej szczegółowoArchitektura 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ę
Bardziej szczegółowoProjektowanie Scalonych Systemów Wbudowanych VERILOG
Projektowanie Scalonych Systemów Wbudowanych VERILOG OPIS BEHAWIORALNY proces Proces wątek sterowania lub przetwarzania danych, niezależny w sensie czasu wykonania, ale komunikujący się z innymi procesami.
Bardziej szczegółowoĆwiczenie 01 - Strona nr 1 ĆWICZENIE 01
ĆWICZENIE 01 Ćwiczenie 01 - Strona nr 1 Polecenie: Bez użycia narzędzi elektronicznych oraz informatycznych, wykonaj konwersje liczb z jednego systemu liczbowego (BIN, OCT, DEC, HEX) do drugiego systemu
Bardziej szczegółowoRozszerzalne kody operacji (przykład)
Tryby adresowania natychmiastowy (ang. immediate) bezpośredni (ang. direct) pośredni (ang. indirect) rejestrowy (ang. register) rejestrowy pośredni (ang. register indirect) z przesunieciem (indeksowanie)
Bardziej szczegółowoWydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 8 Implementacja prostego
Bardziej szczegółowoPodział sumatorów. Równoległe: Szeregowe (układy sekwencyjne) Z przeniesieniem szeregowym Z przeniesieniem równoległym. Zwykłe Akumulujące
Podział sumatorów Równoległe: Z przeniesieniem szeregowym Z przeniesieniem równoległym Szeregowe (układy sekwencyjne) Zwykłe Akumulujące 1 Sumator z przeniesieniami równoległymi G i - Warunek generacji
Bardziej szczegółowomgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group
Użycie złącza JTAG w systemach mikroprocesorowych do testowania integralności połączeń systemu oraz oprogramowania zainstalowanego w pamięciach stałych. JTAG Joint Test Action Group mgr inż. Tadeusz Andrzejewski
Bardziej szczegółowo1 Zarys architektury MIPS
1 Zarys architektury MIPS Procesory rmy MIPS Technologies u»ywane s w komputerach (Silicon Graphics), skomputeryzowanych zabawkach (Nintendo, Sony) oraz w systemach wbudowanych (w jakie wyposa»one s np.
Bardziej szczegółowoUTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.
Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU wchodzą mikroprocesor oraz
Bardziej szczegółowoUkłady kombinacyjne - przypomnienie
SWB - Układy sekwencyjne - wiadomości podstawowe - wykład 4 asz 1 Układy kombinacyjne - przypomnienie W układzie kombinacyjnym wyjście zależy tylko od wejść, SWB - Układy sekwencyjne - wiadomości podstawowe
Bardziej szczegółowoPAMIĘCI. Część 1. Przygotował: Ryszard Kijanka
PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,
Bardziej szczegółowo1 Ogolnie o asemblerach. 2 Zarys architektury MIPS
1 Ogolnie o asemblerach Kod zerojedynkowy jakim posªuguje si komputer jest niewygodny dla czªowieka. Pomysª: wprowadzenie symbolicznych nazw instrukcji, odzieli pola argumentów. Wci» jest niewygodnie,
Bardziej szczegółowoMikroinformatyka. 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
Bardziej szczegółowoCPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki
Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest urządzeniem, którego działanie opiera się na wykonywaniu przez procesor instrukcji pobieranych z pamięci operacyjnej
Bardziej szczegółowoRejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika
Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.
Bardziej szczegółowoArchitektura systemów komputerowych
Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych Architektura systemów komputerowych dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat
Bardziej szczegółowoWprowadzenie do informatyki ćwiczenia
Podstawowe działania na liczbach binarnych dr inż. Izabela Szczęch WSNHiD 2010/2011 Ćwiczenia z wprowadzenia do informatyki Dodawanie Odejmowanie Mnoż enie Dzielenie Plan zajęć 2 Izabela Szczęch 1 Dodawanie
Bardziej szczegółowoMikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Bardziej szczegółowoArchitektura komputerów, Informatyka, sem.iii. Sumatory
Sumatory Architektury sumatorów (zarys) Sumatory 1-bitowe Sumatory z propagacją Przeniesień CPA (Carry Propagate Adders) Sumatory wieloargumentowe 3-argumentowe Half Adder HA Macierz sumatorów RCA Full
Bardziej szczegółowoArchitektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych 1 dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat blokowy CPU 4. Architektura CISC i RISC 2 Jednostka arytmetyczno-logiczna 3 Schemat blokowy
Bardziej szczegółowoAdresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.
W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu. Wada: rozmiar argumentu ograniczony do rozmiaru pola adresowego Adresowanie bezpośrednie jest najbardziej podstawowym
Bardziej szczegółowoArchitektura systemów komputerowych. Moduł kontrolera
Architektura systemów komputerowych Plan wykładu. Implementacja kontrolera. 2. Projekt P kontroler. 3. Projekt P synteza kontrolera. Cele Znajomość architektury oraz technik projektowania mikroprocesorów.
Bardziej szczegółowoPodstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel
Podstawy techniki mikroprocesorowej Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel. 071 3203746 grzegorz.kosobudzki@pwr.wroc.pl 2 Terminy zajęć Wykłady: niedziela 7.30 12.00 s.312 Kolokwium przedostatnie
Bardziej szczegółowodrklaus 1 Model funkcjonalny komputera struktura, funkcje, komputer dr inż. Rafał KLAUS STRUKTURA I DZIAŁANIE KOMPUTERA
Szablon wykładu należy uzupełnić podczas spotkania z wykładowcą STRUKTURA I DZIAŁANIE KOMPUTERA dr inż. Rafał Klaus Instytut Informatyki Politechnika Poznańska rafal.klaus@cs.put.poznan.pl www.cs.put.poznan.pl/rklaus
Bardziej szczegółowoPrzetwarzanie instrukcji w mikroprocesorach
Przetwarzanie instrukcji w mikroprocesorach Przetwarzanie sekwencyjne Przetwarzanie sekwencyjne ang. Sequential tradycyjna technika przetwarzania instrukcji w mikroprocesorach; polega na ściśle określonym
Bardziej szczegółowoPOLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Opiekun naukowy: dr
Bardziej szczegółowoMikrooperacje. Mikrooperacje arytmetyczne
Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Mikrooperacje Mikrooperacja to elementarna operacja wykonywana podczas jednego taktu zegara mikroprocesora na informacji przechowywanej
Bardziej szczegółowoProgramowanie mikrokontrolerów. 8 listopada 2007
Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik
Bardziej szczegółowoProcesory 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
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoPC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"
PC 3 PC^ TIMER IN RESET PC5 TIMER OUT 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 AD7 U ss c 3 L 5 c.* Cl* S 9 10 11 12 13 U 15 H 17 Cu C-" ln LTJ CO 2.12. Wielofunkcyjne układy współpracujące z mikroprocesorem
Bardziej szczegółowoSYSTEM MIKROPROCESOROWY
SYSTEM MIKROPROCESOROWY CPU ROM RAM I/O AB DB CB Rys 4.1. System mikroprocesorowy MIKROPROCESOR RDZEŃ MIKROPROCESORA PODSTAWOWE ZESPOŁY FUNKCJONALNE MIKROPROCESORA Mikroprocesor zawiera następujące, podstawowe
Bardziej szczegółowo