• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Mikroprogram



    Podstrony: 1 [2] [3]
    Przeczytaj także...
    Lista rozkazów procesora (ang. instruction set) – zestaw podstawowych instrukcji, jakie dany procesor potrafi wykonać.RISC (Reduced Instruction Set Computer) – nazwa architektury mikroprocesorów, która została przedstawiona pod koniec lat 70. w teoretycznych pracach na uniwersytecie Berkeley oraz w wynikach badań Johna Cocke z Thomas J. Watson Research Center.

    Mikroprogram, mikrokodprogram implementujący listę rozkazów procesora. Podobnie jak język wysokiego poziomu jest kompilowany do kodu maszynowego, tak każdy rozkaz kodu maszynowego ma postać ciągu mikroinstrukcji nazywanego mikroprogramem lub mikrokodem.

    Elementy tworzące mikroprogram znajdują się na pojęciowo niższym poziomie niż instrukcje języka maszynowego (asemblera). Aby więc odróżnić je od elementów programowania niskopoziomowego, stosuje się przedrostek mikro-: mikroprogram, mikrokod, mikroinstrukcja, mikroasembler.

    Mikroprogramy są szczegółowo dopracowywane i optymalizowane pod kątem jak najszybszego wykonania. Zaniedbanie na tym poziomie grozi dużym spowolnieniem programów, które będą uruchamiane na tym procesorze. Mikroprogramista musi posiadać gruntowną wiedzę na temat obwodów elektrycznych danego typu komputera, ponieważ na nich właśnie operuje mikrokod. Mikroprogram jest pisany przez twórców procesorów w fazie projektowania.

    Emulacja (ang. emulation) – programowe symulowanie działania określonego oprogramowania lub platformy sprzętowej przez inny system lub na sprzęcie innego typu.Język wysokiego poziomu (autokod) – typ języka programowania, którego składnia i słowa kluczowe mają maksymalnie ułatwić rozumienie kodu programu dla człowieka, tym samym zwiększając poziom abstrakcji i dystansując się od sprzętowych niuansów. Kod napisany w języku wysokiego poziomu nie jest bezpośrednio „zrozumiały” dla komputera – większość kodu stanowią tak naprawdę normalne słowa, np. w języku angielskim. Aby umożliwić wykonanie programu napisanego w tym języku należy dokonać procesu kompilacji.

    W większości procesorów korzystających z mikrokodu, mikroprogram nie znajduje się w pamięci operacyjnej, lecz w specjalnej szybkiej pamięci zwanej pamięcią sterującą (ang. control store). Może być to pamięć tylko do odczytu lub pamięć o dostępie swobodnym. W drugim przypadku mikrokod jest ładowany do pamięci sterującej, z innego urządzenia pamięci, podczas inicjacji procesora. Wtedy też możliwe jest modyfikowanie mikrokodu w celu usunięcia błędów lub dodania nowych instrukcji. Mikrokod może również pozwalać na emulację innej, zwykle bardziej złożonej, architektury komputerowej.

    Komputer osobisty (ang. personal computer) – mikrokomputer przeznaczony przede wszystkim do użytku osobistego w domu i biurze. Służy głównie do uruchamiania oprogramowania biurowego, dostępu do zasobów Internetu, prezentacji treści multimedialnych (tekst, obrazy, dźwięki, filmy i inne), jak i gier.Pentium Pro to mikroprocesor szóstej generacji należący do rodziny x86, zaprojektowany i produkowany przez firmę Intel.

    Początki mikroprogramowania[ | edytuj kod]

    Mikrokod został stworzony, by uprościć proces programowania maszyny. Początkowo lista rozkazów procesora była na sztywno wbudowana w fizyczną architekturę komputera. Każdej elementarnej instrukcji (dodawaniu, przesuwaniu, kopiowaniu słów) odpowiadał układ elektroniczny. Zapewniało to wprawdzie bardzo szybkie wykonanie programu, jednak listy rozkazów stawały się coraz bardziej złożone, a ich projektowanie i testowanie w postaci fizycznych obwodów elektrycznych coraz trudniejsze.

    Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.Pamięć operacyjna (ang. internal memory, primary storage) – 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ępne 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, a dawniej używano pamięci o dostępie cyklicznym.

    Mikroprogramowanie zminimalizowało ten problem pozwalając projektantom procesorów implementować listę instrukcji jako mikroprogram, a nie zespół obwodów elektrycznych. W przeciwieństwie do wbudowanych instrukcji, nawet w zaawansowanej fazie projektowania mikrokod mógł być łatwo zmieniony. W ten sposób projektowanie procesorów zostało znacznie ułatwione i pozwoliło na dalsze rozbudowywanie list rozkazów procesora.

    Program komputerowy (ang. computer program) - sekwencja symboli opisująca obliczenia zgodnie z pewnymi regułami zwanymi językiem programowania. Program jest zazwyczaj wykonywany przez komputer (np. wyświetlenie strony internetowej), czasami bezpośrednio – jeśli wyrażony jest w języku zrozumiałym dla danej maszyny lub pośrednio – gdy jest interpretowany przez inny program (interpreter). Program może być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda).System operacyjny (ang. Operating System, skrót OS) – oprogramowanie zarządzające systemem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.

    Możliwość znacznego rozbudowania listy rozkazów procesora była istotną zaletą. Od lat 60. aż do późnych lat 70. znaczna część programowania odbywała się za pomocą języków asemblera, czyli symbolicznych odpowiedników rozkazów maszynowych. Większa abstrakcyjność (wysokopoziomowość) instrukcji oznaczała większą produktywność programisty. Doprowadziło to do projektów opartych o bezpośrednio wykonywalne języki wysokiego poziomu, gdzie każde wyrażenie języka wysokiego poziomu takiego jak PL/I mogło być bezpośrednio wykonane przez mikrokod sprzętu z pominięciem kompilacji. Przykładami tego podejścia były IBM Future Systems i Fountainhead Project (firmy Data General).

    BIOS (akronim ang. Basic Input/Output System – podstawowy system wejścia-wyjścia) – zapisany w pamięci stałej zestaw podstawowych procedur pośredniczących pomiędzy systemem operacyjnym a sprzętem. Posiada on własną pamięć, w której znajdują się informacje dotyczące daty, czasu oraz danych na temat wszystkich urządzeń zainstalowanych na naszym komputerze. Jest to program zapisany w pamięci ROM płyty głównej oraz innych kart rozszerzeń takich jak np. karta graficzna.VAX – architektura procesorów Digitala a zarazem seria komputerów opartych o rzeczoną ISA. Ten 32-bitowy model programowy został wprowadzony aby zastąpić różne (wzajemnie niezgodne) architektury komputerów serii Programmed Data Processor (PDP).

    Mikroprogramowanie pozwoliło również uporać się z problemem przepustowości pamięci. W latach 70. wydajność procesorów rosła dużo szybciej niż przepustowość pamięci, więc stosowano różne techniki akceleracji, takie jak przesyłanie bloków pamięci, czytanie z wyprzedzeniem czy wielopoziomowe pamięci podręczne. Instrukcje maszynowe wysokiego poziomu (implementowane w mikrokodzie) pozwalały dodatkowo odciążać pamięć. Na przykład całe operacje na łańcuchach znaków mogły być wykonywane dzięki pojedynczej instrukcji procesora i nie wymagały wielokrotnego uciekania się do pamięci w celu pobrania kolejnych instrukcji programu.

    Kompilator – program służący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równoważny kod w innym języku (języku wynikowym) . Proces ten nazywany jest kompilacją. W informatyce kompilatorem nazywa się najczęściej program do tłumaczenia kodu źródłowego w języku programowania na język maszynowy. Niektóre z nich tłumaczą najpierw do języka asemblera, a ten na język maszynowy jest tłumaczony przez asembler.Pamięć podręczna (ang. cache) – mechanizm, w którym część spośród danych zgromadzonych w źródłach o długim czasie dostępu i niższej przepustowości jest dodatkowo przechowywana w pamięci o lepszych parametrach. Ma to na celu poprawę szybkości dostępu do tych informacji, które przypuszczalnie będą potrzebne w najbliższej przyszłości.

    Do architektur korzystających z wysokopoziomowych instrukcji procesora należą IBM System/360 i VAX. Podejście polegające na używaniu wysoce złożonych instrukcji procesora implementowanych przy pomocy mikrokodu zostało później nazwane CISC. Pierwszym procesorem w architekturze x86 (wykorzystywanym w komputerach PC), w którym pojawiła się możliwość aktualizacji mikrokodu był Pentium Pro z 1995 r, a aktualizacja ta mogła być wykonywana przez system BIOS bądź też przez dowolny system operacyjny.

    ROM (ang. Read-Only Memory - pamięć tylko do odczytu) - rodzaj pamięci półprzewodnikowej urządzenia elektronicznego, w szczególności komputera, z której dane można tylko odczytywać, a zapis jest niemożliwy lub trwa długo może wymagać dodatkowych czynności lub sprzętu. W tego typu pamięciach przechowywane są dane, które muszą być zachowane, nawet jeśli urządzenie nie jest zasilane.RAM (ang. Random Access Memory – pamięć o dostępie swobodnym) – podstawowy rodzaj pamięci cyfrowej. Choć nazwa sugeruje, że oznacza to każdą pamięć o bezpośrednim dostępie do dowolnej komórki pamięci (w przeciwieństwie do pamięci o dostępie sekwencyjnym, np. rejestrów przesuwnych), ze względów historycznych określa ona tylko te rodzaje pamięci o bezpośrednim dostępie, w których możliwy jest wielokrotny i łatwy zapis, a wyklucza pamięci ROM (tylko do odczytu) i EEPROM których zapis trwa znacznie dłużej niż odczyt, pomimo iż w ich przypadku również występuje swobodny dostęp do zawartości.


    Podstrony: 1 [2] [3]




    Warto wiedzieć że... beta

    Implementacja (wdrożenie, przystosowanie, realizacja, łac.ang. implementation) – w informatyce – proces przekształcania abstrakcyjnego opisu systemu lub programu na obiekt fizyczny: komputer lub działający program zapisany w konkretnym języku programowania; także obiekt fizyczny będący efektem takiego przekształcenia, np. implementacja systemu operacyjnego (wdrożenie systemu) lub kompilatora dla konkretnego typu komputera.
    Rozkaz – w informatyce i programowaniu to pojedyncza operacja centralnej jednostki obliczeniowej określona przez zestaw rozkazów danej architektury. Jest ona przekazywana procesorowi, który ją wykonuje, po czym zapisuje wartość wynikową lub ustawia flagę błędu, jeżeli wystąpił. W szerszym pojęciu, rozkaz może być elementem programu wykonywalnego, takiego jak kod bajtowy.
    Język maszynowy (kod maszynowy) – język programowania, w którym zapis programu wymaga instrukcji bezpośrednio jako liczb, które są rozkazami i danymi bezpośrednio pobieranymi przez procesor wykonujący ten program.
    Słowo maszynowe lub po prostu słowo to podstawowa porcja informacji, na której operuje system komputerowy. Słowo, w przypadku maszyn operujących na arytmetyce binarnej, jest liczbą złożoną z odgórnie określonej ilości bitów. Liczbę bitów w słowie nazywamy długością lub szerokością słowa i z przyczyn praktycznych zazwyczaj jest ona potęgą liczby 2. Wielkość słowa określa rozmiar szyny danych oraz rejestrów procesora.
    x86 – rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem 8086, który z kolei wywodził się z 8-bitowego układu 8085. Nazwa architektury wywodzi się od nazw pierwszych modeli z tej rodziny, których numery kończyły się liczbą 86.

    Reklama

    Czas generowania strony: 0.017 sek.