Jaki jest cel technologii komputerowej. Historia rozwoju technologii komputerowej. Klasyfikacja komputerów. Skład systemu obliczeniowego. Sprzęt i oprogramowanie. Klasyfikacja oprogramowania użytkowego i aplikacyjnego. Etapami

3. Technologia komputerowa 1

3.1 Historia rozwoju technologii komputerowej 1

3.2 Metody klasyfikacji komputerów 3

3.3 Inne rodzaje klasyfikacji komputerowej 5

3.4 Skład system komputerowy 7

3.4.1 Sprzęt 7

3.4.2 Oprogramowanie 7

3.5 Klasyfikacja wniosków oprogramowanie 9

3.6 Klasyfikacja oprogramowania użytkowego 12

3.7 Pojęcie wsparcia informacyjnego i matematycznego systemów komputerowych 13

3.8 Podsumowanie 13

  1. Inżynieria komputerowa

    1. Historia rozwoju technologii komputerowej

System komputerowy, komputer

Znalezienie środków i metod mechanizacji i automatyzacji pracy jest jednym z głównych zadań dyscyplin technicznych. Automatyzacja pracy z danymi ma swoje własne cechy i różnice w stosunku do automatyzacji innych rodzajów pracy. Do tej klasy zadań stosuje się specjalne typy urządzeń, z których większość to urządzenia elektroniczne. Nazywa się zestaw urządzeń przeznaczonych do automatycznego lub zautomatyzowanego przetwarzania danych technologia komputerowa, Nazywa się specyficzny zestaw współdziałających urządzeń i programów zaprojektowanych do obsługi jednego obszaru roboczego system komputerowy. Centralnym urządzeniem większości systemów komputerowych jest komputer.

Komputer to urządzenie elektroniczne zaprojektowane w celu automatyzacji tworzenia, przechowywania, przetwarzania i transportu danych.

Jak działa komputer

Definiując komputer jako urządzenie, wskazaliśmy cechę definiującą - elektroniczny. Jednak automatyczne obliczenia nie zawsze były wykonywane przez urządzenia elektroniczne. Znane są również urządzenia mechaniczne, które mogą wykonywać obliczenia w sposób automatyczny.

Analizując wczesną historię technologii komputerowej, niektórzy zagraniczni badacze często wymieniają mechaniczne urządzenie liczące jako starożytnego poprzednika komputera. liczydło. Podejście „z liczydła” wskazuje na głębokie nieporozumienie metodologiczne, ponieważ liczydło nie ma właściwości automatycznego wykonywania obliczeń, ale dla komputera jest to decydujące.

Liczydło to najwcześniejsze mechaniczne urządzenie liczące, pierwotnie gliniana płyta z rowkami, w których umieszczano kamienie przedstawiające liczby. Pojawienie się liczydła datuje się na czwarte tysiąclecie p.n.e. mi. Za miejsce pochodzenia uważa się Azję. W średniowieczu w Europie liczydło zastąpiono tablicami graficznymi. Wywołano obliczenia z ich wykorzystaniem licząc na liniach i w Rosji w XVI-XVII wieku pojawił się znacznie bardziej zaawansowany wynalazek, który jest używany do dziś - liczydło rosyjskie.

Jednocześnie doskonale znamy inne urządzenie, które może automatycznie wykonywać obliczenia – zegarek. Niezależnie od zasady działania, wszystkie typy zegarów (piaskowe, wodne, mechaniczne, elektryczne, elektroniczne itp.) mają możliwość generowania ruchów lub sygnałów w regularnych odstępach czasu i rejestrowania powstałych zmian, czyli wykonywania automatycznego sumowania sygnałów lub ruchy. Zasadę tę można zaobserwować nawet w zegarach słonecznych zawierających jedynie urządzenie rejestrujące (rolę generatora pełni układ Ziemia-Słońce).

Zegarek mechaniczny to urządzenie składające się z urządzenia automatycznie wykonującego ruchy w regularnych określonych odstępach czasu oraz urządzenia rejestrującego te ruchy. Miejsce pojawienia się pierwszych zegarków mechanicznych nie jest znane. Najwcześniejsze przykłady pochodzą z XIV wieku i należą do klasztorów (zegar wieżowy).

Podstawą każdego nowoczesnego komputera, a także zegarka elektronicznego jest generator zegara, generujące w regularnych odstępach czasu sygnały elektryczne, które służą do sterowania wszystkimi urządzeniami w systemie komputerowym. Sterowanie komputerem tak naprawdę sprowadza się do zarządzania dystrybucją sygnałów pomiędzy urządzeniami. Taka kontrola może odbywać się automatycznie (w tym przypadku mówimy o kontrola programu) lub ręcznie za pomocą zewnętrznych elementów sterujących - przycisków, przełączników, zworek itp. (we wczesnych modelach). We współczesnych komputerach sterowanie zewnętrzne jest w dużej mierze zautomatyzowane za pomocą specjalnych interfejsów sprzętowo-logicznych, do których podłączone są urządzenia sterujące i wprowadzające dane (klawiatura, mysz, joystick i inne). W odróżnieniu od sterowania programowego, takie sterowanie nazywa się interaktywny.

Źródła mechaniczne

Pierwsze na świecie automatyczne urządzenie do wykonywania operacji dodawania powstało na bazie mechanicznego zegarka. W 1623 roku opracował go Wilhelm Schickard, profesor na Wydziale Języków Orientalnych Uniwersytetu w Tybindze (Niemcy). Obecnie model pracy Urządzenie zostało odtworzone zgodnie z rysunkami i potwierdziło jego funkcjonalność. Sam wynalazca w swoich listach nazywał maszynę „zegarem sumującym”.

W 1642 roku francuski mechanik Blaise Pascal (1623-1662) opracował bardziej kompaktowe urządzenie sumujące, które stało się pierwszym na świecie kalkulatorem mechanicznym produkowanym masowo (głównie na potrzeby paryskich lichwiarzy i kantorów). W 1673 roku niemiecki matematyk i filozof G. W. Leibniz (1646-1717) stworzył kalkulator mechaniczny, który mógł wykonywać operacje mnożenia i dzielenia poprzez wielokrotne powtarzanie operacji dodawania i odejmowania.

W XVIII wieku, zwanym wiekiem oświecenia, pojawiły się nowe, bardziej zaawansowane modele, ale zasada mechanicznego sterowania operacjami obliczeniowymi pozostała ta sama. Pomysł programowania operacji obliczeniowych wyszedł z tej samej branży zegarkowej. Starożytny zegar na wieży klasztornej miał uruchamiać o określonej godzinie mechanizm połączony z systemem dzwonów. Takie programowanie było trudny - ta sama operacja została wykonana w tym samym czasie.

Idea elastycznego programowania urządzeń mechanicznych za pomocą perforowanej taśmy papierowej została po raz pierwszy zrealizowana w 1804 roku w krośnie żakardowym, od czego już tylko krok do kontrola programu operacje obliczeniowe.

Krok ten podjął wybitny angielski matematyk i wynalazca Charles Babbage (1792-1871) w swoim silniku analitycznym, który niestety nigdy nie został w pełni zbudowany przez wynalazcę za jego życia, ale został odtworzony w naszych czasach według jego rysunków, więc że dziś mamy prawo mówić o Silniku Analitycznym jako o naprawdę istniejącym urządzeniu. Cechą szczególną silnika analitycznego było to, że został on wdrożony jako pierwszy zasada podziału informacji na polecenia i dane. Silnik analityczny zawierał dwie duże jednostki - „magazyn” i „młyn”. Dane wprowadzano do pamięci mechanicznej „magazynu” poprzez zainstalowanie bloków przekładni, a następnie przetwarzano je w „młynie” za pomocą poleceń wprowadzanych z kart perforowanych (jak w krośnie żakardowym).

Badacze twórczości Charlesa Babbage'a z pewnością zauważają szczególną rolę hrabiny Augusty Ady Lovelace (1815-1852), córki słynnego poety Lorda Byrona, w rozwoju projektu Analytical Engine. To ona wpadła na pomysł wykorzystania kart perforowanych do programowania operacji obliczeniowych (1843). W szczególności w jednym ze swoich listów napisała: „Maszyna analityczna tka wzory algebraiczne w taki sam sposób, w jaki krosno odtwarza kwiaty i liście”. Lady Adę można słusznie nazwać pierwszą programistką na świecie. Dziś jeden z znane języki programowanie.

Idea odrębnego rozważania Charlesa Babbage’a zespoły I dane okazała się niezwykle owocna. W XX wieku rozwinęła się ona w zasadach Johna von Neumanna (1941), a dziś przy obliczaniu zasady odrębnego uwzględniania programy I dane to bardzo ważne. Jest brane pod uwagę zarówno przy opracowywaniu architektur współczesnych komputerów, jak i przy opracowywaniu programów komputerowych.

Źródła matematyczne

Jeśli pomyślimy o tym, z jakimi obiektami pracowali pierwsi mechaniczni poprzednicy współczesnego komputera elektronicznego, musimy przyznać, że liczby były reprezentowane albo w postaci liniowych ruchów mechanizmów łańcuchowych i zębatkowych, albo w postaci ruchów kątowych mechanizmów zębatych i dźwigniowych . W obu przypadkach były to ruchy, które nie mogły nie wpłynąć na wymiary urządzeń i szybkość ich działania. Dopiero przejście od rejestracji ruchów do rejestracji sygnałów umożliwiło znaczne zmniejszenie wymiarów i zwiększenie wydajności. Jednak w drodze do tego osiągnięcia konieczne było wprowadzenie kilku ważniejszych zasad i koncepcji.

Układ binarny Leibniza. W urządzeniach mechanicznych koła zębate mogą mieć całkiem sporo stałych i, co najważniejsze, różni się pomiędzy stanowią postanowienia. Liczba takich położeń jest co najmniej równa liczbie zębów przekładni. W urządzeniach elektrycznych i elektronicznych nie chodzi o rejestrację zaprowiantowanie elementów konstrukcyjnych oraz o rejestracji stwierdza elementy urządzenia. Tak stabilny i rozpoznawalny Są tylko dwa stany: włączony - wyłączony; otwarty - zamknięty; naładowany - rozładowany itp. Dlatego tradycyjny system dziesiętny stosowany w kalkulatorach mechanicznych jest niewygodny dla elektronicznych urządzeń komputerowych.

Możliwość przedstawienia dowolnych liczb (i nie tylko) za pomocą cyfr binarnych po raz pierwszy zaproponował Gottfried Wilhelm Leibniz w 1666 roku. Do systemu liczb binarnych doszedł on w trakcie badań filozoficznej koncepcji jedności i walki przeciwieństw. Próba wyobrażenia sobie wszechświata w postaci ciągłego oddziaływania dwóch pierwiastków („czarnego” i „białego”, męskiego i żeńskiego, dobra i zła) oraz zastosowania do jego badania metod „czystej” matematyki skłoniła Leibniza do podjęcia studiów właściwości binarnej reprezentacji danych. Trzeba powiedzieć, że Leibniz myślał już o możliwości zastosowania układu binarnego w urządzeniu liczącym, ale ponieważ nie było takiej potrzeby w przypadku urządzeń mechanicznych, nie zastosował zasad układu binarnego w swoim kalkulatorze (1673) .

Logika matematyczna George'a Boole'a, Badacze historii informatyki, mówiąc o twórczości George'a Boole'a, z pewnością podkreślają, że ten wybitny angielski naukowiec pierwszej połowy XIX wieku był samoukiem. Być może właśnie z powodu braku „klasycznego” (w ówczesnym rozumieniu) wykształcenia George Boole wprowadził rewolucyjne zmiany w logice jako nauce.

Badając prawa myślenia, stosował system notacji formalnej i reguł logicznych zbliżony do matematycznego. Następnie ten system zwaną algebrą logiczną Lub Algebra Boole’a. Zasady tego systemu mają zastosowanie do szerokiej gamy obiektów i ich grup (zestawy, zgodnie z terminologią autora). Głównym celem systemu w koncepcji J. Boole'a było kodowanie zdań logicznych i sprowadzanie struktur wniosków logicznych do prostych wyrażeń zbliżonych formą do wzorów matematycznych. Wynikiem formalnej oceny wyrażenia logicznego jest jedna z dwóch wartości logicznych: PRAWDA Lub kłamstwo.

Znaczenie algebry logicznej było przez długi czas ignorowane, ponieważ jej techniki i metody nie przynosiły praktycznych korzyści dla ówczesnej nauki i technologii. Kiedy jednak pojawiła się zasadnicza możliwość tworzenia technologii komputerowej na bazie elektronicznej, operacje wprowadzone przez Boole'a okazały się bardzo przydatne. Początkowo skupiają się na współpracy tylko z dwoma podmiotami: PRAWDA I kłamstwo. Nietrudno zrozumieć, w jaki sposób przydały się one do pracy z kodem binarnym, który we współczesnych komputerach jest również reprezentowany przez zaledwie dwa sygnały: zero I jednostka.

Nie cały system George'a Boole'a (ani wszystkie zaproponowane przez niego operacje logiczne) zostały wykorzystane do stworzenia komputerów elektronicznych, ale cztery główne operacje: (skrzyżowanie), LUB (Unia), NIE (odwołanie) i WYŁĄCZNIE LUB - stanowią podstawę działania wszystkich typów procesorów w nowoczesnych komputerach.

Ryż. 3.1. Podstawowe działania algebry logicznej

Komputery elektroniczne klasyfikuje się zwykle według szeregu cech, w szczególności: funkcjonalności i charakteru rozwiązywanych zadań, sposobu organizacji procesu obliczeniowego, cech architektonicznych i mocy obliczeniowej.

Ze względu na funkcjonalność i charakter rozwiązywanych zadań wyróżnia się:

Komputery uniwersalne (ogólnego przeznaczenia);

Komputery zorientowane na problemy;

Specjalistyczne komputery.

Komputery typu mainframe przeznaczone są do rozwiązywania szerokiej gamy problemów inżynierskich i technicznych, charakteryzujących się złożonością algorytmów i dużą ilością przetwarzanych danych.

Komputery zorientowane na problemy przeznaczone są do rozwiązywania węższego zakresu zadań związanych z rejestracją, gromadzeniem i przetwarzaniem niewielkich ilości danych.

Specjalistyczne komputery służą do rozwiązywania wąskiego zakresu problemów (mikroprocesory i sterowniki realizujące funkcje sterujące urządzeniami technicznymi).

W drodze organizacji procesu obliczeniowego Komputery dzielą się na jednoprocesorowe i wieloprocesorowe, a także sekwencyjne i równoległe.

Jednoprocesorowy. Komputer ma jeden centralny procesor i wszystkie operacje obliczeniowe oraz operacje sterujące urządzeniami wejścia/wyjścia są wykonywane na tym procesorze.

Wieloprocesorowy. Komputer zawiera kilka procesorów, pomiędzy którymi rozdzielone są funkcje organizacji procesu obliczeniowego i zarządzania urządzeniami wejścia/wyjścia informacji.

Spójny. Działają w trybie jednoprogramowym, gdy komputer jest zaprojektowany w taki sposób, że może wykonać tylko jeden program, a wszystkie jego zasoby są wykorzystywane wyłącznie w interesie wykonywanego programu.

Równoległy. Pracują w trybie wieloprogramowym, gdy na komputerze uruchomionych jest kilka programów użytkownika, a zasoby są współdzielone pomiędzy tymi programami, zapewniając ich równoległe wykonywanie.

Na podstawie cech architektonicznych i mocy obliczeniowej wyróżnia się:



Rozważmy schemat klasyfikacji komputerów według tego kryterium (ryc. 1).

Ryc.1. Klasyfikacja komputerów ze względu na cechy architektoniczne

i moc obliczeniową.

Superkomputery- To najpotężniejsze maszyny obliczeniowe pod względem szybkości i wydajności. Do superkomputerów należą „Cray” i „IBM SP2” (USA). Stosowane są do rozwiązywania wielkoskalowych problemów obliczeniowych i modelowania, do skomplikowanych obliczeń w aerodynamice, meteorologii, fizyce wysokich energii, a także znajdują zastosowanie w sektorze finansowym.

Duże samochody lub komputery mainframe. Komputery mainframe są wykorzystywane w sektorze finansowym, kompleksie obronnym i służą do obsługi departamentalnych, terytorialnych i regionalnych centrów obliczeniowych.

Średnie komputery szeroko stosowane do sterowania skomplikowanymi procesami technologicznymi produkcji.

Minikomputer przeznaczone do stosowania jako systemy komputerowe sterujące i serwery sieciowe.

Mikrokomputer- Są to komputery wykorzystujące mikroprocesor jako jednostkę centralną. Należą do nich mikrokomputery wbudowane (wbudowane w różne sprzęty, sprzęt lub urządzenia) i komputery osobiste (PC).

Komputery osobiste. W ciągu ostatnich 20 lat rozwinął się bardzo szybko. Komputer osobisty (PC) został zaprojektowany do obsługi pojedynczej stacji roboczej i może zaspokoić potrzeby małych firm i osób prywatnych. Wraz z pojawieniem się Internetu popularność komputerów PC znacznie wzrosła, ponieważ za ich pomocą komputer osobisty Możesz wykorzystać informacje naukowe, referencyjne, edukacyjne i rozrywkowe.

Komputery osobiste obejmują komputery stacjonarne i laptopy. Komputery przenośne obejmują notebooki (notebooki lub notebooki) i kieszonkowe komputery osobiste (komputery osobiste podręczne – komputery kieszonkowe, osobiste asystenty cyfrowe – PDA i palmtopy).

Wbudowane komputery. Komputery używane w różne urządzenia ach, systemy, kompleksy do realizacji określonych funkcji. Na przykład diagnostyka samochodowa.

Od 1999 roku do klasyfikacji komputerów PC stosowany jest międzynarodowy standard certyfikacji, specyfikacja PC99. Zgodnie z tą specyfikacją komputery PC dzielą się na następujące grupy:

· komputery masowe (komputery konsumenckie);

· komputery biznesowe (Office PC);

· komputery przenośne (Mobile PC);

· stacje robocze (WorkStation);

· Komputery rozrywkowe (Entertaiment PC).

Większość komputerów tak masywny i zawierać standardowy (wymagany minimalny) zestaw sprzętu. Ten zestaw zawiera: Jednostka systemowa, wyświetlacz, klawiatura, mysz. W razie potrzeby zestaw ten można łatwo uzupełnić na życzenie użytkownika o inne urządzenia, np. drukarkę.

Komputery biznesowe zawierać minimum narzędzi do odtwarzania grafiki i dźwięku.

Laptopy różnią się obecnością środków komunikacji o zdalnym dostępie.

Stacje robocze spełniają zwiększone wymagania dotyczące pojemności pamięci urządzeń do przechowywania danych.

Komputery rozrywkowe koncentruje się na wysokiej jakości grafice i reprodukcji dźwięku.

Według cech konstrukcyjnych Komputery PC dzielą się na:

· stacjonarne (stacjonarne, stacjonarne);

przenośny:

· przenośny (Laptop);

· notesy;

· kieszeń (Palmtop).

Do głównych cech technologii komputerowej zalicza się jej właściwości operacyjne i techniczne, takie jak szybkość, pojemność pamięci, dokładność obliczeń itp.

Wydajność komputera rozpatrywany jest w dwóch aspektach. Z jednej strony charakteryzuje się liczbą wykonywanych elementarnych operacji centralny procesor na sekundę. Przez elementarną operację rozumie się dowolną prostą operację, taką jak dodawanie, przenoszenie, porównywanie itp. Z drugiej strony wykonanie

Komputer zależy w dużym stopniu od organizacji swojej pamięci. Czas spędzony na wyszukiwaniu niezbędnych informacji w pamięci znacząco wpływa na szybkość działania komputera.

W zależności od obszaru zastosowań komputery produkowane są z prędkościami od kilkuset tysięcy do miliardów operacji na sekundę. Aby rozwiązać złożone problemy, można połączyć kilka komputerów w jeden kompleks obliczeniowy o wymaganej całkowitej prędkości.

Oprócz szybkości pojęcie to jest często używane wydajność . O ile o pierwszym decyduje głównie układ elementów zastosowanych w komputerze, o tyle drugie wiąże się z jego architekturą i rodzajem rozwiązywanych problemów. Nawet dla jednego komputera taka cecha jak prędkość nie jest wartością stałą. Pod tym względem wyróżniają:

    Maksymalna wydajność, określana na podstawie częstotliwości zegara procesora bez uwzględnienia dostępu do pamięć o dostępie swobodnym;

    prędkość znamionowa, ustalona biorąc pod uwagę czas dostępu do pamięci RAM;

    wydajność systemu, ustalane z uwzględnieniem systemowych kosztów organizacji procesu obliczeniowego;

    operacyjny, ustalany z uwzględnieniem charakteru rozwiązywanych zadań (skład, operacje lub ich „mieszanka”).

Pojemność, Lub Pamięć określana na podstawie maksymalnej ilości informacji, jaką można umieścić w pamięci komputera. Zazwyczaj pojemność pamięci jest mierzona w bajtach. Jak już wspomniano, pamięć komputera dzieli się na wewnętrzną i zewnętrzną. Pamięć wewnętrzna, czyli pamięć o dostępie swobodnym, ma różną wielkość w zależności od klasy maszyn i jest określana przez system adresowania komputera. Pojemność pamięć zewnętrzna ze względu na konstrukcję blokową i konstrukcje napędów wymiennych jest praktycznie nieograniczona.

Dokładność obliczeń zależy od liczby cyfr użytych do przedstawienia jednej liczby. Nowoczesne komputery wyposażone są w 32- lub 64-bitowe mikroprocesory, co jest w zupełności wystarczające, aby zapewnić wysoką dokładność obliczeń w szerokiej gamie zastosowań. Jeżeli to jednak nie wystarczy, można zastosować podwójną lub potrójną kratkę odprowadzającą.

