Strona główna | English English
Attached
Powrót | Poprzedni | Następny

O jednolitą terminologię

“Mikroprocesory”

Terminologia używana przez specjalistów z dziedziny techniki mikroprocesorowej jest w znacznym stopniu identyczna z dotychczas obowiązującą w informatyce. Jednak, technika ta wciąż się rozwija tak dynamicznie w wielu kierunkach, że powstają pojęcia dotąd nieznane, które trzeba nazwać, także w języku polskim. A niejednokrotnie nie jest to łatwe.

W Polsce nie było dotąd poważniejszej próby systematyzacji tej terminologii. Istnieją, co prawda dwa opracowania słownikowe *), ale mają ograniczony zasięg i zawierają jedynie odpowiedniki w kilku językach, bez określeń definicyjnych.

Nawet tak podstawowy termin, jak large-scale integration (LSI) wzbudza wątpliwości w tłumaczeniu na język polski. W większości prac używa się tu odpowiednika wielka skala integracji (niekiedy: wielka integracja), nie zastanawiając się, czy jest poprawny. Należałoby więc dokładnie go zdefiniować.

Nie wszyscy wiedzą, że sprawa została rozstrzygnięta już dość dawno, bo w roku 1972. W normie PN-72/T-01600 powiedziano jednoznacznie, co należy rozumieć przez stopień scalenia (integracji) układu elektronicznego, i jakie mogą być stopnie scalenia: mały, średni i duży. Obok sformułowania duży stopień scalenia dopuszczalna byłaby zatem forma duży stopień integracji, lecz trudno ją zalecać w sytuacji, gdy od bardzo dawna mówimy układ scalony (ang. integrated circuit), a nie układ zintegrowany.

Inną wątpliwość budzi użycie przymiotników mały i duży z rzeczownikiem stopień. Ponieważ w języku polskim przyjęto w takich sytuacjach używać przymiotników niski i wysoki, należałoby mówić: niski (zamiast mały), wysoki (zamiast duży) stopień scalenia.

Jednakże, w “Słowniku poprawnej polszczyzny” pod red. W. Doroszewskiego (PWN, Warszawa, 1978) jedno ze znaczeń przymiotnika wysoki określono jako “duży, wielki, znaczny” (zwykle pod względem natężenia, intensywności). Ponieważ norma, którą wymieniłem, jest już faktem, nie popełnimy chyba błędu mówiąc mały i duży stopień scalenia, choć gdyby jej nie było, niewątpliwie poprawnie brzmiałyby określenia niski i wysoki stopień scalenia.

Najtrudniejszy do zdefiniowania jest sam mikroprocesor. Oczywiście, nie sposób podać jednoznacznej definicji, można jedynie wyjaśnić, jak trudna to sprawa.

Chyba nie będzie błędne stwierdzenie, że mikroprocesor, to procesor o dużym stopniu scalenia, lecz definicja taka jest mało warta, bo nieprecyzyjna. W jej treści są dwa źródła braku precyzji. Po pierwsze – stopień scalenia układu jest pojęciem ściśle związanym z rozwojem technologii, a któż potrafi powiedzieć, jaką drogą nastąpi ten rozwój, nawet w ciągu najbliższych lat? Czy stopień scalenia układów nie ulegnie dalszemu zwielokrotnieniu? Po drugie, mimo że przypuszczalnie każdy wie, przynajmniej intuicyjnie, co to jest procesor, z pewnością nie każdy wie, że jego wyobrażenie jest uwarunkowane dość szczególną koncepcją architektury komputera (tzw. architekturą typu Princeton – koncepcja von Neumanna). A któż zaręczy, że ta koncepcja utrzyma się dalej, skoro od dawna istnieją tendencje rozbieżne?

Nie jest więc łatwo wyjaśnić znaczenie obu składników podanego określenia. Według dotychczasowych ustaleń terminologicznych duży stopień scalenia jest to stopień scalenia układu scalonego zawierającego więcej niż sto układów elementarnych (wg PN-72/T-01600), a procesor jest to urządzenie komputera mające możliwość automatycznego wykonywania ciągu rozkazów (wg PN-71/T-01016).

Jednakże według normy ISO 2382 prawie identycznie brzmiące sformułowanie: jednostka komputera zawierająca układy sterujące interpretacją i wykonywaniem rozkazów, oznacza central procesing unit (CPU), którego polskim odpowiednikiem jest termin jednostka centralna, oznaczający procesor z pamięcią operacyjną. Wydaje się, że w tej sytuacji najbliższe prawdy byłoby stwierdzenie, że mikroprocesor jest to jednostka centralna złożona z układów o dużym stopniu scalenia.

Wiele kwestii terminologicznych ma charakter złożony i tylko niektóre z nich udało się już całkowicie rozstrzygnąć. Przykładowo, mikroprocesory, które mogą być zestawiane przez użytkowników z identycznych elementów składowych w celu osiągnięcia najbardziej odpowiadających im właściwości, nazywane po angielsku bit-slice microprocessors, określane są po polsku jako mikroprocesory modułowe lub segmentowe.

