Sari la conținut
ELFORUM - Forumul electronistilor

Procesoare


rus_dorin

Postări Recomandate

  • Răspunsuri 4
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • cirip

    2

  • rus_dorin

    2

  • srdjan

    1

Top autori în acest subiect

Cum iti dai seama daca un procesor este pe 4, 8, 16, 32 biti. Are cumva legatura cu liniile de date, adrese???MS

In general nr de biti se refera la latimea registrelor de date cu care poate face operatii "dintr-o bucata". Exista procesoare la care latimea registrelor interne si a magistralei de date difera, deci nu e neaparat magistrala cea la care te uiti. In orice caz, nu cea de adrese.
Link spre comentariu

Ok asta inseamna ca un procesor pe 16 biti va avea toate registrele pe 16 biti.Atunci care este avantajul utilizarii unui registru cu un numar cat mai mare de biti?Daca scrii un program intr-un microcontroler de unde stii cat ocupa programul respectiv din memoria lui?

Link spre comentariu

pai trebuie sa vezi cati octeti are programul atata ocupa si in uC. daca vrei in procente deduci stiind memoria uC (cea pt program ca poate avea memorie proprie si pentru date si mai sunt si registrii dedicati unor interfete si operatii)daca folosesti variabile care se stocheaza pe 32bit (long int in ansi c) le poti folosi pe un uC pe 8 biti. problema e ca acest artificiu (se face din soft) va creste considerabil dimensiunile programului si va adauga cicluri serioase in plus acestor operatii.LE: imi cer scuze... oboseala. acum am vazut ca e vorba de procesoare :)totusi din cele spuse se deduce ca variabile care au nevoie de 32,64, 128, 256,...etc biti au nevoie de cicluri suplimentare pentru a fi procesate deci scad performantele pt un procesor cu registrii "mai scurti".MLE: ca fapt divers iti pun si o lista cu tipuri de variable in C si lungimile lor in biti. poate intelegi mai usor:# 8-bit signed char# 8-bit unsigned char# 16-bit signed integer# 16-bit unsigned integer# 32-bit signed integer# 32-bit unsigned integer# 64-bit signed integer# 64-bit unsigned integer# 32-bit floating-point# 64-bit floating-point# 128-bit floating-point# Pointers# 64-bit complex# 128-bit complex# 256-bit complex# bool# 32-bit decimal floating-point# 64-bit decimal floating-point# 128-bit decimal floating-point

Link spre comentariu
Ok asta inseamna ca un procesor pe 16 biti va avea toate registrele pe 16 biti.
Nu "toate" neaparat, dar majoritatea cu care se lucreaza in mod curent.

 

Atunci care este avantajul utilizarii unui registru cu un numar cat mai mare de biti?
Daca ai de facut o adunare cu numere de 16 biti si operezi cu registre de 16, faci adunarea dintr-o instructiune. Daca procul e pe 8, atunci adunarea pe 16 se face din doua adunari pe 8, la care se mai adauga ceva instructiuni de manevrare a transportului; acel "unu mai departe" din vremea cand buchiseam primele adunari. Ce te faci cand ai nevoie sa lucrezi pe 32 de biti si procul e de 8? Cred ca ai prins ideea.

 

Daca scrii un program intr-un microcontroler de unde stii cat ocupa programul respectiv din memoria lui?
Iti spune asamblorul. Sau te uiti care e ultima adresa la care a pus cod (in fisierul listing) si compari cu adresa maxima a memoriei. De ex la picurile F16 masurarea in octeti nu pea are valoare ptr ca programul e scris in cuvinte de 14 biti.
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări