Mine lehekülje lõppu

Prinditav versioon  
Autor: Pealkiri: Abi Arvutiarhitektuuriga
lihur
Noor toru
**

Avatar


Registreerunud: 22.7.2009
Kasutaja on eemal


[*] postitati 20.3.2010 12:01
Abi Arvutiarhitektuuriga
Ülesanne on:

Stack pointer viitab mälupesale 1 880. Programm lisab pinusse alamprogrammi jaoks 4 parameetrit, kutsub välja alamprogrammi.
Alamprogramm salvestab pinus Frame pointeri sisu, 3 lokaalmuutujat ja 4 registri sisu.
Milline on Stack pointeri väärtus peale nimetet operatsioonide sooritamist, kui sõna pikkuseks on 4 baiti ja tegemist on bait-adresseeritava mäluga?

Vastus peaks tulema: 1 828 .

Tahaks teada mis tehete käiguga ja valemitega saab selle vastuse kätte.
Mul tuleb sarnane ülesanne varsti kontrolltöösse ja tahaks teada kuidas seda teha tuleb.
Vaata kasutaja profiili
0
Duzubi
Toru
***



Registreerunud: 23.7.2009
Kasutaja on eemal


[*] postitati 20.3.2010 12:39
Kui jutt käib TÜ Arvuti arhitektuuri kursusest, siis minu mäletamist mööda olid seal videoloengutes ilusti kõik lahenduskäigud lahti seletatud ja asjadest aru saamine oli süvenemise taga kinni. Kui siiski aru ei saa, siis oleks arvatavasti mõistlikum Plangile kiri saata ja küsida.
Vaata kasutaja profiili
0
lihur
Noor toru
**

Avatar


Registreerunud: 22.7.2009
Kasutaja on eemal


[*] postitati 20.3.2010 13:05
Juttu on küll TÜ Arvutiarhitektuuri kursusest, kuid ma ei saa sellest videoloengust midagi aru. Ja karta on, et õppejõud vastaks suht sarnaselt, et vaataksin videoloengut uuesti või annaks minu jaoks suht krüpteeritud vastuse. Sooviksin pisut otsesemat vastust kuidas seda teha, nt. mingi valem vms. Kasvõi kui valem kehtib ainult sedasorti ülesannete puhul.
Vaata kasutaja profiili
0
DonQ
Administraator
********

Avatar

Administraator

Registreerunud: 16.7.2009
Asukoht: Saturn
Kasutaja on eemal

Tuju: Kerge puhkus

[*] postitati 20.3.2010 15:42
Millest Sa aru ei saa? Stack/pinu tööpõhimõttest? Või saad Sa teistsuguse vastuse? Alusta sellest, et hakka lahendama ja ütle meile, kuskohas sa täpselt toppama jäid (või mis oli esimene väike küsimus, millele Sa vastust ei tea).

PS. kui keegi lisab valmis lahenduse, siis läheb teema kasti :)
Vaata kasutaja profiili
0
lihur
Noor toru
**

Avatar


Registreerunud: 22.7.2009
Kasutaja on eemal


[*] postitati 20.3.2010 16:55
Ma ei saa aru sellest, kuidas need parameetrid (4), lokaalmuutujad (3), registri sisud (4) (ja baitide arv (4)), mõjutab Stack pointeri väärtust (1880). Ehk üldiselt ei saa sellest asjast mitte midagi aru, ainus asi, millest ma arvan, et saan kasvõi vähesel määral oru on baitide arv, kuid pole ka selles kindel).:(
Vaata kasutaja profiili
0
DonQ
Administraator
********

Avatar

Administraator

Registreerunud: 16.7.2009
Asukoht: Saturn
Kasutaja on eemal

Tuju: Kerge puhkus

[*] postitati 20.3.2010 17:20
Stack (pinu maakeeli, aga mulle ei meeldi) on selline huvitav struktuur, kuhu andmeid topitakse (push) ja ja kust neid siis vastupidises järjekorras välja korjatakse (pop). Umbes nagu suur kitsas kott, kuhu asju laod ja pärast tagurpidi välja võtad. Ainult et teistpidi - põhi on üleval.

No ja stack pointer (pinuviit?) on tegelikult aadress, mis näitab sinna viimati topitud asja asukohta. Paned ühe asja (parameetri, funktsiooni tagasituleku aadressi - misiganes) sinna sisse (push), kahaneb stack pointer samapalju, kui suur see asi oli. Ehk kui neljabaidine kolakas stacki pushida, on stack pointer nelja võrra väiksem (meenuta - adresseerimine oli baidi täpsusega).

Nüüd on Sinu etteaste ;)

