06 grudnia 2010

Pamięci RAM - budowa i informacje ogólne cz.2

Pamięci RAM - budowa i informacje ogólne cz.2


Autorem artykułu jest RatujPC




W dzisiejszych czasach pamięć RAM realizowana jest sprzętowo, w postaci układów scalonych, które występują w różnych technologiach, także jako fragmenty znacznie bardziej złożonych układów scalonych, na przykład pamięć podręczna procesora.

Pamięci RAM z jakimi mamy najczęściej do czynienia znajdują swe największe zastosowanie w komputerach osobistych.


Pamięć RAM jest wykorzystywana do operacji ciągłego zapisu danych w postaci bajtu lub słowa, do tymczasowego zapamiętywania oraz odczytu informacji. Znając podstawy teorii automatów wiadomo, że każda czynność zapamiętywania pociąga za sobą stosowanie odpowiednich układów sekwencyjnych, w których informacje tego typu mogą być zapisywane, bądź odczytywane zgodnie z określoną kolejnością. Dostęp do danej komórki pamięci zależy od miejsca w którym się ona znajduje oraz czasu, który mija przed rozpoczęciem operacji zapisu lub odczytu.


Podział pamięci RAM


Rozróżniamy dwa podstawowe rodzaje pamięci RAM:


Pamięci statyczne - SRAM. Elementem pamiętającym w tego typu pamięci jest bistabilny przerzutnik asynchroniczny typu RS. Komórki wykonywane były dawniej w technologii bipolarnej, obecnie stosuje się specjalne układy MOS. Informacja w tych pamięciach jest utrzymywana dopóty, dopóki nie zostanie zastąpiona inną lub napięcie zasilające nie zostanie odłączone.Pamięci dynamiczne - DRAM. Elementem pamiętającym w tego typu pamięciach są pojemności wejściowe tranzystorów typu MOS, które gromadzą ładunek, lub go odprowadzają. Istnieje konieczność odświeżania tego typu pamięci w celu uzupełniania ładunku, który dosyć szybko zanika. Do poprawnej pracy tej pamięci nie wystarczy więc tylko podłączenie go do zasilania, w przypadku braku częstych cykli zapisu lub odczytu, zawartość komórki zostałaby stracona.


Pamięci DRAM możemy dodatkowo podzielić na kilka podtypów, w zależności od implementacji na:


EDO DRAM - Extended Data Out DRAMFPM DRAM - Fast Page Mode DRAMSDRAM - Synchroneus DRAMDDRGDDR


W pamięciach RAM poszczególne komórki są ułożone w wybierane liniami adresu wejściowego słowa. Dla łatwiejszego wyobrażenia sobie struktury pamięci, przedstawmy ją jako dwuwymiarową matrycę, która składa się z n słów zawierających m bitów, dodatkowo podzieloną na obszary robocze zwane strefami.


Dekodery wejścia oraz wyjścia kooperują z równoległymi rejestrami pamiętającymi przychodzące dane, ponieważ operacja odczytu i zapisu do pamięci trwa zwykle przez sporą ilość cykli zegarowych. Zawartości linii adresowej i danych mogą się w tym momencie zmienić, dzięki użyciu rejestrów o odpowiednich długościach, żadna z informacji nie jest tracona. Serwis komputerowy ma odpowiednie narzędzia ktore wykryją różnice i problemy w działaniu pamięci.


Zależnie od stanu logicznego na wejściu R/W komórki pamięciowe przyjmują informację z rejestru danych, następuje wtedy cykl zapisu pamięci, albo wyprowadzają na rejestr danych zawartość komórki pamięci, w cyklu odczytu. Rejestr przekazuje dalej informację lub ją odbiera z szyny danych, stanowi on zatem bufor dwukierunkowy.


---

Naprawa Komputera



Artykuł pochodzi z serwisu www.Artelis.pl

Pamięci RAM - pamięci DRAM

Pamięci RAM - pamięci DRAM


Autorem artykułu jest RatujPC




