evoluția interacțiunii om-calculator (iii)
duminică, 10 iun. 2012, 19:33
În încheierea episodului cu numărul doi al serialului „evoluția interacțiunii om-calculator” am promis că nu îl voi lăsa în pom pe acesta din urmă fără să vorbesc despre jocuri. Printr-o pură întâmplare am avut ocazia să citesc între timp un articol care întoarce Angry Birds pe toate părțile sale legate de utilizabilitate, interfață și design.
Adevărul exprimat în cadrul scrierii cu pricina este unul pe cât de simplu pe atât de neevident și sună cam așa: jocurile pe calculator [i] constituie în prezent apogeul interacțiunii om-calculator.
După cum spuneam și în articolele anterioare, de la Xerox și până la Apple mai nimeni din industrie nu s-a preocupat în mod special cu studiul asupra eficienței interacțiunii om-mașină. Windows a fost din punctul ăsta de vedere o varză completă o bună bucată de timp, Linux a fost mai mult sau mai puțin orientat pe interfețe textual-lingvistice iar Apple a fost mult timp la pământ din toate punctele de vedere. Drept urmare abia târziu companiile au început să se gândească cum să se inspire din PADD-urile din Star Trek, inspirație care a dat naștere PDA-urilor și apoi smartphone-urilor. (mai mult…)
- Când zic „calculator” mă refer de fapt la toate dispozitivele digitale interactive, adică inclusiv GameBoy, PlayStation sau iPhone. Prin „jocuri” înțeleg de fapt doar jocurile reușite din punct de vedere tehnic și artistic. [↩]
breviar istoric intel (ii)
luni, 30 apr. 2012, 18:28
În cadrul articolului anterior rămăsesem pe undeva la Pentium, care spuneam că are pipeline superscalar, cache-uri de date și de instrucțiuni și așa mai departe. Să facem o pauză și să explicăm câteva din conceptele astea, pentru că sunt foarte importante pentru ceea ce a urmat după.
Pipeline-ul, adică pe românește banda de asamblare, e pe scurt transpunerea în calculatoare a ideii lui Henry Ford: luăm o problemă, o spargem în probleme seriale mai mici și punem entități separate să lucreze la fiecare (sub)problemă. Astfel soluția subproblemei 0 e transmisă către entitatea care se ocupă de subproblema 1, ieșirea lui 1 către 2 și tot așa. Avantajul acestei soluții e că dacă procesorul are două instrucțiuni consecutive de executat, pipeline-ul va putea executa – în cazul ideal – porțiuni din ele (de exemplu preluarea unei variabile din memorie și o adunare) în paralel.
Abordarea asta aduce cu ea și multe complicații în care nu vom intra aici, însă e interesant aspectul că dacă două instrucțiuni (consecutive sau nu) nu depind între ele, acestea pot ajunge să fie executate într-o ordine aleatoare. Drept urmare dacă există două benzi de asamblare distincte, procesorul va putea planifica instrucțiuni după o politică prestabilită. Ca fapt divers execuția out-of-order n-a fost inventată de Intel, ci de o (fostă) companie care avea în componență și un român, dar în fine, astea-s deja detalii. (mai mult…)