Kezdőoldal » Számítástechnika » Programozás » Egy programozó mennyire ért...

Egy programozó mennyire ért gép hardverèhez?

Figyelt kérdés
2022. febr. 28. 23:29
1 2 3 4 5 6 7 8 9
 71/83 anonim ***** válasza:
0%

Simpler processors store the stack pointer in a regular hardware register and use the arithmetic logic unit (ALU) to manipulate its value.


Typically push and pop are translated into multiple micro-ops, to separately add/subtract the stack pointer, and perform the load/store in memory.


Newer processors contain a dedicated stack engine to optimize stack operations.


Stack engine.. óbazmegg, még ez is.

Mit is mondtál, micsoda? Adatszerkezet?

2022. márc. 8. 02:03
Hasznos számodra ez a válasz?
 72/83 anonim ***** válasza:
0%

69:


Ezt kérdezed:


"És mutasd meg nekem a stack pointert pl. a PIC16F54 mikrokontrollerben. Ha már 8 bites és beágyazott rendszer. És ez egy igen elterjedt mikrokontroller."


Az adatlap meg ezt mondja:



" Only 33 single-word instructions to learn

• All instructions are single cycle except for

program branches which are two-cycle

• Two-level deep hardware stack"

2022. márc. 8. 08:01
Hasznos számodra ez a válasz?
 73/83 anonim ***** válasza:
93%

72: így nyerjem meg a lottó 5-öst... Akkor lapozz tovább ebben a dokumentumban és fogod látni, hogy nincs stack pointere. De ami azt igazolja, hogy Te orbitálisan hülye vagy azt sose másolod ide.


Illetve: 67. válasszod (23:05 perc): "a stack pointer az bizony a CPU része" Tehát ebből következik, hogy azt állítod, hogy a CPU része a Stack Pointer (nem azt, hogy vannak olyan CPU-k amiben van stack pointer, hanem azt állítod, hogy a CPU /ami így általánosan az összes számítógép részegysége/ része a CPU). Aztán mutatunk egy olyan CPU-t amiben nincs stack pointer akkor kezdesz maszatolni:


00:57-perckor (kb. 2 órával később): "Nem állítottam sehol, hogy csak és kizárólag olyan CPU-k léteznének, amelyekben stack van." A kettő azért erősen üti egymást.


Majd ismét hazudsz de nem kicsit: 08:01-kor kimásolsz egy dokumentumból egy ireleváns részt, de azt a részt ami leírja, hogy hogyan működik az adott gépben a "stack" (ami valójában nem az, mert nem a stack adatszerkezet van implementálva) azt nem másolod ide, hogy nehogy lássa ország világ, hogy kompletten hülye vagy. Tudod kispajtás. A matekban már megtanultuk, hogy ha egy állításra van egy cáfolat akkor az alap állítás nem igaz. PONT. És itt én mutattam egy olyan CPU-t amiben nincs Stack Pointer.


Szintén teljesen képtelenség amit írtál a 70-esben. És te kezdted a történelmi dolgok felvetését. Nem én (azért hagytam ki, mert te fogstz le vénemberezni, mert tanultam oprendszer és számítógép történetet). Pl. a teljes IBM 360 sorozatban /ami az egyik legnépszerűbb sorozat volt a maga idejáben, szinte a teljes magyar számítástechnika bő egy évtizedében meghatározó volt az IBM 360, meg úgy az egész világon, meg az utódjánál a 370 sorozatnál sem/ nem volt stack. Több felhasználós rendszerek voltak ezek, mondom több felhasználós! A 370-ben már volt virtuális gép(!) és a gépben nem volt stack. És egészen durva dolgokat megcsináltak stack nélkül. De beszéld csak a hülyeségeidet. De a stack mint adatszerkezet már régen létezett, csak nem volt rá hardver támogatás.