Informacje przechowywane są w pamięci DRAM, pod postacią ładunku zgromadzonego przez kondensator Cs. Na skutek rozładowania kondensatora, ustala na nim napięcie odpowiadające logicznemu zeru, natomiast poprzez proces ładowania, ustalone napięcie odpowiada jedynce logicznej.

Charakterystyka pamięci DRAM


Organizując adres jak na rysunku, komórka posiada wejście adresowe W dla wierszy, oraz pojedynczą linię danych wspólną dla komórek o adresie określanym przez kolumnę B. Wspólny dla kolumny adresowej B jest wzmacniacz odczytu. Po wybraniu komórki, na wejściach adresowych B oraz W ustala się stan wysoki, a pojemność Cs jest dołączana do linii danych. Podczas zapisu doprowadzane jest do niej napięcie ze wzmacniacza zapisu, które odpowiada logicznej jedynce lub zeru. Po fazie odczytu ładunek znajdujący się w pojemności Cs stopniowo ładuje dużo większą pojemność Cb, na którą składa się dodatkowo pojemność drenu, dlatego napięcie odczytu powinno być dużo wyższe od napięcia na kondensatorze Cs. Odczyt powinien być wzmacniany dobrym układem uzupełnionym o elementy odświeżające pamięć, które będą odświeżały poszczególne kolumny niezależnie od wykonywanego cyklu. Innym rozwiązaniem jest zastosowanie wielotranzystorowych komórek pamięciowych z dużo prostszym układem odświeżania oraz prostym wzmacniaczem odczytu/zapisu.


Typowa struktura pamięci dynamicznej, posiadającej pojemność 64 kilobitów, przedstawia się jako matryca zbudowana z 256 wierszy oraz 256 kolumn. Aby zmniejszyć liczbę wyprowadzeń pamięci dynamicznej oraz ułatwić jej odświeżanie, należy multipleksować wejścia adresowe. Adresowanie pamięci polega na podaniu ośmiu ważniejszych bitów adresu, co stanowi adres wiersza, następnie podawane są wartości ośmiu młodszych bitów, stanowiących adres kolumny. Adres wiersza wpisywany jest do rejestru wiersza przy opadającym zboczu sygnału ~RAS. Następnie dekoder adresu, którym jest zwykły multiplekser wybiera odpowiadający żądanemu adresowi wiersz. Podobnie adres kolumny wpisywany jest z wejść do rejestru kolumny po stwierdzeniu opadającego zbocza sygnału CAS. Demultiplekser wybiera odpowiednią kolumnę o żądanym adresie. Wybranie wiersza oraz kolumny w matrycy pamięciowej odpowiada wskazaniu jednej konkretnej komórki pamięci, przy zaoszczędzeniu połowy wyprowadzeń. Jeżeli podczas operacji wskazania adresu, na pinie WE był stan logicznego 0, to zawartość komórki przesyłana jest na wyjście układu, ma wtedy miejsce operacja odczytu. Gdy WE = 1 następuje zapis wejściowej informacji do komórki o podanym adresie.


---

Suknie Ślubne Katowice



Artykuł pochodzi z serwisu www.Artelis.pl

Pamięć komputerowa - pamięc cache, rejestratory i wiele innych

Pamięć komputerowa - pamięc cache, rejestratory i wiele innych


Autorem artykułu jest RatujPC




Pamięć komputerowa to różnego rodzaju urządzenia i bloki funkcjonalne komputera, służące do przechowywania danych i programów (systemu operacyjnego oraz aplikacji). Potocznie przez "pamięć komputerową" rozumie się samą pamięć operacyjną.

Hierarchia pamięci opiera się na „oddaleniu” od procesora, gdzie odległość określa czas dostępu do danych.


Rejestry procesora to komórki pamięci o niewielkich rozmiarach (najczęściej 4/8/16/32/64/128 bitów) umieszczone wewnątrz procesora i służące do przechowywania tymczasowych wyników obliczeń, adresów lokacji w pamięci operacyjnej itd. Większość procesorów przeprowadza działania wyłącznie korzystając z wewnętrznych rejestrów, kopiując do nich dane z pamięci i po zakończeniu obliczeń odsyłając wynik do pamięci.


