Zadanie z przykładowego egzaminu licencjackiego na MIM https://www.mimuw.edu.pl/sites/default/files/test2stinf.pdf :
- Każdy procesor 32-bitowy ma
(a) 32-bitową zewnętrzną szynę danych;
(b) 32-bitową zewnętrzną szynę adresową;
(c) 32-bitowe rejestry danych.
Na każde z podpunktów a), b), c) należy odpowiedzieć TAK lub NIE. (Zadanie punktuje tylko jeśli na wszystkie 3 odpowie się poprawnie)
Ale nie rozumiem tego pytania? Tu jest kilka rzeczy, które są dla mnie niejasne:
Po pierwsze i najważniejsze: ZEWNĘTRZNA szyna danych?! Cytując Ciocię Wiki https://en.wikipedia.org/wiki/Bus_(computing) :
Internal buses
The internal bus, also known as internal data bus, memory bus, system bus or Front-Side-Bus, connects all the internal components of a computer, such as CPU and memory, to the motherboard. Internal data buses are also referred to as local buses, because they are intended to connect to local devices. This bus is typically rather quick and is independent of the rest of the computer operations.
External buses
The external bus, or expansion bus, is made up of the electronic pathways that connect the different external devices, such as printer etc., to the computer.
No to WTF bo wygląda, jakby w zadaniu chodziło o INTERNAL buses, a przecież jest jak wół o 'zewnętrznej' szynie danych. Ale jeśli wierzyć cioci Wiki to 'external buses' to coś zupełnie innego i niezwiązanego?
Przypuszczam pytanie podstępne. Już takie się w tym egzaminie zdarzały, np pytanie 5b), gdzie trzeba ocenić prawdziwość zdania: funkcjonał φ dany wzorem φ(p)=p′(½) jest pewną kombinacją liniową φ₁ i φ₂. No i narzucająca się odpowiedź brzmi TAK, bo φ₁ i φ₂ stanowią bazę przestrzeni, więc każdy funkcjonał jest jakąś ich kombinacją liniową, tylko że φ(p)=p′(½) nie jest funkcjonałem... No więc analogicznie to pytanie o szyny danych może być podstępne, bo próbują zdającego złowić na niezauważenie słowa 'zewnętrzną'.
A zatem odpowiedź brzmi NIE, gdyż zewnętrzna szyna danych (np. USB) nie ma nic wspólnego z bitowością procesora?
Z drugiej strony wolę się dopytać jednak, bo być może nie ma przełożenia między ang 'internal' i 'external bus' a polską 'wewnętrzną/zewnętrzną szyną danych'? Być może chodzi o to, że pamięć nie jest jednym i tym samym urządzeniem, co procesor, więc szyna danych leży na zewnątrz procesora?
Dalsze wątpliwości: Rezultaty pytania o zdanie Wujka Gogla: Word size, Register Size, Address size, and internal bus size can all be different things. For example, for M68000 the first was OS dependent, and the others were 32, 24, and 16 respectively. I dalej, jak to mówi Ciocia wskazana przez Wujka: In simple memory subsystems, the word is transferred over the memory data bus, which typically has a width of a word or half-word. In memory subsystems that use caches, the word-sized transfer is the one between the processor and the first level of cache; at lower levels of the memory hierarchy larger transfers (which are a multiple of the word size) are normally used. No i na sam koniec nawet Ciocia nie za bardzo wie, co to jest 32-bitowy procesor: 32-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.
OR!! Registers, address buses OR!! data buses of that size!! Czyli jeżeli mamy 32-bitowe rejestry ale obok tego 16 bitową szynę adresową to jest to procesor 32-bitowy? (Bo spójnik logiczny LUB jest spełniony!) Tak samo, jeżli mamy 16-bitowe rejestry ale obok tego 32-bitową szynę danych i 64-bitową szynę adresową (teoretycznie, nie wiem czy taka architektura miałaby jakikolwiek sens), to dalej mówimy, że procesor jest 32-bitowy (bo znowu, spójnik logiczny LUB jest spełniony), ale jednocześnie tenże sam procesor jest, z tego samego powodu, 16-bitowy oraz 64-bitowy?? Z tych wszystkich cytatów, jakie przytoczyłem, zaczyna mi się wydawać, że określenie, że procesor jest n-bitowy nic tak naprawdę konkretnego nie znaczy i nic nie można na temat procesora z tego wnioskować!
Ale jednak, z zajęć odniosłem wrażenie, że była założona odpowiedniość: procesor jest n-bitowy = adres w pamięci zajmuje n bitów = proces może operować na pamięci nie większej, niż 2ⁿ bajtów. Z tego wnosiłbym, że należy jednak odpowiedzieć, że szyna adresowa ma być 32-bitowa? Ale co z szyną danych?
Jakie są prawidłowe odpowiedzi na pytania z tego zadania?