» »

Nekaj vprašanj s področja rač. arhitekture

Nekaj vprašanj s področja rač. arhitekture

charlotte ::

Ravno sem se začel učit za izpit, pa imam nekatere osnove še precej nerazčiščene. Ker si sam po parih urah tuhtanja špe vedno ne znam logično razložit se obračam na vas. In sicer me zanima sledeče:

Gre se za glavni pomnilnik (RAM) in povezava z procesorjem! Kolikor razumem imamo v ramu shranjene operande in ukaze pomešano, vsaka informacija pa ima svoje mesto natančno označeno z naslovom pomnilniške besede, ki nima sicer nobene povezave z vsebino pom. celice. Vsebina celice je navadno 8 bitna (8 ločenih celic z po enim bitom). Razpon vsebine celice je lahko od 1-64 bitov, najpogosteje pa 8 bitov (nevem zakaj, če lahko vsebuje 8 bitov samo 256 različnih znakov, kar je nekoliko malo???). Zanima me na katerem nivoju govorimo o tako opevanih 0 in 1, če recimo CPE operira, kot razumem že z 8 in več bitnimi operandi. Potem pa je v knjigi zapisano sledeče:

"Velikost pomnilniškega prostora predstavlja največjo možno velikost glavnega pomnilnika, kot jo vidi CPE (pri CPE z 24bit dolgimi naslovi je velikost prostora enaka 2^24 pom. besed)"

Ta stavek me bega, kaj to pomeni da zmoglivost rama predstavlja to kolikšen naslovni prostor lahko on shrani? Kaj ni vsebina tiste celice nekolk bolj važna kot njen naslov? No vsaj pri diskih in podobno,ko rečemo 250GB, je s tem mišlen prostor za podatke, tle pa bluzi o nekih naslovnih lokacijah. Se pravi recimo primer moj procesor je 64-biten, se pravi lahko shrani 2^64 naslovnih mest ali naslovno mesto označeno z največ 2^64 cifer,črk,oznak??? Ali od tu potem izhaja da ne more koristit več kot dobre 3GB rama? To je res pomešano. Ali lahko moj ram shrani 2^64 različnih celic,katere vsebina je lahko velika od 1-64 bita, ali lahko shrani manj/več celic, omejen pa je z dolžino lokacije te celice, ki ne more bit dalša od 2^64 bitov???

Upam da ste me razumeli kaj mislim. Zanima me še tole, recimo da imamo pom. besedo dolžine 8 bitov in 24 bitni procesor, ki lahko "obdela" največ 2^24 velike naslove ali vsebine al kako že, se pravi je naša omejitev 16777216 pomnilniških besed, kar se napiše 16MB če prav predvidevam, kjer B označuje bajt, kaj pa če imamo recimo 1,16,32,64,.. bitne vrednosti v pom. celicah? Kako se pa temu potem reče? Še vedno 16MB?

Če lahko kdo priporoči kako razumlivo literaturo pa kar!?

WarpedGone ::

Najprej, samo brez panike :)

Za začetek si predstavljaj šahovsko ploščo kjer maš 8 x 8 polj.
Lahko si jo predstavljaš kot 8 vrstic po 8 polj. Vsaka vrstica ima svoj naslov - številke od 0 do 7. Vrstica oz. beseda je sestavljena iz 8 polj. Pri šahu je sicer več različnih figur ampak ker imajo digitalni kompjuteri samo dve različni logični vrednosti, namesto figur vzemi frnikule. Če je frnikula na polju je to logična 1, če je ni pa imaš logično 0. S postavljanjem frnikul v različna polja v neki besedi prideš do 256 različnih postavitev frnikul - 256 različnih vrednosti te besede. Teh 8 besed je v bistvu tak zelo majhen pomnilnik - lahko rečeš, da je ta pomnilnik tri biten, ker ti trije biti zadostujejo da nasloviš katerokoli izmed teh osmih besed. Besede imajo naslove od 0 do 7 oz če gledaš binarno so to naslovi 000, 001, 010, 011, 100, 101, 110, 111.

256 različnih vrednosti v besedi je resda dokaj malo zato lahko posamezne sosednje 8 bitne besede oz posamezne sosednje naslove "lepiš" skupaj. To se doseže z različnimi ukazi, ki predvidevajo različno "dolge" operande (različno število sosednjih besed za en operand).

Recimo da imaš ukaz za 8bitno seštevanje. 8bitov je v eni besedi zato je en operand = ena beseda. Ukazu podaš dva naslova sumandov in naslov rezultata. Procesor bo prebral sumanda iz obeh podanih naslovov in rezultat shranil na dan ciljni naslov.

Lahko pa uporabiš ukaz za 16 bitno seštevanje, kjer prav tako podaš tri naslove, oba sumanda in naslov za rezultat, procesor pa bo prvi sumand prebral iz prvega podanega naslova, zraven pa bo prebral še vrednost na prvem višjem sosednjem naslovu, nato bo prebral drugi sumand iz drugega podanega naslova in prvega višjega sosednjega naslova, ter 16 bitni rezultat vpisal na podan ciljni naslov in prvi višji sosednji naslov (16 bitov = 2 besedi).