Rejestry procesora stanowią najwyższy szczebel w hierarchii pamięci, będąc najszybszym z rodzajów pamięci komputera, zarazem najdroższą w produkcji, a co za tym idzie - o najmniejszej pojemności. Realizowane zazwyczaj za pomocą przerzutników dwustanowych, z reguły jako tablica rejestrów (blok rejestrów, z ang. register file).


Liczba rejestrów zależy od zastosowania procesora i jest jednym z kryteriów podziału procesorów na klasy CISC i RISC. Proste mikroprocesory mają tylko jeden rejestr danych zwany akumulatorem, procesory stosowane w komputerach osobistych - kilkanaście, natomiast procesory w komputerach serwerowych mogą mieć ich kilkaset.


Cache (pamięć podręczna) to mechanizm, w którym ostatnio pobierane dane dostępne ze źródła o wysokiej latencji i niższej przepustowości są przechowywane w pamięci o lepszych parametrach.


Cache jest elementem właściwie wszystkich systemów - współczesny procesor ma 2 albo 3 poziomy pamięci cache oddzielającej go od pamięci RAM. Dostęp do dysku jest buforowany w pamięci RAM, a dokumenty HTTP są buforowane przez pośredniki HTTP oraz przez przeglądarkę.


Systemy te są tak wydajne dzięki lokalności odwołań - jeśli nastąpiło odwołanie do pewnych danych, jest duża szansa, że w najbliższej przyszłości będą one potrzebne ponownie. Niektóre systemy cache próbują przewidywać, które dane będą potrzebne i pobierają je wyprzedzając żądania. Np. cache procesora pobiera dane w pakietach po kilkadziesiąt czy też więcej bajtów, cache dysku zaś nawet do kolejnych kilkuset kilobajtów czytanego właśnie pliku.


Pamięć operacyjna (en. internal memory, Primary storage). Jest to pamięć adresowana i dostępna bezpośrednio przez procesor, a nie przez urządzenia wejścia-wyjścia procesora. W pamięci tej mogą być umieszczane rozkazy (kody operacji) procesora (program) dostępny bezpośrednio przez procesor i stąd nazwa pamięć operacyjna. W Polsce często pamięć ta jest utożsamiana z pamięcią RAM, choć jest to zawężenie pojęcia, pamięcią operacyjną jest też pamięć nieulotna (ROM, EPROM i inne jej odmiany) dostępna bezpośrednio przez procesor. Obecnie pamięci operacyjne są wyłącznie pamięciami elektronicznymi, dawniej używano pamięci ferrytowych.


W obecnych komputerach głównym rodzajem pamięci operacyjnej jest pamięć RAM, wykonana jako układy elektroniczne, wykorzystywana przez komputer do przechowywania programu i danych podczas jego pracy.


Pamięć masowa (ang. mass memory, mass storage) – pamięć trwała, przeznaczona do długotrwałego przechowywania dużej ilości danych w przeciwieństwie do pamięci RAM i ROM. Pamięć masowa zapisywana jest na zewnętrznych nośnikach informacji. Nośniki informacji zapisywane i odczytywane są w urządzeniach zwanych napędami.


Nośniki magnetyczne:


dyski stałe - pamięć o dostępie bezpośrednim; nośniki danych zainstalowane w macierzach dyskowychtaśmy magnetyczne - pamięć o dostępie sekwencyjnym zapisywana i odczytywana w napędzie taśmowym


Napędy optyczne:



CD-ROMpłyty DVDpłyty Blu-Ray Diskpłyty HD DVD


Pamięci półprzewodnikowe (pozbawione części mechanicznych), współpracujące z różnymi złączami komunikacyjnymi:



pamięci USB.karty pamięci


Pamięć offline tworzą dane, które są składowane na nośniku poza serwerem. Najbardziej popularnymi pamięciami offline są nośniki taśm i nośniki optyczne. Chociaż nośniki optyczne stają się coraz bardziej popularne, to nośniki taśm są stosowane najczęściej. Inną opcją, której można używać, są wirtualne nośniki optyczne. Wirtualnych nośników optycznych można używać do składowania obrazów wirtualnych na jednostkach dyskowych. Następnie obrazy takie można kopiować na dyski CD lub DVD albo rozpowszechniać je przez sieć.