Az, hogy a kisgépeknél és a mikorgépeknél elterjedt a stack használata az egy "kényelmi" dolog volt. De simán elvoltak a régi gépek stack és stack pointer nélkül. És mint látható ma is elvannak. Mert a beágyazott rendszereknél nem egy hanem sok-sok procinál nincs stack pointer. Pl. a fent említett proci esetén ez úgy működik, hogy interupt vagy CALL esetén a Stack 1-ben lévő adatot átmásolja a Stack 2-be, és a Stack 1-be beírja a visszatérési címet. Visszatéréskor fordítva a Stack 1-ből kiveszi a visszatérési címet és a Stack 2-ből átmásol a Stack 1-be. Igazán ez nem stack a maga értelmében, csk a gyártó így nevezte el, hogy a magad fajta full ostoba programozáshoz nem értők megértsék, hogy hogyan kezeli a visszatérési értéket. Sőt szintén itt írja, hogy nincs stack alul és túl csordulás, és csak 2 értéket képes tárolni, és semmilyen úton módon a programodból nem férsz hozzá. Olvass tovább és értően. Ez a különbség azok között akik nem látnak tovább a beágyazott rendszereknél mert villamosmérnökök és soha nem tanultak komolyabban programozni.

2022. márc. 8. 08:27
Hasznos számodra ez a válasz?
 74/83 anonim ***** válasza:
93%
"Mit is mondtál, micsoda? Adatszerkezet?" Nem én mondtam hanem egy tankönyvet idéztem, de idézhetnék rengeteg más tankönyvet. Ennyire ostoba, hogyan lehetsz, de komolyan? Menjél vissza a székedbe biteket faragni 9600 bps soros vonalon mert kb. azt még felfogod agyilag. De ebbe ne ugass bele. Totálisan nem értesz max. a 8 bites beágyazott rendszerek egy szeletéhez. Ezen kívül full sötét vagy és rossz indulatú.
2022. márc. 8. 08:45
Hasznos számodra ez a válasz?
 75/83 anonim ***** válasza:
0%

63:


Ezt a baromságot is te írtad:

"A verem az egy adatszerkezet, és nincs köze a hardverhez."


A vermet a programozóknak első körben úgy tanítják, hogy a stack egy rendezett lista, aminek az egyik végén két művelet végezhető, a push és a pop. Ez így rendben is van, ezen a szinten ennyi ebből elég is.

Csak van ez után a szint után egy másik szint is, ahol ez az infó egyrészt nem elég, másrészt, nem is igaz.

Mert a stack az bizony nem csak egy lista, nem csak néhány byte a memnóriából, hanem ennél sokkal több.

És amikor valaki stacket implementál valamilyen nyelven, akkor kell hozzá az is, ami tobb a te adatszerkezetednél. Kell az, amit a megfelelő oldalon stack engine-ként aposztrofálnak. Vagy esetenként még ennél is több, mert pl. a Forth alkotója egészen mást értett stack alatt, mint az x86 tervezői.


Azt a hülyeségedet pedig, hogy a stack-nek nincs köze a hardverhez, még egy laikus számára is remekül cáfolja a tény, hogy az x86-os prociban a regiszterek között ott az SS regiszter /Stack szegmens címe/, ott az SP regiszter /stack pointer/ és ott van a processzorban a stack-et vezérlő teljes logika is.


Van egy borzasztó hírem számodra:


A delphi/object pascal úgy tizenkettedik most a tiobe indexen, hogy olyan nyelvek előzik be, mint a php, a JS, az SQL vagy a Visual BASIC.

Tehát, a pascal határozottan ott van a C, a C++, a Java és a Python mellett, már-már a jól megérdemelt helyén.

2022. márc. 8. 11:52
Hasznos számodra ez a válasz?
 76/83 Nagyak ***** válasza:
100%

#29 & #64 vagyok.


"Egy általános választ lehet adni erre, abból a megkozelítésből, hogy a programokat fejlesztő emberek a tanulmányaik során kapnak-e ilyen irányú képzést és ha igen, az mennyire mélyre ható.

Hogy a képzés során ezt az ismeretanyagot ki sajátítja el és milyen színvonalon, az más kérdés, ahogy más kérdés az is, hogy kiből mi lesz a tanulmányai befejezését kovetően."


Ebben, látod, egyetértünk. De ezt nem is vitatta itt senki. Csakhogy a rákövetkező mondatodból úgy tűnik, mintha mégis értenéd, miről beszélünk mi, többiek. Írod:


"Egy szoftver minőségét az kisebb vagy nagyobb mértékben befolyásolja, hogy annak alkotói mennyire ismerték azt a hardvert, amin a produktumuk fut."


És mi nem is állítunk mást, minthogy a manapság napvilágra kerülő szoftverek többségében (Nem mindig, mint ahogy sokadjára írom is!) a "kisebb" olyan mértékben az irányadó, hogy az a gyakorlatban nullára csökken. A többségnek nincs rá szüksége.


Javaslom meggondolásra még a "mind szembe jön" végű viccet: nem gondolod komolyan, hogy többen ugyanazt állítjuk, de igazad mégis neked van, aki egyedül állít sokunkéval (rajtad kívül szinte mindenki máséval) szembe menő véleményt?! Itt még visszautalnék az első posztombam jelzett, a munkám folyamán szerzett személyes "statisztikámra" is, amivel szemben legfeljebb annyi ellenvéleményt támaszthatsz, hogy "Hazudsz!", de az már a dolgok legalja lenne.


Ráadásul mindennek a tetejébe írod ezt is:


"Te vagy az, aki nem ért valamit.

Az, hogy a kérdező mit értett azon, hogy "mennyire ért", nem tudhatjuk, se te sem én."


Egyrészt szerintem ez elég egyszerű kérdőmondat, nem igazán lehet félreérteni. Ha a kérdező mégsem arra gondolt, amiről itt vitatkozunk, akkor elég rosszul megfogalmazott kérdésfelvetés volt. Másrészt - és ez meg szintén a válaszaid értékelhetőségéből von le nem keveset - ezek szerint nem is érted, mire gondolt a kérdező, de te makacs öntudatossággal válaszoltál rá?! Gratulálok...


Valószínűleg még olvasni fogom a hozzászólásaidat, de negyedjére már nem hiszem, hogy küzdeni fogok azon, hogy elfogadd (érteni legalább érted, azt látom), amiről a többiek velem együtt próbálnak meggyőzni.


Peace!

2022. márc. 8. 21:45
Hasznos számodra ez a válasz?
 77/83 anonim ***** válasza:
0%

"Egyrészt szerintem ez elég egyszerű kérdőmondat, nem igazán lehet félreérteni."


A mondat egyszerű, de nem egyértelmű.

A másik, definiálni kellene, hogy mit takar nálad az a szóosszetétel, hogy nem nagyon /ért hozzá/.

Továbbá, te azt írod, hogy nem szükséges a hardverismeret az esetek nagyobb részében. Ez ugyan messze nem így van, de fogadjuk el igaznak.

A kérdés nem az, hogy szükség van-e hardver ismeretre, és ha igen, akkor mennyire.


Mi a kérdés?

Hát ez:


"Egy programozó mennyire ért /a/ gép hardverèhez?"


Mivel nem tudjuk, hogy a kérdező mit ért az alatt, hogy "mennyire", így vegyük viszonyítási alapnak az átlagemberek ezirányú ismereteit.


Egy átlagember nincs tisztában azokkal a dolgokkal amit korábban soroltam, tehát hogy mi az a boot szektor, órajel, BIOS, ASCII tábla, kettes számrendszer, ALU, címsín, adatsín, keyboard scan kódok, külonféle adat-átviteli, adat-tárolási módok, technológiák. Egy átlagember nem hallott olyan dolgok mibenlétéről sem mint a DMA, az IRQ, vagy a poll. Egy átlagember nem tudja mi az a memória-szervezés, mit csinál a pipe, a stack, hogy mire jó az egyes és kettes komplemens. Nem hallott még soha Wallace vagy Dadda szorzóról sem és a Moore, Mealy mellett a flip-flop, a regiszter, a cache, a hazard és a propagation delay fogalmak is esélyesek, hogy kimaradtak az ő sivár kis életéből. Jaj, már szinte szégyellem, de a magunkfajta még azt is tudja a Venn-diagram és a karnaugh tábla mellett, hogy mik azok a logikai kapuk. Ó jaj, kérlek, bocsásd meg ebbéli bűneinket, mert, tudod, ez mind-mind hardver ismeret.

2022. márc. 8. 22:24
Hasznos számodra ez a válasz?
 78/83 anonim ***** válasza:
90%

ÉS ebből a sok-sok zöldségből amit idehánytál egy web front-end fejlesztőnek mire van szüksége? Azt se tudja, hogy milyen architektúrás CPU-n fog futni az a böngésző amivel meg fogják nyitni a weblapját. Innen kezdve, hogy DMA, IRQ, Poll pontosan teljesen felesleges neki, mert teljesen indiferens számára. A keyboard scan kódok megint teljesen feleslegesek, mert ma az operációs rendszertől már az aktuális karakter UNICODE kódját kapjuk vissza (ha meg Web frontend akkor megint nem kell tudjuk, hogy mi volt a beviteli eszköz, pl. egy hangfelismerő esetén milyen keyboard scankódról beszélsz? Kapok egy sztringet amiben ott az egész input és azzal dolgozok, és hogy ezt bebillentyűzte, bemondta, QR kódot olvasott a felhasználó a web böngésző másik oldalán édes mindegy. De menjél vissza a 8 bites gépedhez az 1980-as évek közepére. Mindezt a sztringet a beállított nyelvtől függőenm már megfelelő UNICODE kódolással kapom. És nem ASCII hanem UNICODE hoppá megint valami nagyot akartál mondani és pofára esés a következménye.

Szerencsétlen web programozó életében annyi flip-flopot lát amit felvesz a strandra amikor kimegy nyáron pihenni.

Észveszejtően barom vagy kispajtás.

Tudod az a Te nagy bajod, hogy fogalmad sincs erről a szakmáról. Talán egy baromi kis területen a 8 bites beágyazott rendszerekben képes vagy valamit össze balf*kodni és ezzel nagyra vagy. Esetleg a baráti körödben ha bedobsz ilyen szép három betűs rövidítéseket akkor mindenki hasra esik és Te vagy a király. De vedd már észre magad, hogy itt csak lejáratod magad nem is kicsit és gigantikus sebességgel. És ezen a mocskolodásaid sem segítenek, sőt...


Vedd észre magad, hogy az a világ amiről te itt öntöd az ökörséget kb. 30 éve elmúlt, de inkább 40. És fogd már fel a brutálisan korlátolt agyaddal, hogy egy olyan programozónak aki a ma fellépő programozói feladatok 99,9999%-át végzi ezek olyan teljesen felesleges tudások amik soha az életében nem kerülnek elő. És van pár (de ezt soha nem tagadtuk) programozó akinek kell mélyebb ismeret.


Továbbá az is süt a hozzászolásaidból, hogy valami mérnök infós, vagy esetleg villamosmérnök lehetsz, de nem végeztél soha programozóként. Nincs ilyen végzettséged. És PONT. Ezen nincs mit szépíteni. Egy mérnök infós az mérnök infós marad és nem lesz meg az a tudása amit egy programozó szakon megtanulnak.

2022. márc. 8. 23:36
Hasznos számodra ez a válasz?
 79/83 anonim ***** válasza:
0%

Nagyak:


A lényeg valahogy csak lemaradt a végéről. Nekem úgy tűnik, mintha ay eredeti kérdést te és néhányan mások is, fejben kicserélnétek arra, hogy a "programozónak mennyire van szüksége a hardver ismeretére".

2022. márc. 9. 01:18
Hasznos számodra ez a válasz?
 80/83 Nagyak ***** válasza:
100%

#79-nek: nem keversz valakivel? Egész eddig azt magyaráztam, hogy én vagyok az, aki NEM cserélte ki a kérdést másra. (Lásd a legelső, #29-es hozzászólásom ide vonatkozó, magamnak másokról gyártott statisztikáját, illetve a párbeszédes válaszadást.)


Mellesleg ha kicseréljük a kérdést, akkor is én (vagy éppen én IS, függően attól, hogy te éppen melyik hozzászóló vagy) azon az állásponton vagyok, hogy a többségnek nincs rá szüksége.

2022. márc. 9. 01:52
Hasznos számodra ez a válasz?
1 2 3 4 5 6 7 8 9

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!