System dowodzenia - jest to lista poleceń, które procesor komputera jest w stanie wykonać. System poleceń określa, jakie konkretne operacje może wykonać procesor, ile operandów należy określić w poleceniu i jaki typ (format) musi mieć polecenie, aby je rozpoznać. Liczba głównych rodzajów poleceń jest niewielka, za ich pomocą komputery są w stanie wykonywać operacje dodawania, odejmowania, mnożenia, dzielenia, porównywania, zapisywania do pamięci, przenoszenia liczb z rejestru do rejestru, konwersji z jednego systemu liczbowego na inny, itp. W razie potrzeby zmodyfikuj polecenia, biorąc pod uwagę specyfikę obliczeń. Zazwyczaj komputer wykorzystuje od kilkudziesięciu do kilkuset poleceń (biorąc pod uwagę ich modyfikację). Na obecnym etapie rozwoju technologii komputerowej przy tworzeniu systemu rozkazów procesora stosuje się dwa główne podejścia. Z jednej strony jest to tradycyjne podejście związane z rozwojem procesorów z pełnym zestawem instrukcji – architekturą WNP(Komputer z kompletnym zestawem instrukcji – komputer z kompletnym zestawem instrukcji). Z drugiej strony jest to implementacja w komputerze zredukowanego zestawu prostych, ale często używanych poleceń, co pozwala uprościć sprzętowo procesor i zwiększyć wydajność - architekturę RISC(Komputer o zmniejszonym zestawie instrukcji - komputer ze zmniejszonym zestawem instrukcji).

Koszt komputera zależy od wielu czynników, w szczególności od szybkości, pojemności pamięci, systemu dowodzenia itp. Duży wpływ Na koszt wpływa specyficzna konfiguracja komputera, a przede wszystkim urządzenia zewnętrzne znajdujące się w maszynie. Wreszcie koszt oprogramowania znacząco wpływa na koszt komputera.

Niezawodność komputera - jest to zdolność maszyny do zachowania swoich właściwości w danych warunkach pracy przez określony czas. Do ilościowej oceny niezawodności komputera zawierającego elementy, których awaria prowadzi do awarii całej maszyny, mogą służyć następujące wskaźniki:

    prawdopodobieństwo bezawaryjnej pracy dla określony czas w danych warunkach pracy;

    średni czas komputera między awariami;

    średni czas przywracania maszyny itp.

W przypadku bardziej złożonych struktur, takich jak kompleks komputerowy lub system, koncepcja „awarii” nie ma sensu. W takich układach awarie poszczególnych elementów prowadzą do nieznacznego spadku wydajności operacyjnej, a nie do całkowitej utraty wydajności jako całości.

Ważne są także inne cechy technologii komputerowej, np.: wszechstronność, kompatybilność oprogramowania, waga, wymiary, zużycie energii itp. Są one brane pod uwagę przy ocenie konkretnych obszarów zastosowań komputerów.

Metody organizacji oprogramowania i sprzętu w zautomatyzowanych kompleksach stanowisk pracy należy określić w ogólnym kontekście rozważanych procesów operacyjnego zarządzania produkcją (OPM) przedsiębiorstw przemysłowych, których celem jest minimalizacja kosztów wszystkich rodzajów zasobów do produkcji ustalonego zakresu elementów pracy.

Metody organizacji oprogramowania i sprzętu w zautomatyzowanych kompleksach stanowisk pracy należy określić w ogólnym kontekście rozważanych procesów operacyjnego zarządzania produkcją (OPM) przedsiębiorstw przemysłowych, których celem jest minimalizacja kosztów wszystkich rodzajów zasobów do produkcji ustalonego zakresu elementów pracy.

Synteza metod i modeli organizacji oprogramowania i sprzętu komputerowego przy przedstawianiu AS EUP jako zautomatyzowanych zespołów stanowisk pracy samonośnych zespołów produkcyjnych musi przejść przez dwa etapy: etap ustalania racjonalnego składu sprzętu komputerowego oraz etap rozwiązywania problemu przydziału zasoby systemu komputerowego zautomatyzowanych zespołów stanowisk pracy użytkownikom końcowym.

Zgodność techniczna (sprzętowa) nowego sprzętu VT z istniejącą flotą VT klienta oraz z flotą VT przewidywaną do nabycia w przyszłości. Praktyka pokazuje, że wskaźnik ten jest jednym z najważniejszych branych pod uwagę przy wyborze VT. Tendencja do zakupu sprzętu VT, który jest kompatybilny sprzętowo z już istniejącym, wiąże się z wieloma przyczynami obiektywnymi i subiektywnymi, a jednym z nich jest psychologia klienta, jego poczucie pewności co do powodzenia użytkowania tej konkretnej klasy sprzętu. Zgodność oprogramowania, która jest określana przez kompatybilność sprzętowo realizowanego systemu instrukcji, kompatybilność formatów prezentacji danych, kompatybilność tłumaczy, DBMS itp. Znaczący wpływ tego wskaźnika na zużycie zasobów można wytłumaczyć dostępnością dużych wolumenów wcześniej przygotowanych danych regulacyjnych, archiwalnych i statystycznych, a także specjalizacją przeszkolonego personelu w przedsiębiorstwie, mającego doświadczenie w pracy z określonymi podstawowymi narzędziami programowymi.

Zgodność operacyjna w ramach zakupionego kompleksu sprzętu komputerowego, która umożliwia w przypadku awarii poszczególnych modułów stanowiskowych szybką wymianę uszkodzonego modułu lub ponowne przyporządkowanie wykorzystywanych urządzeń pomiędzy konkretnymi stanowiskami w ramach zasobów obliczeniowych wszystkich zespołów (w ramach kompleksu warsztatowego w obrębie kompleksu międzysklepowego, w systemie dowolnego przedsiębiorstwa).

Niezawodność urządzeń VT zgodnie ze specyfikacjami technicznymi i ich zgodność z określonymi warunkami pracy: drgania, utlenianie, zapylenie, zanieczyszczenie gazami, skoki napięcia itp. wymaga dodatkowego wyposażenia ochronnego.

Całkowita szybkość rozwiązywania problemów funkcjonalnych według rodzaju zautomatyzowanego kompleksu stacji roboczych to szybkość przetwarzania istniejących wolumenów danych w różnych trybach pracy. Zwykle, aby określić wartości tego wskaźnika, nie wystarczy znać tylko wolumeny baza informacyjna specyficzne cechy stacji roboczej i paszportu oraz zapewnione zasoby obliczeniowe.

Dlatego dla przybliżonej (porządkowej) oceny wartości tego wskaźnika istotne jest albo doświadczenie eksploatacyjne na obiektach VT podobnej klasy, albo wyniki uzyskane z modeli symulacyjnych, gdzie bazy danych odpowiadają objętością i strukturą rzeczywistym te. Aproksymacja danych uzyskanych z przykładów testowych może prowadzić do błędu w wynikach, które różnią się o rząd wielkości od rzeczywistych szacunków uzyskanych później w trakcie eksploatacji systemu. Źródłem błędów jest najczęściej niejednoznaczność algorytmów działania, narzędzi system operacyjny, protokoły komunikacyjne, sterowniki i podstawowe narzędzia językowe w przypadku systemów operacyjnych w trybie wieloużytkownikowym, wielozadaniowym przy maksymalnych zasobach systemów komputerowych lub woluminów dla ich elementów. W takim przypadku nie można nieefektywnie wykorzystać możliwości bezpośrednich obliczeń z wykorzystaniem charakterystyk wydajnościowych procesorów, kanałów komunikacji wewnątrzmaszynowej, kanałów komunikacji sieciowej, prędkości dostępu do danych według typów urządzeń zewnętrznych. Obecnie moc wielu procesorów i zaimplementowanych dla nich narzędzi językowych nie pozwala na zapewnienie całego potencjalnego zestawu zadań PPP CS z wymaganą dokładnością obliczeniową. Dlatego przy ustalaniu wartości tego wskaźnika konieczne jest wprowadzenie szczegółów w podziale na klasy zadań poszczególnych typów stanowisk automatycznych w odniesieniu do rozważanej kombinacji narzędzi VT i podstawowego oprogramowania.

Koszt wdrożenia „przyjaznego interfejsu” obejmuje programy szkoleniowe oraz możliwość otrzymania informacji podczas pracy na stanowisku pracy o sposobach kontynuowania lub zakończenia dialogu.

Możliwość zmiany składu i treści funkcji realizowanych na poszczególnych stanowiskach pracy, w tym redystrybucji personelu.

Zapewnienie wymagań w zakresie ochrony przed nieuprawnionym dostępem do baz wiedzy i baz danych, a także zapewnienie ich „przejrzystości” w razie potrzeby.


Klasyfikacja sprzętu komputerowego

1. Sprzęt

Skład systemu komputerowego nazywany jest konfiguracją. Sprzęt komputerowy i oprogramowanie są zwykle rozpatrywane oddzielnie. W związku z tym konfiguracja sprzętowa systemów komputerowych i ich konfiguracja oprogramowania są rozpatrywane oddzielnie. Ta zasada separacji ma szczególne znaczenie w informatyce, ponieważ bardzo często rozwiązanie tych samych problemów może być zapewnione zarówno przez sprzęt, jak i oprogramowanie. Kryteriami wyboru rozwiązania sprzętowego lub programowego są wydajność i efektywność. Powszechnie przyjmuje się, że rozwiązania sprzętowe są średnio droższe, natomiast wdrożenie rozwiązań programowych wymaga większej liczby wysoko wykwalifikowanej kadry.

DO sprzęt komputerowy systemy komputerowe obejmują urządzenia i instrumenty tworzące konfigurację sprzętową. Nowoczesne komputery a systemy obliczeniowe mają konstrukcję blokowo-modułową - konfigurację sprzętową niezbędną do wykonywania określonych rodzajów pracy, którą można złożyć z gotowych jednostek i bloków.

Głównymi elementami sprzętowymi systemu komputerowego są: pamięć, procesor centralny i urządzenia peryferyjne, które są połączone magistralą systemową (ryc. 1). Pamięć główna przeznaczona jest do przechowywania programów i danych w postaci binarnej i jest zorganizowana w formie uporządkowanej tablicy komórek, z których każda ma unikalny adres cyfrowy. Zazwyczaj rozmiar komórki wynosi 1 bajt. Typowe operacje na pamięci głównej: odczyt i zapis zawartości komórki o określonym adresie.

2. Centralny procesor

Jednostka centralna to jednostka centralna komputera, która wykonuje operacje przetwarzania danych i steruje urządzeniami peryferyjnymi komputera. Procesor centralny obejmuje:

Urządzenie sterujące - organizuje proces wykonywania programu i koordynuje współdziałanie wszystkich urządzeń systemu komputerowego podczas jego działania;

Jednostka arytmetyczno-logiczna - wykonuje operacje arytmetyczne i logiczne na danych: dodawanie, odejmowanie, mnożenie, dzielenie, porównywanie itp.;

Urządzenie pamięci masowej - jest pamięć wewnętrzna procesor, który składa się z rejestrów, gdy jest używany, wykonuje obliczenia i przechowuje wyniki pośrednie; Aby przyspieszyć pracę z pamięcią RAM, wykorzystywana jest pamięć podręczna, do której pompowane są polecenia i dane z pamięci RAM niezbędne procesorowi do kolejnych operacji;

Generator zegara - generuje impulsy elektryczne, które synchronizują pracę wszystkich węzłów komputera.

Centralny procesor wykonuje różnorodne operacje na danych wykorzystując wyspecjalizowane komórki do przechowywania kluczowych zmiennych i wyników tymczasowych – rejestry wewnętrzne. Rejestry dzielą się na dwa typy (ryc. 2.):

Rejestry ogólnego przeznaczenia - służą do tymczasowego przechowywania kluczowych zmiennych lokalnych i pośrednich wyników obliczeń, obejmują rejestry danych i rejestry wskaźników; główną funkcją jest dostarczanie szybki dostęp do często używanych danych (zwykle bez dostępu do pamięci).