Gdybym miał głosować, które z tych określeń uznać za obowiązujące, to oddałbym głos na drugie, ponieważ bardziej odpowiada treści pojęcia. Segmenty uważałbym za identyczne w całości, zaś moduły – tylko zewnętrznie, tzn. pod względem budowy mechanicznej przy zachowaniu różnic funkcjonalnych. Tak rozumiane są bloki lub wkładki (ang. modules) w modularnych systemach cyfrowych.

Z kolei w programowaniu segment programu stanowi zwykle część, która nie może funkcjonować w oderwaniu od pozostałych segmentów, natomiast moduły właśnie po to są tworzone, aby mogły funkcjonować samodzielnie.

Nie ma zgodności co do odpowiednika terminu angielskiego support chips (support circuits), gdyż używa się kilku określeń: układy dodatkowe, towarzyszące, wspomagające, współpracujące itp. Tymczasem support chips, to układy pomocnicze (określenie także używane), co wynika wyraźnie z ich funkcji i ze znaczenia słowa support.

Jednym z często używanych terminów, dla którego nie ustalono, jak dotąd, odpowiednika polskiego, jest tzw. port (ang. I/O port, memory port) oznaczający część układu przeznaczoną funkcjonalnie do komunikacji z układami zewnętrznymi, np. z pamięcią zewnętrzną lub z urządzeniami wejścia-wyjścia. Jednym z proponowanych odpowiedników polskich jest termin brama, któremu nie można wiele zarzucić i dlatego ma szansę na upowszechnienie. Pokrewny termin bramka jest używany w technice cyfrowej już od wielu lat.

Z drugiej strony, historia polskiej informatyki zna przykłady przyjęcia, w charakterze terminów, nazw funkcjonujących wcześniej w języku codziennym, np. adres, akumulator, rekord itp. Ponieważ nazwa port już istnieje, wprowadzenie tego terminu do języka informatyki odbyłoby się bardzo łagodnie i polegałoby tylko na nadaniu tej nazwie nowego znaczenia.

Terminem związanym z bramą (portem) jest tzw. zatrzask (ang. latch) lub przerzutnik typu zatrzask (przerzutnik zatrzaskowy), którego stan wyjściowy pozostaje niezmieniony do chwili zmiany stanu zegara. Jednakże wyraz ten jako określenie żargonowe, ma wielu przeciwników. Jest to tak rzeczywiście, lecz czym innym był kiedyś wyraz przerzutnik?

W każdym mikroprocesorze znajdują się elementy pamięciowe, zwane po angielsku general-purpose registers. Spełniają one różne funkcje i dlatego bywają nazywane rejestrami ogólnego przeznaczenia, uniwersalnymi lub operacyjnymi. Jeżeli zaistnieje potrzeba określenia ich jedną polską nazwą, to należy zwrócić uwagę, że pierwsza z tych nazw jest dosłownym tłumaczeniem terminu angielskiego, co nie zawsze jest trafne, a druga pochodzi od innego terminu polskiego (general-purpose computeruniwersalna maszyna cyfrowa). Zamiast pozbawionego tych wad trzeciego określenia, które jednakże ma obcy źródłosłów, można wprowadzić odpowiednik polski rejestry robocze, który jest także używany.

Pewne rejestry robocze mogą mieć własne nazwy, odpowiednie do spełnianych funkcji, jak np. akumulator. W tym przypadku należy zwrócić uwagę, aby nie używać sformułowania rejestr akumulatora, gdyż jest niepoprawne.

Bardzo często zachodzi potrzeba globalnego określenia zawartości lub możliwości pamięci komputera. W języku angielskim używa się wtedy terminów memory space, address space itp. Rozpowszechnione w literaturze polskiej określenia przestrzeń pamięci i przestrzeń adresowa nie są zbyt szczęśliwie dobrane, ponieważ nie mamy tu do czynienia z pamięcią (lub jej cechą) w znaczeniu trójwymiarowym. Dlatego wydaje się, że bardziej trafne byłoby mówienie o obszarze pamięci i obszarze adresowym.

Niekiedy odpowiedź na pytanie “jak mówić?” jest mniej ważna od odpowiedzi na pytanie “jak nie mówić?”, szczególnie w dziedzinie, która dopiero zaczyna się wyłaniać lub niedawno zaczęła się rozwijać. W skromnych ramach działu terminologicznego INFORMATYKI nie można od razu poruszyć wszystkich zagadnień, a jest ich wcale niemało. Z konieczności więc, zwrócę uwagę jedynie na dwa często spotykane błędy.

Rozkazy procesora dotyczą elementów, na których wykonuje on operacje, nazywanych argumentami (ang. operand), a nie operandami. Stanowi o tym norma PN-71/T-01016.

Pewien typ przerwania z wymuszoną obsługą urządzenia jest nazywany przerwaniem wektoryzowanym (ang. vectored interrupt), co nasuwa przypuszczenie, że istnieje czasownik wektoryzować. Skoro w języku polskim czasownika tego nie ma, to nie można utworzyć imiesłowu wektoryzowany, zatem lepiej będzie powiedzieć: przerwanie wektorowe.