---

Pomoc Drogowa Katowice



Artykuł pochodzi z serwisu www.Artelis.pl

04 grudnia 2010

Pamięci RAM - przerwanie

Pamięci RAM- przerwanie


Autorem artykułu jest RatujPC




Przerwanie (ang. interrupt) lub żądanie przerwania (IRQ – Interrupt ReQuest) – sygnał powodujący zmianę przepływu sterowania, niezależnie od aktualnie wykonywanego programu.

Pojawienie się przerwania powoduje wstrzymanie aktualnie wykonywanego programu i wykonanie przez procesor kodu procedury obsługi przerwania (ang. interrupt handler).



Przerwania dzielą się na dwie grupy:


Sprzętowe: Zewnętrzne – sygnał przerwania pochodzi z zewnętrznego układu obsługującego przerwania sprzętowe; przerwania te służą do komunikacji z urządzeniami zewnętrznymi, np. z klawiaturą, napędami dysków itp.Wewnętrzne, nazywane wyjątkami (ang. exceptions) – zgłaszane przez procesor dla sygnalizowania sytuacji wyjątkowych (np. dzielenie przez zero); dzielą się na trzy grupy: faults (niepowodzenie) – sytuacje, w których aktualnie wykonywana instrukcja powoduje błąd; gdy procesor powraca do wykonywania przerwanego kodu wykonuje tę samą instrukcję która wywołała wyjątek;traps (pułapki) – sytuacja, która nie jest błędem, jej wystąpienie ma na celu wykonanie określonego kodu; wykorzystywane przede wszystkim w debugerach; gdy procesor powraca do wykonywania przerwanego kodu, wykonuje następną, po tej która wywołała wyjątek, instrukcję;aborts – błędy, których nie można naprawić. Programowe – z kodu programu wywoływana jest procedura obsługi przerwania; najczęściej wykorzystywane do komunikacji z systemem operacyjnym, który w procedurze obsługi przerwania (np. w DOS 21h, 2fh, Windows 2fh, Linux x86 przerwanie 80h) umieszcza kod wywołujący odpowiednie funkcje systemowe w zależności od zawartości rejestrów ustawionych przez program wywołujący, lub oprogramowaniem wbudowanym jak procedury BIOS lub firmware.



W następnym artykule trochę więcej w temacie.


---

Obsługa Informatyczna



Artykuł pochodzi z serwisu www.Artelis.pl

03 grudnia 2010

Pamięć podręczna CACHE - informacje

Pamięć podręczna CACHE- informacje


Autorem artykułu jest RatujPC




fektywność stosowania cache zależy w znacznej mierze od sposobu ułożenia kodu programów i danych pobieranych z pamięci przez mikroprocesory. Zwykle kod i dane nie są "porozrzucane" przypadkowo po całej dostępnej przestrzeni adresowej w pamięci RAM.

Większość odwołań do pamięci w trakcie wykonywania programu odbywa się przez pewien czas pracy mikroprocesora w wąskim obszarze. Zjawisko to jest określane mianem lokalności odniesień.


Lokalność odniesień można uzasadnić intuicyjnie w następujący sposób:


Z wyjątkiem rozkazów skoku i wywołania procedury, realizacja programów ma charakter sekwencyjny. Tak więc, w większości przypadków następny rozkaz przewidziany do pobrania z pamięci następuje bezpośrednio po ostatnio pobranym rozkazie. Rzadkością jest występowanie w programach długich, nieprzerwanych sekwencji wywołań procedury (procedura wywołuje procedurę itd.), a potem długiej sekwencji powrotów z procedur. Wymagałoby to ciągłego odwoływania się do oddalonych od siebie obszarów pamięci głównej, zawierających kody poszczególnych procedur. Większość pętli (konstrukcji bardzo często występujących w programach) składa się z małej liczby wielokrotnie powtarzanych rozkazów. Podczas iteracji następuje kolejne powtarzanie zwartej części programu. W wielu programach znaczna część obliczeń obejmuje przetwarzanie struktur danych, takich jak tablice lub szeregi rekordów ułożone kolejno w pamięci operacyjnej. Tak, więc procesor pobiera dane zapisane w sposób uporządkowany w małym jej fragmencie.