Rejestry specjalizowane – służące do sterowania pracą procesora, najważniejsze z nich to: rejestr instrukcji, wskaźnik stosu, rejestr flag oraz rejestr zawierający informację o stanie programu.

Programista może według własnego uznania wykorzystać rejestry danych do tymczasowego przechowywania dowolnych obiektów (danych lub adresów) i wykonywania na nich wymaganych operacji. Rejestry indeksowe, podobnie jak rejestry danych, mogą być wykorzystywane w dowolny sposób; ich głównym celem jest przechowywanie indeksów lub przesunięć danych i instrukcji od początku adresu bazowego (podczas pobierania argumentów z pamięci). Adres bazowy może znajdować się w rejestrach bazowych.

Rejestry segmentowe są krytycznym elementem architektury procesora, zapewniającym adresowanie 20-bitowej przestrzeni adresowej przy użyciu 16-bitowych argumentów. Główne rejestry segmentowe: CS - rejestr segmentowy kodu; DS - rejestr segmentów danych; SS jest rejestrem segmentowym stosu, ES jest dodatkowym rejestrem segmentowym. Dostęp do pamięci odbywa się poprzez segmenty – formacje logiczne nałożone na dowolną część fizycznej przestrzeni adresowej. Adres początkowy segmentu podzielony przez 16 (bez najmniej znaczącej cyfry szesnastkowej) wpisuje się do jednego z rejestrów segmentowych; po czym zapewniany jest dostęp do sekcji pamięci zaczynając od określonego adresu segmentu.

Adres dowolnej komórki pamięci składa się z dwóch słów, z których jedno określa położenie w pamięci odpowiedniego segmentu, a drugie - przesunięcie w tym segmencie. Rozmiar segmentu jest określony przez ilość zawartych w nim danych, ale nigdy nie może przekroczyć 64 KB, które jest określane na podstawie maksymalnej możliwej wartości przesunięcia. Adres segmentu instrukcji jest przechowywany w rejestrze CS, a przesunięcie względem adresowanego bajtu jest przechowywane w rejestrze wskaźników instrukcji IP.

Ryc.2. Rejestry procesora 32-bitowego

Po załadowaniu programu do adresu IP wprowadzane jest przesunięcie pierwszego polecenia programu. Procesor po odczytaniu go z pamięci zwiększa zawartość IP dokładnie o długość tej instrukcji (instrukcje procesora Intel mogą mieć długość od 1 do 6 bajtów), w wyniku czego IP wskazuje na drugą instrukcję programu . Po wykonaniu pierwszego polecenia procesor odczytuje z pamięci drugie, ponownie zwiększając wartość IP. W rezultacie adres IP zawsze zawiera przesunięcie następnego polecenia - polecenia następującego po wykonywanym. Opisany algorytm jest łamany jedynie przy wykonywaniu instrukcji skoku, wywoływaniu podprogramów i obsłudze przerwań.

Adres segmentu danych jest przechowywany w rejestrze DS, przesunięcie może znajdować się w jednym z rejestrów ogólnego przeznaczenia. Dodatkowy rejestr segmentowy ES umożliwia dostęp do pól danych nieuwzględnionych w programie, takich jak bufor wideo czy komórki systemowe. W razie potrzeby można go jednak skonfigurować dla jednego z segmentów programu. Na przykład, jeśli program pracuje z dużą ilością danych, możesz udostępnić dla nich dwa segmenty i uzyskać dostęp do jednego z nich poprzez rejestr DS, a drugiego poprzez rejestr ES.

Rejestr wskaźnika stosu SP jest używany jako wskaźnik na szczyt stosu. Stos to obszar programu służący do tymczasowego przechowywania dowolnych danych. Wygoda stosu polega na tym, że jego obszar jest wykorzystywany wielokrotnie, a przechowywanie danych na stosie i pobieranie ich stamtąd odbywa się za pomocą poleceń push i pop bez podawania nazw. Stos jest tradycyjnie używany do przechowywania zawartości rejestrów używanych przez program przed wywołaniem podprogramu, który z kolei wykorzystuje rejestry procesora do własnych celów. Oryginalna zawartość rejestrów jest usuwana ze stosu po powrocie podprogramu. Inną powszechną techniką jest przekazywanie wymaganych parametrów do podprogramu za pośrednictwem stosu. Podprogram wiedząc, w jakiej kolejności są umieszczone parametry na stosie, może je stamtąd pobrać i wykorzystać w trakcie swojego wykonywania.

Cechą wyróżniającą stos jest unikalna kolejność pobierania zawartych na nim danych: w danym momencie na stosie dostępny jest tylko element znajdujący się na wierzchu, czyli ten, który był na stosie ładowany jako ostatni. Wysunięcie górnego elementu ze stosu powoduje udostępnienie następnego elementu. Elementy stosu znajdują się w obszarze pamięci przydzielonym stosowi, zaczynając od dołu stosu (od jego maksymalnego adresu) pod sukcesywnie malejącymi adresami. Adres górnego, dostępnego elementu jest przechowywany w rejestrze wskaźników stosu SP.

Rejestry specjalne są dostępne tylko w trybie uprzywilejowanym i są używane przez system operacyjny. Kontrolują różne bloki pamięć podręczna, pamięć główna, urządzenia wejścia/wyjścia i inne urządzenia systemu komputerowego.

Istnieje jeden rejestr, który jest dostępny zarówno w trybie uprzywilejowanym, jak i trybie użytkownika. Jest to rejestr PSW (słowo stanu programu), zwany rejestrem flagowym. Rejestr flagowy zawiera różne bity potrzebne procesorowi centralnemu, najważniejsze są kody warunków, które wykorzystywane są przy porównaniach i skokach warunkowych. Są one ustawiane w każdym cyklu jednostki arytmetyczno-logicznej procesora i odzwierciedlają stan wyniku poprzedniego operacja. Zawartość rejestru flagowego zależy od typu systemu obliczeniowego i może zawierać dodatkowe pola wskazujące: tryb pracy maszyny (np. użytkownika lub uprzywilejowany); bit śledzenia (używany do debugowania); poziom priorytetu procesora; stan włączenia przerwania. Rejestr flagowy jest zwykle odczytywany w trybie użytkownika, ale niektóre pola można zapisywać tylko w trybie uprzywilejowanym (na przykład bit wskazujący tryb).

Rejestr wskaźników poleceń zawiera adres następnego polecenia w kolejce do wykonania. Po wybraniu instrukcji z pamięci następuje korekta rejestru instrukcji i wskaźnik przesuwa się do kolejnej instrukcji. Wskaźnik instrukcji monitoruje postęp wykonywania programu, wskazując w każdym momencie względny adres instrukcji następującej po wykonywanej. Rejestr nie jest dostępny programowo; Zwiększanie adresu w nim odbywa się za pomocą mikroprocesora, biorąc pod uwagę długość aktualnej instrukcji. Polecenia skoków, przerwań, wywoływania podprogramów i powrotu z nich zmieniają zawartość wskaźnika, dokonując w ten sposób przejść do wymaganych punktów programu.

Rejestr akumulatora jest używany w zdecydowanej większości instrukcji. Często używane polecenia korzystające z tego rejestru mają skrócony format.

Aby przetworzyć informację, dane są zwykle przenoszone z komórek pamięci do rejestrów ogólnego przeznaczenia, operację wykonuje centralny procesor, a wyniki przesyłane są do pamięci głównej. Programy są przechowywane jako sekwencja instrukcji maszynowych, które muszą zostać wykonane przez centralny procesor. Każde polecenie składa się z pola operacji oraz pól argumentów – danych, na których wykonywana jest operacja. Zbiór instrukcji maszynowych nazywany jest językiem maszynowym. Programy są wykonywane w następujący sposób. Instrukcja maszynowa wskazywana przez licznik programu jest odczytywana z pamięci i kopiowana do rejestru instrukcji, gdzie jest dekodowana, a następnie wykonywana. Po jego wykonaniu licznik programu wskazuje kolejne polecenie itd. Działania te nazywane są cyklem maszynowym.

Większość procesorów centralnych ma dwa tryby pracy: tryb jądra i tryb użytkownika, który jest określony przez bit w słowie statusowym procesora (rejestr flagowy). Jeśli procesor działa w trybie jądra, może wykonać wszystkie instrukcje zawarte w zestawie instrukcji i wykorzystać wszystkie możliwości sprzętu. System operacyjny działa w trybie jądra i zapewnia dostęp do całego sprzętu. Programy użytkownika działają w trybie użytkownika, co pozwala na wykonanie wielu poleceń, ale udostępnia tylko część sprzętu.

Aby komunikować się z systemem operacyjnym, program użytkownika musi wywołać funkcję systemową, która przechodzi w tryb jądra i aktywuje funkcje systemu operacyjnego. Polecenie pułapki (emulowane przerwanie) przełącza tryb pracy procesora z trybu użytkownika na tryb jądra i przekazuje kontrolę systemowi operacyjnemu. Po zakończeniu pracy sterowanie wraca do programu użytkownika, do polecenia następującego po wywołaniu systemowym.

W komputerach oprócz instrukcji wykonywania wywołań systemowych istnieją przerwania wywoływane przez sprzęt w celu ostrzeżenia o sytuacjach wyjątkowych, takich jak próba dzielenia przez zero lub przepełnienie zmiennoprzecinkowe. We wszystkich takich przypadkach kontrola przechodzi w ręce systemu operacyjnego, który musi zdecydować, co dalej. Czasami trzeba zakończyć program komunikatem o błędzie, czasami można go zignorować (na przykład, jeśli liczba straci znaczenie, można ją ustawić na zero) lub przekazać kontrolę samemu programowi, aby obsługiwał określone rodzaje warunków.

Na podstawie rozmieszczenia urządzeń względem procesora centralnego rozróżnia się urządzenia wewnętrzne i zewnętrzne. Zewnętrzne są z reguły większość urządzeń wejścia/wyjścia (zwanych także urządzeniami peryferyjnymi) oraz niektóre urządzenia przeznaczone do długotrwałego przechowywania danych.

Koordynacja pomiędzy poszczególnymi węzłami i blokami odbywa się za pomocą przejściowych urządzeń sprzętowo-logicznych zwanych interfejsami sprzętowymi. Standardy interfejsów sprzętowych w informatyce nazywane są protokołami – zbiorem warunków technicznych, które muszą zapewnić twórcy urządzeń, aby skutecznie koordynować ich działanie z innymi urządzeniami.

Liczne interfejsy obecne w architekturze dowolnego systemu komputerowego można podzielić na dwie duże grupy: szeregowe i równoległe. Poprzez interfejs szeregowy dane przesyłane są sekwencyjnie, bit po bicie, a poprzez interfejs równoległy - jednocześnie w grupach bitów. Liczba bitów zawartych w jednym komunikacie zależy od szerokości interfejsu; na przykład ośmiobitowe interfejsy równoległe przesyłają jeden bajt (8 bitów) na cykl.

Interfejsy równoległe są zwykle bardziej złożone niż interfejsy szeregowe, ale zapewniają wyższą wydajność. Stosowane są tam, gdzie istotna jest szybkość przesyłania danych: do podłączenia urządzeń drukujących, urządzeń wejściowych informacje graficzne, urządzenia do zapisu danych na nośnikach zewnętrznych itp. Wydajność interfejsów równoległych mierzy się w bajtach na sekundę (bajt/s; KB/s; MB/s).