Podobna zgoba je 32bitno seštevanje, kjer pač vzame 4 sosednje besede, da pride do enega operanda, in tudi 64 bitno seštevanje kjer je en operand shranjen v 8ih sosednih celicah.

Šahovska plošča je trobiten pomnilnik, zadostujejo ti torej trije naslovni biti da dostopaš do katerekoli besede v njem. Kaj pa če ima procesor 8 naslovnih bitov? Procesor lahko tako naslavlja do 256 različnih besed. Če nanj "priklopiš" šahovsko ploščo bo računalnih lahko uporabljal le teh 8 naslovov oz. besed, zmožnost naslavljanja ostalih 248 besed pa bo neizkoriščenih.

Recimo moderen 32biten procesor lahko naslovi do 4GB rama ampak če maš ti v mašini samo 512MB rama, bo 3/4 naslovenga prostora izkoriščenega. Mašina bo delala le z prvimi 30 biti naslova, zadnja 2 bita bosta nepomembna (ignorirajmo različne HW izvedbe in navidezni pomnilnik).

jype ::

charlotte> To je res pomešano.

Nariši si.

Blinder ::

Tebe te mogoce moti koliksna je maksimalna velikost pomnilnika in koliko je pomnilniskih naslovov. Ki v obeh primerih se racuna potence števila 2.
Sej bi moral dobit odgovor na fri-infotu. Čene pa prilimaj tle kaksno nalogo, pa bomo resli.
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija

Mavrik ::

Whew, ti pa maš tu zadeve precej pomešane.

Gre se za glavni pomnilnik (RAM) in povezava z procesorjem! Kolikor razumem imamo v ramu shranjene operande in ukaze pomešano, vsaka informacija pa ima svoje mesto natančno označeno z naslovom pomnilniške besede, ki nima sicer nobene povezave z vsebino pom. celice. Vsebina celice je navadno 8 bitna (8 ločenih celic z po enim bitom). Razpon vsebine celice je lahko od 1-64 bitov, najpogosteje pa 8 bitov (nevem zakaj, če lahko vsebuje 8 bitov samo 256 različnih znakov, kar je nekoliko malo???). Zanima me na katerem nivoju govorimo o tako opevanih 0 in 1, če recimo CPE operira, kot razumem že z 8 in več bitnimi operandi.


Tu mi ni jasno o kakih pomnilniških celicah govoriš. Namreč termin "pomnilniška celica" je nekaj drugega, kot pa tu ti razlagaš in se načeloma spreminja med vrstami pomnilnikov.

Ti najverjetneje govoriš o pomnilniški besedi. Pomnilniška beseda je namreč najmanjši kos pomnilnika, ki ima svoj naslov. To je zelo pomembno da razumeš kaj pomeni, saj je to eden najbolj osnovnih terminov.
V grobem gre delovanje pomnilnika takole: procesor da pomnilniku naslov, pomnilnik pa procesorju vrne kaj točno je na tistem naslovu. Če je pomnilniška beseda dolga 8 bitov, pomeni da bo pomnilnik vrnil tistih 8 bitov, ki ima ta naslov. Manj kot to ne more... nekako tako kot ti ne moreš poslati pisma v dnevno sobo neke hiše.
Zakaj dandanes imamo 8-bitne pomnilniške besede? Jah, večinoma z zgodovinskih razlogov. 8080 so imeli 8 bitna vodila in so lahko prejemali samo po 8 bitov naenkrat, kasneje so pa morali vsi procesorji biti kompatibilni z njimi. Izkazalo se je tudi, da neke potrebe po večjih besedah ni, saj lahko če rabiš kam shraniti 32-bitov informacije vzameš kar štiri sosednje besede.


"Velikost pomnilniškega prostora predstavlja največjo možno velikost glavnega pomnilnika, kot jo vidi CPE (pri CPE z 24bit dolgimi naslovi je velikost prostora enaka 2^24 pom. besed)"


Tu ne razumem kaj točno ti ni jasno. Če maš ti recimo 16-bitov dolge naslove, pomeni da je najmanjši naslov pomnilniške besede enak 0 (16 ničel), največji pa 65535 (16 enk). Kar pomeni da lahko nasloviš največ 65536 pomnilniških besed. Enako kot v primeru, če maš na dopisnici samo dva kvadratka za hišno številko, ne moreš poslati dopisnice na več kot 100 različnih hiš v eni ulici. Jasno s tega sledi, da ti omeji največjo možno velikost pomnilnika, do kerega ima procesor dostop, saj procesor ne more priti do pomnilniških besed, ki imajo naslove večje od največje številke, ki jo lahko da na vodilo.