Rewolucja w informatyce związana z rozwojem techniki mikroprocesorowej dotyczy przede wszystkim sprzętu, tutaj też ma swoje źródło większość problemów terminologicznych. Jeżeli chodzi o słownictwo dotyczące oprogramowania, to jeden termin zyskał szczególną rangę, mianowicie, tzw. oprogramowanie skrośne (ang. cross software). Określenie to odnosi się zazwyczaj do asemblera (ang. cross-assembler) działającego na jednym komputerze i tworzącego kod przeznaczony do wykonania na innym (tzn. innego typu), np. na mikroprocesorze.

Niestety, należy stwierdzić, że wyrazu skrośny z wyrazem cross nie łączy nic poza zewnętrznym podobieństwem (identyczna sekwencja liter). Według “Słownika poprawnej polszczyzny” wyraz skroś, np. w połączeniu “na skroś” oznacza na wylot, na przestrzał i trudno się doszukać znaczenia odpowiadającego słowu cross. Pod tym względem znacznie lepszy byłby np. przymiotnik skośny.

Biorąc pod uwagę zasadniczą cechę programu, którą wyjaśniłem na przykładzie asemblera, można nazwać ten program zewnętrznym w stosunku do procesora, dla którego tworzy kod wynikowy. Zatem można by mówić asembler zewnętrzny (zamiast asembler skrośny), jeżeli określenie dotyczy np. programu tłumaczącego programy w języku symbolicznym mikroprocesora INTEL 8080, lecz działającego na minikomputerze MERA 60.

Regule ekstrapolacji zawdzięczamy, że przymiotnik skrośny jest używany niekiedy także w odniesieniu do terminu symulator, gdy oznacza on program symulujący przebieg programu napisanego w języku symbolicznym odpowiedniego mikroprocesora. Takie połączenie wyrazowe nie ma żadnego uzasadnienia, gdyż w przypadku symulatora nie jest ważne, na jakim komputerze jest wykonywany.

Inna wątpliwość, jaka może się tu nasunąć dotyczy angielskiego terminu resident assembler (resident software), który jest używany na oznaczenie asemblera tworzącego program wynikowy dla tego mikroprocesora, na którym działa. Jest to znaczenie przeciwne do znaczenia terminu cross-assembler, zatem ten rodzaj oprogramowania można nazwać oprogramowaniem własnym, co wielu autorów już czyni. Jednak należy pamiętać, że na ogół uważa się, iż program jest typu resident, jeżeli jest przechowywany na stałe (rezyduje) w pamięci operacyjnej (norma ISO 2382).

Wiele terminów używanych przez specjalistów z dziedziny techniki mikroprocesorowej wykracza poza zakres informatyki, a należy raczej do elektroniki. Jednak, gdy występujące nieścisłości mają ogólniejszy charakter, wypada zwrócić na to uwagę.

Przykładowo, nie jest poprawne używanie nazwy stan wysokiej impedancji (ang. high impedance state) lub, co gorsze, stan trzeci na oznaczenie takiego stanu linii, w którym urządzenie jest odłączone od magistrali (pozostałe stany to wyróżnione stany logiczne 0 i 1 przy dołączonej magistrali). Pamiętamy, że na oznaczenie wartości natężenia jakiejś cechy jest używany w języku polskim przymiotnik duży a nie – wysoki, który jest używany wyjątkowo, np. w elektronice jedynie w odniesieniu do napięcia. Zatem, należałoby mówić stan dużej impedancji, tak jak mówimy duża (a nie wysoka) oporność, pojemność itd.

Przez końcówki (ang. pins) elementu elektronicznego (układu scalonego) rozumie się punkty, za pośrednictwem których można go łączyć z innymi elementami. Jednakże niektórzy autorzy używają w tym znaczeniu słowa wyprowadzenia, co nie wydaje się poprawne. Końcówki (nie nóżki) służą do wyprowadzania sygnałów, ale same wyprowadzeniami nie są, co najwyżej stanowią wyprowadzenia linii, którymi przesyłane są sygnały.

Przedstawiony przegląd słownictwa jest z konieczności bardzo wycinkowy. Wiele terminów, których tu nie wymieniono, ma znaczenie ogólniejsze i zostało omówione w poprzednich numerach INFORMATYKI. Na zakończenie wypada stwierdzić, że skoro mikroprocesory mają zdominować w przyszłości nasze życie zawodowe i prywatne, to o sprawy terminologiczne musimy zadbać, a przynajmniej je ukierunkować już teraz.

Janusz Zalewski

*) Short microprocessor dictionary. Praca Instytutu Podstaw Informatyki PAN nr 324, Warszawa, 1978. International Microprocessor Dictionary, Sybex, Paris, 1977. (Hasła polskie opracowali, odpowiednio – R. Marczyński i M. Thor oraz R. Marczyński).

Źródło: “Informatyka,” nr 2/1981, str. 37-38



  Poprzedni | Następny
Strona dodana 24 maja 2003 roku.

Copyright © 2002-2005 Marcin Wichary
Wersja do druku | Kontakt | Mapa serwisu