Urządzenie interfejsy szeregowełatwiej; z reguły nie muszą synchronizować pracy urządzeń nadawczych i odbiorczych (dlatego często nazywane są interfejsami asynchronicznymi), ale ich przepustowość jest mniejsza, a współczynnik przydatna akcja poniżej. Ponieważ wymiana danych przez urządzenia szeregowe odbywa się nie w bajtach, ale w bitach, ich wydajność mierzy się w bitach na sekundę (bps, Kbps, Mbps). Pomimo pozornej prostoty przeliczania jednostek prędkości transmisji szeregowej na jednostki prędkości transmisji równoległej poprzez mechaniczne dzielenie przez 8, takiej konwersji nie dokonuje się, gdyż jest ona niepoprawna ze względu na obecność danych serwisowych. W ostateczności, uwzględniając dane serwisowe, czasami prędkość urządzeń szeregowych wyraża się w znakach na sekundę lub w znakach na sekundę (s/s), ale wartość ta nie ma charakteru technicznego, lecz referencyjny, konsumencki.

Interfejsy szeregowe służą do łączenia wolnych urządzeń (najprostsze urządzenia drukujące niskiej jakości: urządzenia do wprowadzania i wysyłania informacji o znakach i sygnałach, czujniki sterujące, urządzenia komunikacyjne o niskiej wydajności itp.), A także w przypadkach, gdy nie ma znaczne ograniczenia w czasie wymiany danych (aparaty cyfrowe).

Drugim głównym elementem komputera jest pamięć. System pamięci zbudowany jest w formie hierarchii warstw (ryc. 3.). Górna warstwa składa się z rejestrów wewnętrznych procesora centralnego. Rejestry wewnętrzne zapewniają pojemność pamięci 32 x 32 bity w przypadku procesora 32-bitowego i 64 x 64 bity w przypadku procesora 64-bitowego, co w obu przypadkach stanowi mniej niż jeden kilobajt. Same programy mogą zarządzać rejestrami (to znaczy decydować, co w nich przechowywać) bez interwencji sprzętu.

Ryc.3. Typowa hierarchiczna struktura pamięci

Następna warstwa zawiera pamięć podręczną, która jest kontrolowana głównie przez sprzęt. Pamięć RAM jest podzielona na linie pamięci podręcznej, zwykle 64 bajty, z adresami od 0 do 63 w linii zerowej, od 64 do 127 w linii pierwszej itd. Najczęściej używane linie pamięci podręcznej są przechowywane w szybkiej pamięci podręcznej umieszczonej wewnątrz procesora lub bardzo blisko niego. Kiedy program musi odczytać słowo z pamięci, układ pamięci podręcznej sprawdza, czy wymagana linia w pamięci podręcznej. W takim przypadku następuje efektywny dostęp do pamięci podręcznej, żądanie jest realizowane w całości z pamięci podręcznej, a żądanie pamięci nie jest wysyłane do magistrali. Pomyślny dostęp do pamięci podręcznej zajmuje zwykle około dwóch cykli zegara, natomiast nieudany powoduje dostęp do pamięci ze znaczną stratą czasu. Pamięć podręczna ma ograniczoną wielkość ze względu na wysoki koszt. Niektóre maszyny mają dwa lub nawet trzy poziomy pamięci podręcznej, każdy jest wolniejszy i większy od poprzedniego.

Następna jest pamięć RAM (RAM - pamięć o dostępie swobodnym, angielska pamięć RAM, pamięć o dostępie swobodnym - pamięć o dostępie swobodnym). Jest to główny obszar roboczy urządzenia pamięci masowej systemu komputerowego. Wszystkie żądania procesora, których nie może obsłużyć pamięć podręczna, są wysyłane do pamięci głównej w celu przetworzenia. W przypadku uruchamiania kilku programów na komputerze zaleca się umieszczenie złożonych programów w pamięci RAM. Zabezpieczanie programów przed sobą i przenoszenie ich w pamięci realizowane jest poprzez wyposażenie komputera w dwa wyspecjalizowane rejestry: rejestr podstawowy i rejestr graniczny.

W najprostszym przypadku (rys. 4.a), gdy program zaczyna działać, do rejestru bazowego ładowany jest adres początku modułu programu wykonywalnego, a rejestr graniczny wskazuje, ile zajmuje moduł programu wykonywalnego wraz z dane. Pobierając polecenie z pamięci, sprzęt sprawdza licznik programu i jeśli jest on mniejszy od rejestru granicznego, dodaje do niego wartość rejestru bazowego i przesyła sumę do pamięci. Kiedy program chce odczytać słowo danych (na przykład z adresu 10000), sprzęt automatycznie dodaje zawartość rejestru bazowego (na przykład 50000) pod ten adres i przesyła sumę (60000) do pamięci. Rejestr bazowy pozwala programowi odwoływać się do dowolnej części pamięci po zapisanym w nim adresie. Ponadto rejestr limitów uniemożliwia programowi dostęp do jakiejkolwiek części pamięci po programie. W ten sposób za pomocą tego schematu rozwiązano oba problemy: ochronę i przenoszenie programów.

W wyniku weryfikacji i transformacji danych wygenerowany przez program adres, zwany adresem wirtualnym, jest tłumaczony na adres używany przez pamięć i nazywany adresem fizycznym. Urządzenie przeprowadzające sprawdzanie i konwersję nazywane jest jednostką zarządzającą pamięcią lub menedżerem pamięci (MMU, Memory Management Unit). Menedżer pamięci znajduje się w obwodzie procesora lub w jego pobliżu, ale logicznie jest umiejscowiony pomiędzy procesorem a pamięcią.

Bardziej złożony menedżer pamięci składa się z dwóch par rejestrów podstawowych i granicznych. Jedna para przeznaczona jest na tekst programu, druga para na dane. Rejestr poleceń i wszystkie odniesienia do tekstu programu działają z pierwszą parą rejestrów, odniesienia do danych wykorzystują drugą parę rejestrów. Dzięki temu mechanizmowi możliwe staje się współdzielenie jednego programu przez kilku użytkowników przy jednoczesnym przechowywaniu w pamięci RAM tylko jednej kopii programu, co w prostym schemacie jest wykluczone. Gdy uruchomiony jest program nr 1, cztery rejestry są umieszczone jak pokazano na rys. 4 (b) po lewej stronie, gdy uruchomiony jest program nr 2 - po prawej stronie. Zarządzanie menedżerem pamięci jest funkcją systemu operacyjnego.

Następny w strukturze pamięci jest dysk magnetyczny(dysk twardy). Pamięć dyskowa jest o dwa rzędy wielkości tańsza niż pamięć RAM w przeliczeniu na bit i ma większy rozmiar, ale dostęp do danych znajdujących się na dysku trwa około trzy rzędy wielkości dłużej. Przyczyna niskiej prędkości twardy dysk jest fakt, że dysk jest konstrukcją mechaniczną. dysk twardy składa się z jednej lub więcej metalowych płytek obracających się z prędkością 5400, 7200 lub 10800 obr/min (rys. 5.). Informacje zapisywane są na płytach w formie koncentrycznych okręgów. Głowice odczytu/zapisu w każdej danej pozycji mogą odczytać pierścień na talerzu zwany ścieżką. Razem gąsienice dla danej pozycji wideł tworzą cylinder.

Każda ścieżka jest podzielona na pewną liczbę sektorów, zazwyczaj 512 bajtów na sektor. Na nowoczesnych dyskach cylindry zewnętrzne zawierają więcej sektorów niż cylindry wewnętrzne. Przesunięcie głowicy z jednego cylindra na drugi zajmuje około 1 ms, a przeniesienie do dowolnego cylindra zajmuje od 5 do 10 ms, w zależności od napędu. Gdy głowica znajdzie się nad żądaną ścieżką, należy poczekać, aż silnik obróci dysk tak, aby wymagany sektor znalazł się pod głowicą. Zajmuje to dodatkowe 5 do 10 ms, w zależności od prędkości obrotowej dysku. Gdy sektor znajduje się pod głowicą, proces odczytu lub zapisu odbywa się z szybkością od 5 MB/s (dla dysków o niskiej prędkości) do 160 MB/s (dla dysków o dużej szybkości).

Ostatnią warstwę zajmuje taśma magnetyczna. To medium było często wykorzystywane do tworzenia kopie zapasowe miejsca na dysku twardym lub do przechowywania dużych zbiorów danych. Aby uzyskać dostęp do informacji, taśmę umieszczano w czytniku taśmy magnetycznej, a następnie przewijano ją do żądanego bloku informacji. Cały proces trwał kilka minut. Opisana hierarchia pamięci jest typowa, jednak w niektórych przykładach wykonania nie wszystkie poziomy lub inne typy mogą występować (np. dysk optyczny). W każdym razie podczas poruszania się po hierarchii od góry do dołu czas dostępu losowego znacznie wzrasta od urządzenia do urządzenia, a pojemność rośnie proporcjonalnie do czasu dostępu.

Oprócz typów opisanych powyżej, wiele komputerów posiada pamięć o dostępie swobodnym tylko do odczytu (ROM, Read Only Memory), która nie traci swojej zawartości po wyłączeniu systemu komputerowego. Pamięć ROM jest programowana podczas produkcji i jej zawartości nie można później zmienić. Na niektórych komputerach pamięć ROM zawiera programy rozruchowe używane do uruchamiania komputera oraz niektóre karty we/wy do sterowania urządzeniami niskiego poziomu.

Elektrycznie kasowalna pamięć ROM (EEPROM, elektrycznie kasowana pamięć ROM) i pamięć flash RAM (flash RAM) są również nieulotne, ale w przeciwieństwie do pamięci ROM ich zawartość można wymazać i ponownie zapisać. Jednak zapisanie na nich danych trwa znacznie dłużej niż zapisanie w pamięci RAM. Dlatego są używane dokładnie w taki sam sposób, jak ROMy.

Istnieje inny rodzaj pamięci - pamięć CMOS, która jest ulotna i służy do przechowywania aktualnej daty i aktualnej godziny. Pamięć zasilana jest z baterii wbudowanej w komputer i może zawierać parametry konfiguracyjne (na przykład wskazujące, z którego dysku twardego wykonać rozruch).

3. Urządzenia wejścia/wyjścia

Inne urządzenia ściśle współpracujące z systemem operacyjnym to urządzenia wejścia/wyjścia, które składają się z dwóch części: kontrolera i samego urządzenia. Kontroler to mikroukład (chipset) na płytce włożony do złącza, który odbiera i wykonuje polecenia z systemu operacyjnego.

Przykładowo kontroler otrzymuje polecenie odczytania określonego sektora z dysku. Aby wykonać polecenie, sterownik konwertuje numer liniowy sektora dysku na numer cylindra, sektora i głowicy. Operację konwersji komplikuje fakt, że cylindry zewnętrzne mogą mieć więcej sektorów niż cylindry wewnętrzne. Następnie sterownik określa, na którym cylindrze aktualnie znajduje się głowica, i podaje sekwencję impulsów, aby przesunąć głowicę o wymaganą liczbę cylindrów. Następnie kontroler czeka, aż dysk się obróci, umieszczając wymagany sektor pod głowicą. Następnie procesy odczytu i przechowywania bitów przychodzących z dysku, procesy usuwania nagłówka i obliczania suma kontrolna. Następnie sterownik zbiera odebrane bity na słowa i zapisuje je w pamięci. Aby wykonać tę pracę, sterowniki zawierają wbudowane oprogramowanie sprzętowe.

