Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Цифрлық процессордың құрамындағы жылдам қолжетімді жұмыс жады.
Quickly accessible working storage available as part of a digital processor
Процессор тіркелгіші – компьютердің процессорына жылдам қолжетімді болатын орын. Тіркелгіштер әдетте шағын көлемдегі жылдам жадтан тұрады, бірақ кейбір тіркелгіштерге арнайы аппараттық функциялар берілген, оларды тек оқуға немесе тек жазуға болады. Компьютерлік архитектурада тіркелгіштерге әдетте негізгі жадтан өзге механизмдер арқылы жүгініледі, бірақ кейбір жағдайларда оларға жад адресі тағайындалуы мүмкін, мысалы, DEC PDP 10, ICT 1900. Деректерді жүктеу/сақтау архитектурасы болсын, болмасын, дерлік барлық компьютерлер үлкен жадтан деректерді тіркелгіштерге жүктейді, онда олар арифметикалық операцияларды, биттік операцияларды және басқа операцияларды орындау үшін қолданылады, сондай-ақ машиналық нұсқаулармен өңделеді немесе тексеріледі. Өңделген элементтер кейін негізгі жадқа бір нұсқау арқылы немесе келесі нұсқау арқылы сақталады. Қазіргі заманғы процессорлар негізгі жад ретінде статикалық немесе динамикалық RAM-ды пайдаланады, соңғысына әдетте бір немесе бірнеше кэш деңгейлері арқылы қол жеткізіледі. Процессор тіркелгіштері әдетте жад иерархиясының ең жоғары деңгейінде орналасқан және деректерге ең жылдам қол жеткізуді қамтамасыз етеді. Бұл термин әдетте нұсқау жиынтығында анықталғандай, нұсқау құрамына тікелей енгізілген тіркелгіштер тобына ғана қатысты. Дегенмен, қазіргі заманғы жоғары өнімділіктегі процессорларда осы «архитектуралық тіркелгіштердің» дубликаттары болады, бұл тіркелгіштерді қайта атау арқылы өнімділікті жақсартуға, параллель және болжамды орындалуға мүмкіндік береді. Қазіргі заманғы x86 дизайны осы техникаларды 1995 жыл шамасында Pentium Pro, Cyrix 6x86, Nx586 және AMD K5 процессорларын шығару арқылы игерді. Компьютерлік бағдарлама бір деректерге бірнеше рет жүгінген кезде, бұл деректерге сілтеме жасау делінеді. Бағдарламаның тиімді жұмыс істеуі үшін жиі қолданылатын мәндерді тіркелгіште сақтау маңызды болуы мүмкін. Тіркелгіштерді бөлуді кодты жасау кезеңінде компилятор немесе құрастыру тілінің бағдарламашысы қолмен жүзеге асырады.
A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read only or write only. In computer architecture, registers are typically addressed by mechanisms other than main memory, but may in some cases be assigned a memory address e. g. DEC PDP 10, ICT 1900. Almost all computers, whether load/store architecture or not, load items of data from a larger memory into registers where they are used for arithmetic operations, bitwise operations, and other operations, and are manipulated or tested by machine instructions. Manipulated items are then often stored back to main memory, either by the same instruction or by a subsequent one. Modern processors use either static or dynamic RAM as main memory, with the latter usually accessed via one or more cache levels. Processor registers are normally at the top of the memory hierarchy, and provide the fastest way to access data. The term normally refers only to the group of registers that are directly encoded as part of an instruction, as defined by the instruction set. However, modern high performance CPUs often have duplicates of these "architectural registers" in order to improve performance via register renaming, allowing parallel and speculative execution. Modern x86 design acquired these techniques around 1995 with the releases of Pentium Pro, Cyrix 6x86, Nx586, and AMD K5. When a computer program accesses the same data repeatedly, this is called locality of reference. Holding frequently used values in registers can be critical to a program's performance. Register allocation is performed either by a compiler in the code generation phase, or manually by an assembly language programmer.
Өлшемі
Тіркелімдер әдетте олар сақтай алатын биттер санымен өлшенеді, мысалы, "8 биттік тіркелім", "32 биттік тіркелім", "64 биттік тіркелім" немесе одан да көп. Кейбір командалар жиынтығында тіркелімдер әртүрлі режимдерде жұмыс істей алады, олардың жады кішірек бөліктерге (мысалы, 32 битті төрт 8 биттік бөлікке) бөлінеді, сонда бірнеше дерек (вектор немесе бір өлшемді дерек массиві) бір уақытта жүктеліп, өңделеді. Мұндай мүмкіндік әдетте қосымша тіркелімдерді қосу арқылы іске асырылады, олар өз жадыларын үлкен тіркелімге бейімдейді. Бірнеше дерекке қатысты бір команданы орындай алатын процессорлар векторлық процессорлар деп аталады.
Registers are normally measured by the number of bits they can hold, for example, an "8 bit register", "32 bit register", "64 bit register", or even more. In some instruction sets, the registers can operate in various modes, breaking down their storage memory into smaller parts (32 bit into four 8 bit ones, for instance) to which multiple data (vector, or one dimensional array of data) can be loaded and operated upon at the same time. Typically it is implemented by adding extra registers that map their memory into a larger register. Processors that have the ability to execute single instructions on multiple data are called vector processors.
Қолданылуы
Процессордағы регистрлердің саны және олар арқылы орындалатын операциялар, оңтайландырылған компиляторлар жасаған кодтың тиімділігіне маңызды әсер етеді. Өрнек ағашының Страхлер саны – осы өрнекті есептеу үшін қажетті ең төменгі регистрлер санын көрсетеді.
The number of registers available on a processor and the operations that can be performed using those registers has a significant impact on the efficiency of code generated by optimizing compilers. The Strahler number of an expression tree gives the minimum number of registers required to evaluate that expression tree.