[Muudetud: 20.3.2010 DonQ]
Vaata kasutaja profiili
0
lihur
Noor toru
**

Avatar


Registreerunud: 22.7.2009
Kasutaja on eemal


[*] postitati 20.3.2010 17:55
Kuid mida ma siiski nende parameetrite, lokaalmuutujate ja registri sisudega teen? Ainu asi mida ma sellest aru nüüd sain (ja enne arvasin sama) on see, et stack muutub x baidi kaupa. Ülejäänud osad on minu jaoks siiski teadmata.
Vaata kasutaja profiili
0
Borderliner
Üldmoderaator
*******

Avatar

Super-Moderaator

Registreerunud: 15.7.2009
Asukoht: rotting in HLL
Kasutaja on eemal

Tuju: EViL

[*] postitati 20.3.2010 18:18
Paned paberile ülesandes antud tegevuste järjekorra, kasvõi DonQ piltlikut näidet (asjade kottipanek ning sealt väljavõtmine) kasutades.
STORM Pirating: horror, blood 'n guts, that's the name of our game...
.:movie list:. .:flashier movielist:. .:music list (mirror):. .:uploaded atm:.
Vaata kasutaja profiili Külasta kasutaja kodulehte
0
DonQ
Administraator
********

Avatar

Administraator

Registreerunud: 16.7.2009
Asukoht: Saturn
Kasutaja on eemal

Tuju: Kerge puhkus

[*] postitati 20.3.2010 18:24
Lisavihje - iga parameeter pannaks funktsiooni väljakutsumiseks stacki (push), samuti kõik muud asjad, mis stacki pannakse või seal hoitakse (nagu näiteks lokaalsed muutujad), võtavad ruumi.

Lisamure - see teema on üks tänapäeva protsessorite ja arvutiarhitektuuri üldiseid aluskomponente. Kuidas on võimalik, et Sa seda teemat õppides pole sellest üldse midagi kuulnud?
Vaata kasutaja profiili
0
lihur
Noor toru
**

Avatar


Registreerunud: 22.7.2009
Kasutaja on eemal


[*] postitati 20.3.2010 19:18
Siiamaani ei mõista, kuidas mõjutavad Stack pointerit registri sisud, kas samamoodi nagu parameetrid ja lokaalmuutujad?
Kas Stack pointeri väärtusest siis lahutatakse 4(baidid)*(4(parameetrid)+3(lokaalmuutujad)) ja veel mingid tehted?
Kas alamprogrammi välja kutsumine või Frame pointeri sisu salvestamine muudab Stack pointeri väärtust?
Vaata kasutaja profiili
0
DonQ
Administraator
********

Avatar

Administraator

Registreerunud: 16.7.2009
Asukoht: Saturn
Kasutaja on eemal

Tuju: Kerge puhkus

[*] postitati 20.3.2010 19:22
Su enda jutust: "Alamprogramm salvestab pinus Frame pointeri sisu, 3 lokaalmuutujat ja 4 registri sisu." See tähendab lihtsalt seda, et ta paneb (pushib) need sinna - või vähemalt reserveerib nende jaoks ruumi, mis toob loogiliselt võttes kaasa täpselt samasuguse stack pointeri nihutamise.

Mis almprogrammi väljakutsumisse puutub, siis otsi maailmast, kuidas protsessor teada saab, millisele aadressile alamprogrammist tagasi tulla :) Vihje - tagasipöördumisaadress tuleb kuskile panna...
Vaata kasutaja profiili
0
Duzubi
Toru
***



Registreerunud: 23.7.2009
Kasutaja on eemal


[*] postitati 20.3.2010 19:36
Lisan sulle veel seda, et olenevalt sellest, mis erialal oled, on praegu asjale pihta saamine võrdlemisi oluline. Ise hakkan parasjagu infotehnoloogia eriala lõpetama ja seda võin sulle küll kindlasti öelda, et kui sa praegu registritele, stackile ja masinkoodile pihta ei saa, siis ega sul hiljem kergemaks ei lähe (kui sa muidugi just vabakuulajana seda ainet ei võta).
Vaata kasutaja profiili
0
Mr.Black
Veterantoru
*****