Oczywiście w długim czasie wykonywania programu procesor potrzebuje dane rozmieszczone w różnych odległych miejscach pamięci. Zwykle jednak, po wykonaniu skoku następne odniesienia odbywają się już lokalnie. Przepisanie bloku kolejnych komórek pamięci do szybkiego układu cache może, więc skutecznie przyspieszyć dostęp do pamięci.



W stosowanych obecnie rozwiązaniach można wyróżnić następujące poziomy pamięci podręcznej.


L1 - (level 1) zintegrowana z procesorem - umieszczona wewnątrz jego struktury. L2 - (level 2) umieszczona w jednej obudowie układu scalonego mikroprocesora lub na wspólnej płytce hybrydowej (Pentium II). L3 - (level 3) występuje w bezpośrednim sąsiedztwie procesora ITANIUM.


Pamięć podręczna najniższego poziomu (L1 – Level 1) jest stosunkowo mała, ale dane w niej zgromadzone są szybko dostępne dla procesora. W wypadku braku potrzebnych w danym momencie danych (braku trafienia), następuje odwołanie do pamięci kolejnych, wyższych poziomów. Po ich odczycie następuje przepisanie do niższych poziomów, tak by były szybciej dostępne w kolejnych odwołaniach. Jeśli dane nie są aktualnie buforowane w cache, następuje odczyt bloku pamięci głównej RAM, który je zawiera i wymiana zawartości cache. Pamięci niższych poziomów mogą mieć mniejszą pojemność i być bardziej efektywne. Procesor może szybko odczytywać mniejsze porcje danych w jednym cyklu zegara. Wyższe poziomy cache mają większe pojemności, dzięki czemu odwołania do RAM mogą odbywać się rzadziej. Można też w jednym odczycie przepisać większą porcję danych z RAM.


Ważnym zagadnieniem, jest podział pamięci podręcznej na oddzielny blok dla kodu programu i oddzielny blok dla danych. W taki sposób jest podzielona pamięć poziomu L1 procesora ITANIUM - Pamięć cache poziomów L2 i L3 jest już wspólna dla rozkazów i danych. W wielu (szczególnie starszych) procesorach wykorzystuje się również jednolitą pamięć podręczną poziomu L1. Takie rozwiązanie też posiada pewne zalety. Poniżej przedstawiono korzyści płynące z zastosowania pamięci oddzielnej i jednolitej.


Pamięć oddzielna kod i dane


Eliminowana jest rywalizacja o dostęp do pamięci między układem pobierania i dekodowania rozkazów w procesorze, a jednostką wykonującą w tym samym czasie inne, poprzednio pobrane rozkazy, które mogą wymagać odczytu pewnych zmiennych z cache. Ma to szczególne znaczenie w przypadku procesorów superskalarnych, w których kilka rozkazów jest wykonywanych równolegle. Dlatego we współczesnych procesorach poziom pamięci podręcznej L1 jest zawsze dzielony na blok danych i instrukcji.


Pamięć łączna dla kodu i danych


Poprawia się współczynnik trafień w tak zorganizowanej pamięci podręcznej, dzięki temu, że naturalnie równoważy się zapotrzebowanie na przechowywanie rozkazów i danych. Jeśli na przykład program wymaga ciągłego pobierania rozkazów i w małym stopniu korzysta z danych, dostępna pamięć podręczna zapełni się w większości rozkazami. Oddzielna cache dla danych w takiej sytuacji pozostałaby niewykorzystana. Drugą zaletą jest to, że upraszcza się układ procesora - łatwiej jest zrealizować w jego strukturze jeden bufor pamięci cache niż dwa.



---

Serwis Laptopów Katowice



Artykuł pochodzi z serwisu www.Artelis.pl