История развития ЭВМ
<<  Немного из истории ЭВМ Возникновение ЭВМ  >>
Временная шкала событий в ЭВМ
Временная шкала событий в ЭВМ
Измерение временных интервалов в языке Си
Измерение временных интервалов в языке Си
Измерение времени в системах с разделением времени
Измерение времени в системах с разделением времени
Картинки из презентации «Измерение времени в ЭВМ» к уроку информатики на тему «История развития ЭВМ»

Автор: dubovik. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Измерение времени в ЭВМ.ppt» со всеми картинками в zip-архиве размером 207 КБ.

Измерение времени в ЭВМ

содержание презентации «Измерение времени в ЭВМ.ppt»
Сл Текст Сл Текст
1Измерение времени в ЭВМ. Новосибирск 11times().
2013. С.Е. Киреев, В.П. Маркова, М.Б. 12Измерение времени процесса. Функция
Остапкевич, В.А. Перепелкин. НГТУ Кафедра clock_t times (tms *buffer) Возвращает в
параллельного программирования. поле tms_utime переменной buffer
2Временная шкала событий в ЭВМ. (для количество тактов, потраченных на
системы с тактовой частотой 1 ГГц). исполнение инструкций пользовательского
3Аппаратные ресурсы для измерения процесса с момента начала его исполнения;
времени. Счетчик числа тактов процессора в поле tms_stime переменной buffer
(точный для измерения малых промежутков количество тактов, затраченных на
времени до 10 мсек., зависит от исполнение системных вызовов
архитектуры, есть не для всех архитектур, инициированных процессом. Использование
в SMP нужна привязка процессов) Часы функции times. Перевод тактов в
реального времени (удовлетворительная миллисекунды производится так же, как и в
точность для промежутков времени более 1 примере для функции clock. #include
сек.). <sys/times.h> #include
4Основные способы измерения времени в <time.h> struct tms tmsBegin,tmsEnd;
ОС Linux. Системное ПО. Прикладная void time_start() { times(&tmsBegin);
программа. Утилиты. time. API, библиотеки. } long time_stop() { times(&tmsEnd);
time. clock_gettime. times. gettimeofday. return ((tmsEnd.tms_utime -
Ядро ОС, драйверы. Обработчик прерывания. tmsBegin.tms_utime)+ (tmsEnd.tms_stime -
Аппаратное обеспечение. Счетчик числа tmsBegin.tms_stime))* 1000/CLOCKS_PER_SEC;
тактов. Часы реального времени. }.
5Измерение временных интервалов в языке 13Измерение времени процесса Счетчик
Си. Квант времени процессора. Измерение тактов процессора. Счетчик тактов
времени работы программы в многозадачной процессора (CPU time stamp counter) –
операционной системе (Windows, Linux, …) аппаратный счетчик, значение которого
имеет свои особенности. В такой системе увеличивается на каждом такте процессора.
каждый процессор (ядро) всегда выполняет Такт процессора – самый малый интервал
несколько процессов (программ) в режиме времени в вычислительной системе, который
разделения времени. Операционная система теоретически может быть замерен. Поэтому
выделяет каждому процессу квант времени счетчик тактов позволяет с большой
процессора и управляет переключением точностью измерять малые промежутки
процессора с одного процесса на другой. времени (вплоть до нескольких команд
Таким образом, если замерить время работы процессора). Счетчик тактов процессора
некоторой программы внешним хронометром, имеет смысл использовать только для
отражающим реальное течение времени, то измерения интервалов времени меньших
этот интервал попадет и время работы кванта времени, выделяемого процессу
каких-то других процессов. операционной системой. Для получения
6Измерение времени в системах с значения счетчика тактов используются
разделением времени. специальные команды процессора, свои для
7Измерение временных интервалов в языке каждой архитектуры: x86/x86-64: rdtsc
Си. Все дальнейшие примеры использования (Read Time Stamp Counter) Alpha: rpcc,
функций замера интервалов времени будут Itanium: ar.itc, PowerPC: mftb, mftbu.
основаны на функциях 1. void time_start(), 14Счетчик тактов процессора. rdtsc -
вызываемую в момент начала замера времени; ассемблерная инструкция для платформы x86,
2. long time_stop(), возвращающую читающая счётчик TSC (Time Stamp Counter)
количество миллисекунд, прошедших с начала и возвращающая его в регистрах EDX:EAX
замера времени. Пример использования 64-битное количество тактов с момента
функций замера времени: main() { . . . последнего сброса процессора. Пример
time_start(); /* вычисления */ использования инструкции rdtsc в ОС Linux:
printf(“Время: %ld миллисекунд.\n", #include <time.h> long long
time_stop()); . . . }. TimeValue=0; //функция, возвращающая
8Измерение системного времени Счетчик количество тактов, прошедших с момента
системного времени. Вычислительная система последнего сброса процессора unsigned long
имеет несколько программных и аппаратных long time_RDTSC() { union ticks { unsigned
счетчиков, отражающих течение времени с long long tx; struct dblword { long tl,th;
различных точек зрения. Необходимо } dw; } t; asm("rdtsc\n":
различать следующие счетчики: Счетчик "=a"(t.dw.tl),"=d"(t.d
системного времени (system time, .th)); return t.tx; } void time_start() {
wall-clock time) – программный счетчик, TimeValue=time_RDTSC(); } long long
который отражает течение времени с точки time_stop() { return
зрения операционной системы и, как (time_RDTSC()-TimeValue)*1000/CLOCKS_PER_S
правило, соответствует реальному течению C; }.
времени. Значение системного времени в 15Счетчик тактов процессора. Пример
каждый момент одинаково для всех программ, использования инструкции rdtsc в Windows,
работающих на данном компьютере. Функции MS Visual C++: #include <intrin.h>
для измерения системного времени: Windows: unsigned __int64 TimeValue=0; unsigned
GetSystemTime(), GetTickCount(), time(), __int64 rdtsc(void) { return __rdtsc(); }
clock(), Linux: gettimeofday(), time(), void time_start() { TimeValue=rdtsc(); }
clock(). long long time_stop() { return
9Измерение системного времени. Функция (rdtsc()-TimeValue)*1000/CLOCKS_PER_SEC;
int gettimeofday(struct timeval *tv, }.
struct timezone *tz) возвращает в полях 16int main( int argc, char **argv ){
tv_sec и tv_usec переменной tv количество struct timespec start, stop; double accum;
секунд и микросекунд, прошедших с полуночи if( clock_gettime( CLOCK_REALTIME,
1 января 1970 года. Пример использования: &start) == -1 ) { perror( "clock
#include <sys/time.h> struct timeval gettime" ); exit( EXIT_FAILURE ); }
tv1, tv2, dtv; struct timezone tz; system( argv[1] ); if( clock_gettime(
//функция для начала замера времени, CLOCK_REALTIME, &stop) == -1 ) {
сохраняющая в переменной tv1 время начала perror( "clock gettime" ); exit(
измерений void time_start() { EXIT_FAILURE ); } accum = ( stop.tv_sec -
gettimeofday(&tv1, &tz); } start.tv_sec ) + ( stop.tv_nsec -
//функция для окончания замера времени, start.tv_nsec ) / BILLION; printf(
возвращающая количество миллисекунд, "%lf\n", accum ); return(
прошедших с начала замера времени long EXIT_SUCCESS ); }.
time_stop() { gettimeofday(&tv2, 17Идентификатор таймера в clock_gettime.
&tz); dtv.tv_sec= tv2.tv_sec - CLOCK_REALTIME System-wide realtime clock.
tv1.tv_sec; //разница секунд Setting this clock requires appropriate
dtv.tv_usec=tv2.tv_usec - tv1.tv_usec; privileges. CLOCK_MONOTONIC Clock that
//разница микросекунд if cannot be set and represents monotonic
(dtv.tv_usec<0) { dtv.tv_sec--; time since some unspecified starting
dtv.tv_usec+=1000000; } //возвращение point. CLOCK_PROCESS_CPUTIME_ID
количества прошедших миллисекунд return High-resolution per-process timer from the
dtv.tv_sec*1000 + dtv.tv_usec/1000; }. CPU. CLOCK_THREAD_CPUTIME_ID
10Измерение системного времени. Функция Thread-specific CPU-time clock.
clock_t clock() возвращает количество 18Факторы, вносящие искажения в
тактов, прошедших с момента запуска измерение времени. Другие процессы в
программы. CLOCKS_PER_SEC – константа, многозадачных операционных системах
значение которой равно количеству тактов остановить другие приложения, оставить
исполняемых за секунду. Таким образом, активными только необходимые сервисы или
(clock() – tm)*1000/CLOCKS_PER_SEC – демоны ОС, сделать несколько замеров,
количество миллисекунд, прошедших с взять минимальное значение. Виртуальная
«момента времени» tm. #include память, дисковый кэш запускать сброс
<time.h> clock_t tm; void дискового кэша (sync в Linux) перед каждым
time_start() { tm = clock(); } long запуском программы, сделать несколько
time_stop() { return (clock() – замеров, взять минимальное значение.
tm)*1000/CLOCKS_PER_SEC; }. Разрешающая способность способа измерения
11Измерение времени процесса Счетчик времени Подобрать способ в соответствии с
времени процесса. Счетчик времени процесса априорной оценкой продолжительности.
(process time, CPU time) – программный 19Основные способы измерения времени в
счетчик, который отражает использование ОС Linux. Системное ПО. Прикладная
процессорного времени только конкретным программа. Утилиты. time. API, библиотеки.
процессом. Шаг изменения этого счетчика time. clock_gettime. times. gettimeofday.
относительно велик, поэтому его не следует Ядро ОС, драйверы. Обработчик прерывания.
использовать для измерения малых Аппаратное обеспечение. Счетчик числа
промежутков времени. Функции для получения тактов. Часы реального времени.
времени процесса: Windows: 20Временная шкала событий в ЭВМ. (для
GetThreadTimes(),GetProcessTimes(), Linux: системы с тактовой частотой 1 ГГц).
Измерение времени в ЭВМ.ppt
http://900igr.net/kartinka/informatika/izmerenie-vremeni-v-evm-82670.html
cсылка на страницу

Измерение времени в ЭВМ

другие презентации на тему «Измерение времени в ЭВМ»

«Архитектура ЭВМ» - Роль программной и аппаратной частей. Потребности специалистов. Software. Приведем примеры. Hardware. является одним из самых неоднозначно используемых. Архитектура. Компьютер. Термин “архитектура ЭВМ”. Использованы при программировании. в изначальном своем смысле используется в градостроении. Слово “архитектура”.

«Поколения ЭВМ» - Супер-миниЭВМ. Рабочие станции. Четвертое поколение ЭВМ (1974 - 1982 гг.). Назовите отличительные черты больших ЭВМ. Второе поколение ЭВМ (1959 - 1967 гг.). Большие ЭВМ (мэйнфреймы). Назовите отличительные черты суперкомпьютеров. Блокнотный ПК, ноутбук. Назовите отличительные черты мини-ЭВМ. Доэлектронный период.

«История развития ЭВМ» - Арифмометр. В конце 19 века в США проводилась первая перепись населения. Русские счёты. Перфорационные вычислительные машины. Камешки, зарубки, засечки… Единичная ("палочная") система счисления. История вычислительной техники. Все этапы развития ЭВМ принято условно делить на поколения, сменяющие друг друга.

«Профессия Оператор ЭВМ» - Перспектива профессии. Участие в выставках и конкурсах. Профессия «Оператор ЭВМ». Все мы дружная семья. Мы учимся и сдаем экзамены.

«ЭВМ информатика» - Информатика как наука зародилась с середины ХХ века благодаря изобретению ЭВМ. Компьютер в жизни общества. = Компьютер (computer - вычислитель). ЭВМ (Электронно-вычислительная машина). Области применения ЭВМ. Информатика.

«История ЭВМ» - ЭВМ третьего поколения. Механический арифмометр Лейбница (1673г.). 1948 - 1958 года. Аналитическая машина Бэббиджа. Русский абак. Программирование – подобен II поколению. Габариты – однотипные стойки, требующие машинный зал. Программирование – появились алгоритмические языки. С 1974 года до наших дней.

История развития ЭВМ

44 презентации об истории развития ЭВМ
Урок

Информатика

130 тем
Картинки