Why are PCs held back? (Почему происходят задержки ПК?)
Тема: Кэш-память (Cache memory)
I. Словосочетания из текста:
1. laborious [ləˈbôrēəs] process - трудоемкий процесс
2. logic circuit [ˈsərkət] - логическая схема
3. cache coherence [kōˈhi(ə)rəns] - целостность данных в кэш-памяти
4. stored sequentially [sɪˈkwenʃəlɪ] - хранятся последовательно
5. «write-through cache» technique – техника «запись в обход кэша»
6. «write-back cache» technique – техника «отложенная запись кэша»
II. Перевод текста
Most PCs are held back not by the speed of their main processor, but by the time it takes to move data in and out of memory. One of the most important techniques for getting around this bottleneck is the memory cache.
Большинство задержек в ПК происходят не из-за скорости его главного процессора, а из-за времени, нужного для перемещения данных в память и из нее. Один из самых важных способов обойти эту проблему - кэш-память.
The idea is to use a small number of very fast memory chips as a buffer or cache between main memory and processor. Whenever the processor needs to read data it looks in the cache area first. If it needs the data in the cache then this counts as a ‘cache hit’ and the processor needs not go through the more laborious process of reading data from the main memory. Only if the data is not in the cache does it need to access main memory, but in process it copies whatever it finds into the cache so that it is there ready for next time it is needed. The whole process is controlled by a group of logic circuits called the cache controller.
Идея в том, чтобы использовать небольшое количество очень быстрых чипов памяти как буфер или кэш между основной памятью и процессором. Всякий раз, когда процессору нужно считать данные, в первую очередь он просматривает область кэша. Если он находит данные в кэше, это считается "результативным обращением в кэш", и процессору не нужно осуществлять более трудоемкий процесс считывания данных из основной памяти. Доступ к основной памяти нужен, только если процессор не находит искомые данные в кэше, но во время считывания процессор копирует данные, где бы он их ни нашел, в кэш, так что они находятся там, пока не понадобятся. Весь процесс управляется логическими схемами, которые зовутся "контроллером кэша".
One of the cache controller’s main jobs is to look after ‘cache coherency’ which means ensuring that any changes written to main memory are reflected within the cache and vice versa. There are several techniques for achieving this, the most obvious being for the processor to write directly to both the cache and main memory at the same time. This is known as a ‘write-through’ cache and is the safest solution, but also the slowest.
Одна из главных задач контроллера кэша - заботиться о поддержании целостности данных в кэш-памяти, то есть гарантировать, что любые изменения в основной памяти будут отражены в кэше и наоборот. Для достижения этого существует несколько способов, и наиболее очевидный - когда процессор записывает напрямую одновременно в кэш и в основную память. Эта техника называется "запись в обход кэша" и является наиболее безопасным, но и наиболее медленным решением.
The main alternative is the ‘write-back’ cache which allows the processor to write changes only to the cache and not to main memory. Cache entries that have changed are flagged as ‘dirty’, telling the cache controller to write the contents back to main memory before using the space to cache new data. A write-back cache speeds up the write process, but does require a more intelligent cache controller.
Основная альтернатива - "отложенная запись кэша", которая позволяет процессору записывать изменения только в кэш, а не в основную память. Элементы кэша, в которые вносились изменения, помечаются как "грязные", что сообщает контроллеру кэша переписать данные в основную память перед тем, как использовать пространство под запись новых данных. Отложенная запись кэша ускоряет процесс записи, но требует более "умный" контроллер кэша.
Most cache controllers move a ‘line’ of data rather than just a single item each time they need to transfer data between main memory and the cache. This tends to improve the chance of a cache hit as most programs spend their time stepping through instructions stored sequentially in memory, rather than jumping about from one area to another. The amount of data transferred each time is known as the ‘line size’.
Когда требуется переместить данные между основной памятью и кэшем, большинство контроллеров кэша переносят сразу "строку" данных, а не единичный их элемент. Это приводит к увеличению шанса результативного обращения в кэш, т.к. большинство программ тратят время на пошаговое исполнение инструкций, которые последовательно хранятся в памяти, а не прыгают из одной области в другую. Объем данных, переносимых за один раз, называется "длиной строки".
III. Вопросы к тексту:
Why are PCs held back? (Почему происходят задержки ПК?)
They are held back by the time it takes to move data in and out of memory.
(Из-за времени, нужного для перемещения данных в память и из нее).