Avatar


Registreerunud: 23.7.2009
Kasutaja on eemal

Tuju: Inglorious Bastard

[*] postitati 20.3.2010 22:02
Mina, kes ei ole sadsorti asjandust ennem näinudki sain sellest aru. Ja ma ei ole just kõige teravam pliiats karbis, nii et ära jama, mõtle nüüd natuke, lahendus sulle kandiku peal ette toodud.
Mess with the best and u die like the rest!
Vaata kasutaja profiili
0
lihur
Noor toru
**

Avatar


Registreerunud: 22.7.2009
Kasutaja on eemal


[*] postitati 20.3.2010 23:02
Ma peaks mainima, et minu jaoks polnud nendest vihjetest suurt abi, kuid lõin omatarvis mingi magic valemi, mis võib küll vale olla, kuid andis töös õige vastuse. Mainin ka seda, et üldiselt vastatakse kas küsisõnaga küsimustele jah või ei vastusega, mitte pika ja küsimusele otsest vastust mitte andva tekstiga. Samuti huvitab mind, miks vastata otsesele küsimusele vihjetega? Ja mainiks ka ära, et kuigi ma õpin informaatikat, on see aine võetud vabaainena, seda pole mul õppekavas. Tehke teemaga mis tahate, ma sain töö suhteliselt edukalt läbi.
Vaata kasutaja profiili
0
DonQ
Administraator
********

Avatar

Administraator

Registreerunud: 16.7.2009
Asukoht: Saturn
Kasutaja on eemal

Tuju: Kerge puhkus

[*] postitati 20.3.2010 23:20
Niimoodi kirjutas: lihur  
Samuti huvitab mind, miks vastata otsesele küsimusele vihjetega?

Alternatiiv oleks teema kasti lüüa; tavaliselt eelistatakse siiski esimest varianti.
Vaata kasutaja profiili
0
Borderliner
Üldmoderaator
*******

Avatar

Super-Moderaator

Registreerunud: 15.7.2009
Asukoht: rotting in HLL
Kasutaja on eemal

Tuju: EViL

[*] postitati 20.3.2010 23:22
Sa ajad meid ilmselt oma õpetajaga segamini, tema on see kes saab *palka* selle eest et sulle asi selgeks teha. Kui sa ei oska siis kõik millega TF sind aitab on õigele teele suunamine (mida ka korduvalt tehti), mingit koduülesannete ärategemist (või koduõpetaja mängimist) TFis pole ei praegu, polnud minevikus ega saa ka kunagi olema.
"Tehke minu eest koduülesanne ära" teemade (mida käesolev on) puhul on täpselt 2 varianti, need mille DonQ ära mainis.

[Muudetud: 20.3.2010 Borderliner]
STORM Pirating: horror, blood 'n guts, that's the name of our game...
.:movie list:. .:flashier movielist:. .:music list (mirror):. .:uploaded atm:.
Vaata kasutaja profiili Külasta kasutaja kodulehte
0
lihur
Noor toru
**

Avatar


Registreerunud: 22.7.2009
Kasutaja on eemal


[*] postitati 20.3.2010 23:33
Ma ei ajanud torufoorumit mitte mingi õpetajaga segamini. Samuti ei väitnud ma kordagi, et see on koduülesanne, vaid kirjutasin, et mul oli tulemas kontrolltöösse sarnane ülesanne (seega oleks olnud sobilikum seda ülesannet vaadata rohkem kui teemakohast probleemi).
Alternatiive vihjetele vastamisega oleks olnud rohkem kui üks. Minule oleks sobinud ka vastustega vastamine, see oleks olnud isegi eelistatud.
Vaata kasutaja profiili
0
DonQ
Administraator
********

Avatar

Administraator

Registreerunud: 16.7.2009
Asukoht: Saturn
Kasutaja on eemal

Tuju: Kerge puhkus

[*] postitati 20.3.2010 23:45
Kaua Sa virised nüüd? OK, paneme lukku, saad midagi muud ka teha.
Vaata kasutaja profiili
0

  Mine lehekülje algusse

Ainus õige foorum!
XMB Forum Software © 2001-2009 XMB Meeskond