In s tega sledi tistih 3 GB ja... 32-biten procesor (oz. 64-biten procesor, ki zaradi 32-bitnega OSa laufa v 32-bitnem načinu), lahko da ven 2^32 različnih naslovov. Na vsakem naslovu sedi 8 bitov (ker je pomnilniška beseda dolga 8 bitov, ali 1B). 2^32 * 1B = 4294967296B = 4 GB. S tem da rabi naslove tudi RAM na grafični kartici in določene I/O naprave, zato za glavni pomnilnik ponavadi ostane tam 3.5 milijade naslovov, ali 3.5GB.

Ali lahko moj ram shrani 2^64 različnih celic,katere vsebina je lahko velika od 1-64 bita, ali lahko shrani manj/več celic, omejen pa je z dolžino lokacije te celice, ki ne more bit dalša od 2^64 bitov???


Ne, ne. Glej. Dolžina pomnilniške besede je že ista (8-bitov) od začetka obstoja x86 arhitekture in se nima nobenega namena spremenit. Preav tako lahko tvoj ram shrani kolikor hoče besed. Problem je na strani procesorja. 64-biten procesor lahko pove ramu 2^64 različnih naslovov. Ti lahko komot daš noter RAM, ki bo imel več besed (in s tem več naslovov), a do njih procesor ne bo mogel.

Če lahko kdo priporoči kako razumlivo literaturo pa kar!?


Dušan Kodek: Arhitektura in organizacija računalniških sistemov, 2008 (lahko tudi starejšo Arhitekturo računalniških sistemov). Razumljiveje kot v tej knjigi ne vem če se da opisati.
The truth is rarely pure and never simple.

charlotte ::

Hja problem je ker nimam nobene osnove, tudi SŠ nisem delal nobene v povezavi z računalništvom in posledično zdaj vse mešam. Tako da najprej si moremosnove razčistit potem pa šele naloge in tako naprej.

Torej pomnilniška beseda je vedno 8 bitna in je sestavljena iz osmih celic, celice pa majo lahko vrednost 0 ali 1! In torej kombinacij je 2^8=256, kar je zadosti. Za več črk svetovnih abeced,... pa obstaja Unicode abeceda, ki vzame 2 pom. besedi in ima tako na voljo 16 celic???
Zanima me če kdo ve kako se določi ta naslov pom. besede? Torej je omejitev sam procesor, kater se ne ozira na vsebino besede, ampak na njen naslov, in kolikor je lahko dolg ta naslov, toliko lahko tudi koristi rama?? Tako sklepam iz tega: "pomeni da je najmanjši naslov pomnilniške besede enak 0 (16 ničel), največji pa 65535 (16 enk)", zanima me pa kje si dobil 65535?

BaRtMaN ::

16 enic v binarnem zapisu je 65535 v desetiškem. A na faksu te nič ne učijo drugih številskih sistemov?

Pomnilniška beseda ni vedno 8 bitna, je pa tako izbrana v desetletja stari arhitekturi x86. Takrat je bil razvoj računalništva še precej omejen na ZDA in se niso ravno veliko sekirali za tuje abecede. Sčasoma se je to spremenilo in so uvedli nove abecede (Unicode), ki je pač dogovor, kateri biti kaj pomenijo, strojne arhitekture pa se ne da kar tako zamenjati povsod po svetu.

Naslov pomn. besede se določi z načinom vezave pomnilniških modulov na vodila v računalniku. Seveda se teh pomnilniških čipov (pravzaprev katerekoli naprave) ne veže naravnost na vodilo, vmes je še kontroler, ki dekodira pomnilniški naslov v interni naslov. Pravi naslov je le podmnožica bitov celotnega naslova, ki ga pošlje CPE.

charlotte ::

Žal tega zaenkrat še nismo imeli, to se učim za VSŠ izpit, medtem ko sem čez let hodil na UNI predavanja, ker sem mislil da bo pač zneslo, sedaj pa nujno nabiram ure in ta predmet mi je ostal še za nardit, nisem pa bil na predavanjih, vajah, tko da se morm vse sam naučit. Nekateri pravijo da bi blo izvedlivo pa sem se poglobil.
Kako se pa to pretvarja iz desetiškega v binarni in obratno in v katere zapise je vse mogoče prevest?

charlotte ::

Bi bil mogoče kdo pripravljen ponudit inštrukcije? Tako predvidevam da se bi hitreje in bolš naučil. Če je kdo pripravljen mi pomagat naj prosim sporoči to na ZS!

BaRtMaN ::



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Zakaj imam samo 3GB namesto 4GB rama? (strani: 1 2 )

Oddelek: Operacijski sistemi
8920243 (10328) bobi1992
»

Navidezni pomnilnik

Oddelek: Šola
133387 (2987) B & O
»

Nekaj splošnih vprašanj s področja HW

Oddelek: Strojna oprema
131783 (1544) P1P1
»

Zunanji disk z enim terabajtom

Oddelek: Novice / Diski
125971 (5278) aljazh
»

System architectures

Oddelek: Strojna oprema
131686 (1628) barbarpapa1

Več podobnih tem