Samo urządzenie I/O posiada prosty interfejs, który musi być zgodny z ujednoliconym standardem IDE (IDE, Integrated Drive Electronics – wbudowany interfejs napędu). Ponieważ interfejs urządzenia jest ukryty przez kontroler, system operacyjny widzi tylko interfejs kontrolera, który może różnić się od interfejsu urządzenia.

Ponieważ kontrolery dla różnych urządzeń I/O różnią się od siebie, wymagają odpowiedniego oprogramowanie- kierowcy. Dlatego każdy producent kontrolera musi dostarczyć sterowniki dla obsługiwanych przez siebie systemów operacyjnych. Istnieją trzy sposoby instalacji sterownika w systemie operacyjnym:

Odbuduj jądro za pomocą nowego sterownika, a następnie zrestartuj system, czyli tyle, ile systemów UNIX działa;

Utwórz wpis w pliku zawartym w systemie operacyjnym, że wymagany jest sterownik i uruchom ponownie system; podczas pierwszego uruchomienia system operacyjny znajdzie wymagany sterownik i pobierz go; Tak działa system operacyjny Windows;

Zaakceptuj nowe sterowniki i szybko je zainstaluj, korzystając z działającego systemu operacyjnego; Z tej metody korzystają wymienne magistrale USB i IEEE 1394, które zawsze wymagają dynamicznie ładowanych sterowników.

Istnieją pewne rejestry służące do komunikacji z każdym kontrolerem. Na przykład minimalny kontroler dysku może mieć rejestry określające adres dysku, adres pamięci, numer sektora i kierunek operacji (odczyt lub zapis). Aby aktywować sterownik, sterownik otrzymuje polecenie z systemu operacyjnego, następnie tłumaczy je na wartości nadające się do zapisu do rejestrów urządzenia.

Na niektórych komputerach rejestry urządzeń we/wy są odwzorowywane w przestrzeni adresowej systemu operacyjnego, dzięki czemu można je czytać lub zapisywać w pamięci jak zwykłe słowa. Adresy rejestrów są umieszczane w pamięci RAM poza zasięgiem programów użytkownika w celu ochrony programów użytkownika przed sprzętem (na przykład przy użyciu rejestrów podstawowych i limitujących).

Na innych komputerach rejestry urządzeń znajdują się w specjalnych portach we/wy, a każdy rejestr ma swój własny adres portu. Na takich maszynach w trybie uprzywilejowanym dostępne są polecenia IN i OUT, które umożliwiają sterownikom odczyt i zapis rejestrów. Pierwszy schemat eliminuje potrzebę specjalnych instrukcji we/wy, ale wykorzystuje pewną przestrzeń adresową. Drugi schemat nie wpływa na przestrzeń adresową, ale wymaga specjalnych poleceń. Obydwa schematy są powszechnie stosowane. Wprowadzanie i wyprowadzanie danych odbywa się na trzy sposoby.

1. Program użytkownika wysyła żądanie systemowe, które jądro tłumaczy na wywołanie procedury odpowiedniego sterownika. Następnie sterownik rozpoczyna proces we/wy. W tym czasie sterownik wykonuje bardzo krótką pętlę programu, stale odpytując gotowość urządzenia, z którym współpracuje (zwykle jest jakiś bit wskazujący, że urządzenie jest nadal zajęte). Po zakończeniu operacji we/wy sterownik umieszcza dane tam, gdzie są potrzebne i powraca do pierwotnego stanu. Następnie system operacyjny zwraca kontrolę do programu, który wykonał wywołanie. Ta metoda nazywa się gotowością oczekiwania lub aktywnym oczekiwaniem i ma jedną wadę: procesor musi odpytywać urządzenie, dopóki nie zakończy ono swojej pracy.

2. Sterownik uruchamia urządzenie i prosi o wydanie przerwania po zakończeniu operacji we/wy. Następnie sterownik zwraca dane, system operacyjny blokuje program wywołujący, jeśli to konieczne, i zaczyna wykonywać inne zadania. Gdy kontroler wykryje koniec przesyłania danych, generuje przerwanie sygnalizujące zakończenie operacji. Mechanizm realizacji wejścia-wyjścia przebiega następująco (ryc. 6.a):

Krok 1: sterownik przekazuje polecenie do sterownika, zapisując informację do rejestrów urządzenia; Kontroler uruchamia urządzenie wejścia/wyjścia.

Krok 2: Po zakończeniu odczytu lub zapisu kontroler wysyła sygnał do układu kontrolera przerwań.

Krok 3: Jeśli kontroler przerwań jest gotowy na przyjęcie przerwania, wysyła sygnał do określonego pinu procesora.

Krok 4: Kontroler przerwań umieszcza numer urządzenia we/wy na magistrali, aby procesor mógł go odczytać i wiedzieć, które urządzenie zakończyło pracę. Gdy procesor otrzymuje przerwanie, zawartość licznika programu (PC) i słowa stanu procesora (PSW) jest umieszczana na bieżącym stosie, a procesor przełącza się do trybu uprzywilejowanego (tryb jądra systemu operacyjnego). Numer urządzenia we/wy może służyć jako indeks części pamięci używanej do znalezienia adresu procedury obsługi przerwań tego urządzenia. Ta część pamięci nazywana jest wektorem przerwań. Kiedy moduł obsługi przerwań (część sterownika urządzenia, która wysłała przerwanie) rozpoczyna pracę, usuwa licznik programu i słowo stanu procesora znajdujące się na stosie, przechowuje je i wysyła do urządzenia zapytanie o informacje o jego stanie. Po zakończeniu przetwarzania przerwania sterowanie powraca do wcześniej uruchomionego programu użytkownika, do polecenia, którego wykonanie nie zostało jeszcze zakończone (rys. 6 b).

3. Do wprowadzania i wyprowadzania informacji wykorzystywany jest kontroler bezpośredniego dostępu do pamięci (DMA, Direct Memory Access), który kontroluje przepływ bitów między pamięcią RAM a niektórymi kontrolerami bez ciągłej interwencji centralnego procesora. Procesor wywołuje układ DMA, informuje go, ile bajtów należy przesłać, podaje adresy urządzenia i pamięci oraz kierunek przesyłania danych, a także pozwala chipowi działać samodzielnie. Po zakończeniu DMA wysyła przerwanie, które jest odpowiednio obsługiwane.

Przerwania mogą wystąpić w nieodpowiednim momencie, na przykład podczas przetwarzania innego przerwania. Z tego powodu procesor ma możliwość wyłączenia przerwań i włączenia ich później. Gdy przerwania są wyłączone, wszystkie urządzenia, które zakończyły swoją pracę, nadal wysyłają swoje sygnały, ale procesor nie jest przerywany, dopóki przerwania nie zostaną włączone. Jeśli wiele urządzeń kończy działanie w tym samym czasie, a przerwania są wyłączone, kontroler przerwań decyduje, które z nich powinno zostać przetworzone jako pierwsze, zwykle w oparciu o statyczne priorytety przypisane każdemu urządzeniu.

System komputerowy Pentium ma osiem magistral (szyna pamięci podręcznej, magistrala lokalna, magistrala pamięci, PCI, SCSI, USB, IDE i ISA). Każda magistrala ma własną prędkość przesyłania danych i funkcje. System operacyjny musi zawierać informacje o wszystkich magistralach, aby móc zarządzać komputerem i go konfigurować.

Magistrala ISA (Industry Standard Architecture) - pojawiła się po raz pierwszy w komputerach IBM PC/AT, działa z częstotliwością 8,33 MHz i może przesyłać dwa bajty na cykl zegara z maksymalna prędkość 16,67 MB/s; jest on dołączony do systemu w celu zapewnienia kompatybilności wstecznej ze starszymi, wolnymi kartami we/wy.

Magistrala PCI (połączenie komponentów peryferyjnych, interfejs urządzenia peryferyjne) - stworzony przez firmę Intel jako następca magistrali ISA, może pracować z częstotliwością 66 MHz i przesyłać 8 bajtów na takt z szybkością 528 MB/s. Obecnie Autobusy PCI używać większości szybkich urządzeń we/wy, a także komputerów z procesorami innych firm niż Intel, ponieważ wiele kart we/wy jest z nimi kompatybilnych.

Magistrala lokalna w systemie Pentium jest wykorzystywana przez procesor do przesyłania danych do układu mostka PCI, który uzyskuje dostęp do pamięci na dedykowanej magistrali pamięci, często pracującej z częstotliwością 100 MHz.

Magistrala pamięci podręcznej służy do łączenia zewnętrznej pamięci podręcznej, ponieważ systemy Pentium mają wbudowaną w procesor pamięć podręczną pierwszego poziomu (pamięć podręczna L1) i dużą zewnętrzną pamięć podręczną drugiego poziomu (pamięć podręczna L2).

Magistrala IDE służy do podłączenia urządzeń peryferyjnych: dysków i czytników CD-ROM. Magistrala jest następcą interfejsu kontrolera dysku PC/AT i obecnie jest standardem we wszystkich systemach opartych na procesorach Pentium.

Magistrala USB (Uniwersalna magistrala szeregowa, uniwersalna autobus szeregowy) przeznaczony jest do podłączenia wolnych urządzeń wejścia/wyjścia (klawiatura, mysz) do komputera. Wykorzystuje małe czteroprzewodowe złącze z dwoma przewodami zasilającymi urządzenia USB.

Magistrala USB to scentralizowana magistrala, za pośrednictwem której urządzenie hosta co milisekundę odpytuje urządzenia we/wy, aby sprawdzić, czy zawierają dane. Może zarządzać pobieraniem danych z prędkością 1,5 MB/s. Wszystkie urządzenia USB korzystają z tego samego sterownika, dzięki czemu można je podłączyć do systemu bez jego ponownego uruchamiania.

Magistrala SCSI (Small Computer System Interface) to magistrala o wysokiej wydajności używana do obsługi szybkich dysków, skanerów i innych urządzeń wymagających znacznej przepustowości. Jego wydajność sięga 160 MB/s. Magistrala SCSI jest używana w systemach Macintosh i jest popularna w systemach UNIX i innych systemach opartych na procesorach Intel.

Magistrala IEEE 1394 (FireWire) jest magistralą bitowo-szeregową i obsługuje pakietową transmisję danych z szybkością do 50 MB/s. Ta właściwość umożliwia podłączenie do komputera przenośnych cyfrowych kamer wideo i innych urządzeń multimedialnych. W przeciwieństwie do magistrali USB, magistrala IEEE 1394 nie posiada centralnego sterownika.

System operacyjny musi być w stanie rozpoznać komponenty sprzętowe i móc je skonfigurować. Wymóg ten doprowadził Intel i Microsoft w celu opracowania systemu komputera osobistego o nazwie plug and play. Przed tym systemem każda karta we/wy miała stałe adresy rejestrów we/wy i poziom żądań przerwań. Na przykład klawiatura używała przerwania 1 i adresów z zakresu od 0x60 do 0x64; Kontroler dyskietki wykorzystywał przerwanie 6 i adresy od 0x3F0 do 0x3F7; drukarka używała przerwania 7 i adresów od 0x378 do 0x37A.

Jeśli użytkownik kupił karta dźwiękowa i modemu, zdarzało się, że urządzenia te przypadkowo korzystały z tego samego przerwania. Wystąpił konflikt, przez co urządzenia nie mogły ze sobą współpracować. Możliwym rozwiązaniem było wbudowanie zestawu przełączników DIP (zworek) w każdą płytkę i skonfigurowanie każdej płytki w taki sposób, aby adresy portów i numery przerwań różnych urządzeń nie kolidowały ze sobą.

Plug and play umożliwia systemowi operacyjnemu automatyczne zbieranie informacji o urządzeniach we/wy, centralne przypisywanie poziomów przerwań i adresów we/wy, a następnie przekazywanie tych informacji każdej karcie. System ten działa na komputerach Pentium. Każdy komputer z procesorem Pentium zawiera płytę główną, na której znajduje się program - systemu BIOS(Podstawowy System Wejścia Wyscia - system podstawowy we/wy). BIOS zawiera programy we/wy niskiego poziomu, w tym procedury odczytu z klawiatury, wyświetlania informacji na ekranie, danych we/wy z dysku itp.

Po uruchomieniu komputera uruchamia się system BIOS, który sprawdza ilość pamięci RAM zainstalowanej w systemie, podłączenie i poprawność pracy klawiatury oraz innych głównych urządzeń. Następnie BIOS sprawdza magistrale ISA i PCI oraz wszystkie podłączone do nich urządzenia. Niektóre z tych urządzeń są tradycyjne (pre-plug and play). Mają stałe poziomy przerwań i adresy portów we/wy (na przykład ustawiane za pomocą przełączników lub zworek na płycie we/wy i nie mogą być zmieniane przez system operacyjny). Te urządzenia są rejestrowane, a następnie rejestrowane są urządzenia typu plug and play. Jeśli obecne urządzenia różnią się od tych obecnych podczas ostatniego rozruchu, konfigurowane są nowe urządzenia.

Następnie BIOS określa, z którego urządzenia przeprowadzić rozruch, wypróbowując po kolei każdą listę zapisaną w pamięci CMOS. Użytkownik może zmienić tę listę, wchodząc do programu konfiguracyjnego BIOS-u natychmiast po uruchomieniu. Zazwyczaj najpierw będzie próbował uruchomić komputer z dyskietki. Jeśli to się nie powiedzie, zostanie wypróbowana płyta CD. Jeśli w komputerze nie ma zarówno dyskietki, jak i dysku CD, system zostanie uruchomiony z dysku twardego. Pierwszy sektor jest wczytywany do pamięci z urządzenia rozruchowego i wykonywany. Sektor ten zawiera program, który sprawdza tablicę partycji na końcu sektora rozruchowego, aby określić, która partycja jest aktywna. Dodatkowy program ładujący jest następnie odczytywany z tej samej partycji. Czyta z partycja aktywna systemu operacyjnego i uruchamia go.

Następnie system operacyjny odpytuje BIOS, aby uzyskać informacje o konfiguracji komputera i sprawdza obecność sterownika dla każdego urządzenia. W przypadku braku sterownika system operacyjny prosi o włożenie dyskietki lub płyty CD zawierającej sterownik (dyskietki te dostarczane są przez producenta urządzenia). Jeśli wszystkie sterowniki są na swoim miejscu, system operacyjny ładuje je do jądra. Następnie inicjuje tabele sterowników, tworzy niezbędne procesy w tle i uruchamia program do wprowadzania hasła lub graficzny interfejs użytkownika na każdym terminalu.

5. Historia rozwoju technologii komputerowej

Wszystkie komputery osobiste kompatybilne z IBM są wyposażone w procesory kompatybilne z firmą Intel. Historia rozwoju mikroprocesorów z rodziny Intel jest w skrócie następująca. Pierwszy uniwersalny mikroprocesor Intela pojawił się w 1970 roku. Nazywał się Intel 4004, był czterobitowy i umożliwiał wprowadzanie/wyprowadzanie oraz przetwarzanie czterobitowych słów. Jego prędkość wynosiła 8000 operacji na sekundę. Mikroprocesor Intel 4004 został zaprojektowany do stosowania w programowalnych kalkulatorach o wielkości pamięci 4 KB.

Trzy lata później Intel wypuścił procesor 8080, który mógł już wykonywać 16-bitowe operacje arytmetyczne, miał 16-bitową szynę adresową i dlatego mógł adresować do 64 KB pamięci (2516 0 = 65536). Rok 1978 upłynął pod znakiem wypuszczenia procesora 8086 o rozmiarze słowa 16 bitów (dwa bajty), 20-bitowej magistrali i mogącego działać z 1 MB pamięci (2 520 0 = 1048576, czyli 1024 KB), podzielonej na bloki (segmenty) po 64 KB każdy. Procesor 8086 znajdował się w komputerach kompatybilnych z IBM PC i IBM PC/XT. Kolejnym ważnym krokiem w rozwoju nowych mikroprocesorów był procesor 8028b, który pojawił się w 1982 roku. Posiadał 24-bitową szynę adresową, zarządzał 16 megabajtami przestrzeni adresowej i był instalowany na komputerach kompatybilnych z IBM PC/AT. W październiku 1985 roku wypuszczono model 80386DX z 32-bitową magistralą adresową (maksymalna przestrzeń adresowa 4 GB), a w czerwcu 1988 roku wypuszczono model 80386SX, który był tańszy niż 80386DX i miał 24-bitową szynę adresową. Następnie w kwietniu 1989 roku pojawił się mikroprocesor 80486DX, a w maju 1993 roku pojawiła się pierwsza wersja procesora Pentium (obie z 32-bitową szyną adresową).

W maju 1995 roku w Moskwie na międzynarodowej wystawie Comtec-95 Intel zaprezentował nowy procesor- P6.

Jednym z najważniejszych celów postawionych podczas opracowywania P6 było podwojenie wydajności procesora Pentium. Jednocześnie produkcja pierwszych wersji P6 będzie prowadzona według już debugowanego „Intela” i wykorzystywana w produkcji najnowsze wersje Technologia półprzewodników Pentium (0,6 mikrona, 3,3 V).

Stosowanie tego samego procesu produkcyjnego gwarantuje, że P6 może być produkowany masowo bez większych problemów. Oznacza to jednak, że podwojenie wydajności można osiągnąć jedynie poprzez kompleksowe ulepszenia mikroarchitektury procesora. Mikroarchitektura P6 została zaprojektowana przy użyciu starannie przemyślanego i dopasowanego połączenia różnych technik architektonicznych. Część z nich była już wcześniej testowana w procesorach dużych komputerów, część została zaproponowana przez instytucje akademickie, a resztę opracowali inżynierowie Intela. To unikalne połączenie cech architektonicznych, które Intel określa jako „dynamiczne wykonanie”, pozwoliło pierwszym matrycom P6 przekroczyć pierwotnie planowany poziom wydajności.

Porównując z alternatywnymi procesorami Intela z rodziny x86 okazuje się, że mikroarchitektura P6 ma wiele wspólnego z mikroarchitekturą procesorów Nx586 firmy NexGen i K5 AMD oraz, choć w mniejszym stopniu, z M1 Cyrixa. Tę podobieństwo tłumaczy się faktem, że inżynierowie z czterech firm rozwiązywali ten sam problem: wprowadzenie elementów technologii RISC przy jednoczesnym zachowaniu kompatybilności z architekturą Intel x86 CISC.

Dwa kryształy w jednym opakowaniu

Główną zaletą i unikalną cechą P6 jest jego umiejscowienie w tym samym pakiecie z procesorem znajduje się dodatkowa statyczna pamięć podręczna o wielkości 256 KB, połączona z procesorem specjalnie dedykowaną magistralą. Projekt ten powinien znacznie uprościć projektowanie systemów opartych na P6. P6 to pierwszy mikroprocesor przeznaczony do masowej produkcji, który zawiera dwa chipy w jednej obudowie.

Moduł procesora w P6 zawiera 5,5 miliona tranzystorów; Kryształ pamięci podręcznej L2 - 15,5 miliona. Dla porownania, Najnowszy model Pentium zawierało około 3,3 miliona tranzystorów, a pamięć podręczną L2 zaimplementowano przy użyciu zewnętrznego zestawu kości pamięci.

Więc duża liczba tranzystorów w pamięci podręcznej wynika z jej statycznego charakteru. Pamięć statyczna P6 wykorzystuje sześć tranzystorów do przechowywania jednego bitu, podczas gdy pamięć dynamiczna potrzebuje tylko jednego tranzystora na bit. Pamięć statyczna jest szybsza, ale droższa. Chociaż liczba tranzystorów w chipie z dodatkową pamięcią podręczną jest trzykrotnie większa niż w chipie procesora, fizyczne wymiary pamięci podręcznej są mniejsze: 202 milimetry kwadratowe w porównaniu z 306 milimetrami kwadratowymi w przypadku procesora. Obydwa kryształy są zamknięte razem w obudowie ceramicznej zawierającej 387 styków („układ pin-drid z podwójną wnęką”). Obie matryce wykonane są w tej samej technologii (0,6 µm, 4-warstwowy metal-BiCMOS, 2,9 V). Szacowany maksymalny pobór mocy: 20 W przy 133 MHz.

Pierwszym powodem połączenia procesora i dodatkowej pamięci podręcznej w jednym pakiecie jest ułatwienie projektowania i produkcji wysokowydajnych systemów opartych na P6. Wydajność systemu komputerowego zbudowanego na szybkim procesorze w dużej mierze zależy od strojenie chipy środowiska procesora, w szczególności dodatkowa pamięć podręczna. Nie wszystkie firmy produkujące komputery mogą sobie pozwolić na odpowiednie badania. W P6 dodatkowa pamięć podręczna jest już skonfigurowana optymalnie dla procesora, co upraszcza konstrukcję płyty głównej.

Drugim powodem fuzji jest poprawa produktywności. Procesor drugiego poziomu jest podłączony do procesora za pomocą specjalnie dedykowanej magistrali o szerokości 64 bitów i pracuje z tą samą częstotliwością zegara co procesor.

Pierwsze procesory Pentium o częstotliwości 60 i 66 MHz korzystały z dodatkowej pamięci podręcznej za pośrednictwem 64-bitowej magistrali przy tej samej częstotliwości zegara. Jednakże wraz ze wzrostem szybkości zegara Pentium, utrzymanie tej częstotliwości przez cały czas stało się dla projektantów zbyt trudne i kosztowne. płyta główna. Dlatego zaczęto stosować dzielniki częstotliwości. Przykładowo dla Pentium 100 MHz magistrala zewnętrzna pracuje z częstotliwością 66 MHz (w przypadku Pentium 90 MHz jest to odpowiednio 60 MHz). Pentium wykorzystuje tę magistralę zarówno do uzyskiwania dostępu do dodatkowej pamięci podręcznej, jak i do uzyskiwania dostępu do pamięci głównej i innych urządzeń, takich jak chipset PCI.

Korzystanie z dedykowanej magistrali w celu uzyskania dostępu do dodatkowej pamięci podręcznej poprawia wydajność systemu. Po pierwsze, zapewnia to pełną synchronizację prędkości procesora i magistrali; po drugie, eliminuje się konkurencję z innymi operacjami we/wy i związane z nią opóźnienia. Magistrala pamięci podręcznej L2 jest całkowicie oddzielona od magistrali zewnętrznej, poprzez którą uzyskuje się dostęp do pamięci i urządzeń zewnętrznych. 64-bitowa magistrala zewnętrzna może działać z połową, jedną trzecią lub jedną czwartą szybkości procesora, podczas gdy dodatkowa magistrala pamięci podręcznej działa niezależnie z pełną szybkością.

Połączenie procesora i dodatkowej pamięci podręcznej w jeden pakiet i przesyłanie ich za pośrednictwem dedykowanej magistrali to krok w kierunku technik zwiększających wydajność stosowanych w najpotężniejszych procesorach RISC. Zatem w procesorze Alpha 21164 firmy Digital pamięć podręczna drugiego poziomu o pojemności 96 kB jest umieszczona w rdzeniu procesora, podobnie jak podstawowa pamięć podręczna. Zapewnia to bardzo wysoką wydajność pamięci podręcznej poprzez zwiększenie liczby tranzystorów w chipie do 9,3 miliona. Wydajność Alpha 21164 wynosi 330 SPECint92 przy 300 MHz. Wydajność P6 jest niższa (Intel szacuje 200 SPECint92 przy 133 MHz), ale P6 zapewnia najlepszy stosunek koszt/wydajność dla potencjalnego rynku.

Oceniając stosunek ceny do wydajności, warto wziąć pod uwagę, że choć P6 może być droższy od konkurentów, to większość pozostałych procesorów musi być otoczona dodatkowym zestawem kości pamięci i kontrolerem pamięci podręcznej. Ponadto, aby osiągnąć porównywalną wydajność pamięci podręcznej, inne procesory będą musiały używać pamięci podręcznej większej niż 256 KB.

Intel zazwyczaj oferuje wiele odmian swoich procesorów. Odbywa się to w celu zaspokojenia różnorodnych wymagań projektantów systemów i pozostawienia mniej miejsca dla konkurencyjnych modeli. Można zatem założyć, że wkrótce po rozpoczęciu produkcji P6 zarówno modyfikacje ze zwiększoną pojemnością dodatkowej pamięci podręcznej, jak i tańsze modyfikacje z lokalizacja zewnętrzna pomocnicza pamięć podręczna, ale z zachowaniem dedykowanej magistrali pomiędzy dodatkową pamięcią podręczną a procesorem.

Pentium jako punkt wyjścia

Procesor Pentium z jego potokiem i superskalarem architektura osiągnęła imponujący poziom wydajności. Pentium zawiera dwa 5-stopniowe potoki, które mogą działać równolegle i wykonywać dwie instrukcje całkowite na cykl zegara maszyny. W takim przypadku równolegle można wykonać tylko parę poleceń, następujących po sobie w programie i spełniających określone zasady, na przykład brak zależności rejestrów typu „zapis po czytaniu”.

W P6, w celu zwiększenia przepustowości, dokonano przejścia na pojedynczy 12-stopniowy rurociąg. Zwiększenie liczby etapów prowadzi do zmniejszenia pracy wykonywanej na każdym etapie, a w efekcie do skrócenia czasu, jaki zespół spędza na każdym etapie o 33 procent w porównaniu do Pentium. Oznacza to, że użycie tej samej technologii użytej do wyprodukowania P6, co w przypadku Pentium 100 MHz, dałoby P6 taktowany zegarem 133 MHz.

Moc superskalarnej architektury Pentium, z możliwością wykonywania dwóch instrukcji na zegar, byłaby trudna do pokonania bez zupełnie nowego podejścia. Stosowane w P6 nowe podejście eliminuje sztywną relację pomiędzy tradycyjnymi fazami „pobrania” i „wykonania”, gdzie kolejność instrukcji w tych dwóch fazach odpowiada sekwencji instrukcji w programie.

Nowe podejście polega na wykorzystaniu tzw. puli poleceń i nowości skuteczne metody przewidywanie przyszłego zachowania programu. W tym przypadku tradycyjną fazę „wykonania” zastępuje się dwiema fazami: „wysyłaniem/wykonaniem” i „wycofywaniem”. Dzięki temu polecenia mogą rozpocząć wykonywanie w dowolnej kolejności, ale zawsze zakończyć swoje wykonanie zgodnie z pierwotną kolejnością w programie. Rdzeń P6 jest realizowany jako trzy niezależne urządzenia współdziałające poprzez pulę poleceń (rys. 1).

Główny problem w poprawie produktywności

Decyzja o zorganizowaniu P6 jako trzech niezależnych urządzeń współdziałających poprzez pulę instrukcji została podjęta po dokładnej analizie czynników ograniczających wydajność współczesnych mikroprocesorów. Zasadniczym faktem, dotyczącym Pentium i wielu innych procesorów, jest to, że moc procesora nie jest w pełni wykorzystywana podczas wykonywania programów w świecie rzeczywistym.

Podczas gdy w ciągu ostatnich 10 lat szybkości procesorów wzrosły co najmniej 10 razy, czas dostępu do pamięci głównej skrócił się zaledwie o 60 procent. To rosnące opóźnienie w szybkości pamięci w stosunku do szybkości procesora było podstawowym problemem, który należało rozwiązać podczas projektowania P6.

Jednym z możliwych podejść do rozwiązania tego problemu jest skupienie się na rozwoju wysokowydajnych komponentów otaczających procesor. Jednak masowa produkcja systemów zawierających zarówno wysokowydajny procesor, jak i szybkie, wyspecjalizowane układy środowiskowe, byłaby zbyt kosztowna.

Możesz spróbować rozwiązać problem za pomocą brutalna siła, a mianowicie zwiększ rozmiar pamięci podręcznej drugiego poziomu, aby zmniejszyć odsetek przypadków, w których brakuje niezbędnych danych w pamięci podręcznej.

To rozwiązanie jest skuteczne, ale także niezwykle kosztowne, szczególnie biorąc pod uwagę dzisiejsze wymagania dotyczące szybkości komponentów pamięci podręcznej L2. P6 projektowano z punktu widzenia sprawnej realizacji kompletnego systemu obliczeniowego, przy czym wymagano, aby wysoka wydajność całego systemu została osiągnięta przy wykorzystaniu taniego podukładu pamięci.

Zatem, Połączenie technik architektonicznych P6, takich jak ulepszone przewidywanie rozgałęzień (prawie zawsze poprawnie określana jest następna sekwencja poleceń), analiza przepływu danych (określana jest optymalna kolejność wykonywania poleceń) i wykonanie z wyprzedzeniem (przewidywana sekwencja poleceń jest wykonywana bez przestojów) w optymalnej kolejności) podwoiła wydajność w stosunku do Pentium wykorzystującego tę samą technologię produkcji. Ta kombinacja metod nazywa się wykonaniem dynamicznym.

Obecnie Intel pracuje nad nową technologią produkcji 0,35 mikrona, która umożliwi produkcję procesorów P6 z częstotliwością rdzenia przekraczającą 200 MHz.

P6 jako platforma do budowy wydajnych serwerów

Wśród najważniejszych trendy w rozwoju komputerów w ostatnich latach można utożsamiać ze coraz większym wykorzystaniem systemów opartych na procesorach z rodziny x86 jako serwerami aplikacji oraz rosnącą rolą firmy Intel jako dostawcy technologii pozaprocesowych takich jak magistrale, technologie sieciowe, kompresja wideo, flash administracja pamięcią i systemem.

Wypuszczenie procesora P6 stanowi kontynuację polityki Intela polegającej na wprowadzaniu na rynek masowy możliwości, które wcześniej można było znaleźć tylko w droższych komputerach. Kontrolę parzystości zapewniają wewnętrzne rejestry P6, a 64-bitowa magistrala łącząca rdzeń procesora z pamięcią podręczną drugiego poziomu wyposażona jest w narzędzia do wykrywania i korekcji błędów. Nowe możliwości diagnostyczne wbudowane w P6 umożliwiają producentom projektowanie bardziej niezawodnych systemów. P6 zapewnia możliwość uzyskania informacji poprzez kontakty procesora lub za pomocą oprogramowania o ponad 100 zmiennych procesora lub zdarzeniach w nim zachodzących, takich jak brak danych w pamięci podręcznej, zawartość rejestrów, pojawienie się samomodyfikującego się kodu oraz Wkrótce. System operacyjny i inne programy mogą odczytać te informacje w celu określenia stanu procesora. P6 oferuje także ulepszoną obsługę punktów kontrolnych, co oznacza, że ​​w przypadku wystąpienia błędu można przywrócić komputer do wcześniej zarejestrowanego stanu.

Podobne dokumenty

    Technologia komputerowa pojawiła się dawno temu, gdyż potrzeba różnego rodzaju obliczeń istniała już u zarania rozwoju cywilizacji. Szybki rozwój technologii komputerowej. Tworzenie pierwszych komputerów PC, minikomputerów od lat 80-tych XX wieku.

    streszczenie, dodano 25.09.2008

    Charakterystyka systemów konserwacji technicznej i zapobiegawczej sprzętu komputerowego. Programy diagnostyczne dla systemów operacyjnych. Wzajemne powiązania zautomatyzowanych systemów sterowania. Ochrona komputera przed niekorzystnymi wpływami zewnętrznymi.

    streszczenie, dodano 25.03.2015

    Opracowanie systemu informacyjno-analitycznego do analizy i optymalizacji konfiguracji sprzętu komputerowego. Struktura zautomatyzowane sterowanie za pomocą technologii komputerowej. Oprogramowanie, uzasadnienie efektywności ekonomicznej projektu.

    teza, dodano 20.05.2013

    Ręczny etap rozwoju technologii komputerowej. Pozycyjny system liczbowy. Rozwój mechaniki w XVII wieku. Elektromechaniczny etap rozwoju technologii komputerowej. Komputery piątej generacji. Parametry i cechy charakterystyczne superkomputera.

    praca na kursie, dodano 18.04.2012

    Budowa i zasada działania komputera osobistego (PC). Diagnostyka wydajności komputera i identyfikacja usterek. Zadania Konserwacja zaplecze komputerowe. Opracowanie metod utrzymania sprzętu w stanie użytkowym.

    praca na kursie, dodano 13.07.2011

    Badanie praktyk zagranicznych i krajowych w rozwoju technologii komputerowej oraz perspektyw rozwoju komputerów w najbliższej przyszłości. Technologie obsługi komputerów. Etapy rozwoju branży komputerowej w naszym kraju. Połączenie komputera PC i komunikacji.

    praca na kursie, dodano 27.04.2013

    Klasyfikacja procedur projektowych. Historia syntezy technologii komputerowej i projektowania inżynierskiego. Funkcje systemów projektowania wspomaganego komputerowo, ich oprogramowanie. Cechy zastosowania trójwymiarowych skanerów, manipulatorów i drukarek.

    streszczenie, dodano 25.12.2012

    Automatyzacja przetwarzania danych. Informatyka i jej praktyczne skutki. Historia powstania cyfrowej technologii komputerowej. Komputery elektromechaniczne. Zastosowanie lamp próżniowych i komputerów pierwszej, trzeciej i czwartej generacji.

    teza, dodana 23.06.2009

    Pojęcie i charakterystyka komputera osobistego, jego główne części i ich przeznaczenie. Narzędzia nauczania informatyki i możliwości organizacji pracy w klasie informatyki. Wyposażenie stanowisk pracy i zastosowanie oprogramowania.

    streszczenie, dodano 09.07.2012

    Skład systemu komputerowego to konfiguracja komputera, jego sprzętu i oprogramowania. Urządzenia i instrumenty tworzące konfigurację sprzętową komputera osobistego. Pamięć główna, porty we/wy, adapter peryferyjny.