|
Реферат: Закон Мура в действии (Компьютеры)
Закон Мура в действии
Вычислительная мощность компьютеров растет с поразительно высокой и удивительно постоянной скоростью. Новые технологии обеспечат устойчивость этой тенденции и в будущем.
В 1965 г соучредитель фирмы Intel Гордон Мур предсказал, что плотность транзисторов в интегральных схемах будет удваиваться каждый год Позднее его прогноз, названный законом Мура, был скорректирован на 18 месяцев. В течение трех последних десятилетий закон Мура выполнялся с замечательной точностью. Не только плотность транзисторов, но и производительность микропроцессоров удваивается каждые полтора года
Энди Гроув, бывший главный управляющий и председатель правления Intel, предсказал на осенней конференции Comdex'96, что к 2011 г компания выпустит микропроцессор с 1 млрд. транзисторов и тактовой частотой 10 ГГц, изготовленный по 0,07-мкм полупроводниковой технологии и способный выполнять 100 млрд. операций в секунду
Основатель и главный редактор журнала Microprocessor Report Майкл Слейтер полагает, что в будущем при внесении серьезных изменений в конструкцию процессора или смене технологии на более совершенную для удвоения числа транзисторов потребуется более 18 месяцев. Это будет вызвано как усложнением логики микросхем, что приведет к увеличению времени проектирования и отладки, так и необходимостью преодолевать все более серьезные технологические барьеры при изготовлении ИС.
1. СОВЕРШЕНСТВОВАНИЕ ТЕХНОЛОГИИ ПРОИЗВОДСТВА
При каждом переходе к технологии нового поколения, например от 0,25- к 0,18-мкм, необходимо совершенствовать многие операции, используемые при изготовлении микросхем. Особую важность имеет фотолитографический процесс, в котором свет с малой длиной волны фокусируется с помощью набора прецизионных линз и проходит через фотошаблоны, соответствующие рисунку схемы. Происходит экспонирование фоторезиста, нанесенного на поверхность пластины после проявки, травления и химического удаления маски на пластине формируются микроскопические детали схемы
По словам Марка Бора, директора Intel по производственным технологиям, соответственно должны совершенствоваться источники света и оптика В конце 1999 г фирма Intel выпустит процессоры Pentium III по 0,18-мкм технологии с использованием 248-нм источника света в глубокой УФ - области спектра, как при производстве современных 0,25-мкм кристаллов Pentium II и Pentium III. Но через три-четыре года при переходе к 0,13-мкм процессу предполагается использовать излучение с длиной волны 193 нм от эксимерного лазера
По мнению Бора, вслед за 0,13-мкм может последовать 0,09-мкм процесс, в котором будут использованы эксимерные лазеры с длиной волны 157 нм Следующий шаг после порога 0,09 мкм будет связан с преодолением серьезного технологического и производственного барьера освоением 0,07-мкм технологии для обещанного Гроувом процессора 2011 г. На этом уровне для фотолитографического процесса, по всей вероятности, потребуется излучение от источников, работающих в чрезвычайно дальней области УФ-спектра Длина волны составит всего 13 нм, что в перспективе может обеспечить формирование значительно более миниатюрных транзисторов, трудность же заключается в том, что в настоящее время нет материалов для изготовления фотошаблона, пропускающего свет с такой малой длиной волны Для решения проблемы потребуются совершенно новые процессы отражательной литографии и оптика, пригодная для работы в дальней области УФ - диапазона
По мере увеличения числа транзисторов, соединительные проводники между транзисторами становятся тоньше и располагаются ближе друг к другу, их сопротивление и взаимная емкость растут, из-за чего увеличиваются задержки при распространении сигналов Чтобы уменьшить сопротивление и сократить ширину соединительных проводников в узких местах, для напыления проводников вместо алюминия станет применяться медь, что уже происходит с кристаллами PowerPC G3 фирмы IBM. Главный технолог компании AMD Атик Раза обещает, что AMD начнет применять медь в новых микросхемах уже в 1999 г. Бор прогнозирует, что медные соединения будут использоваться в будущих процессорах Intel, выполненных с технологическими нормами 0,13 мкм и меньше.
2. ФИЗИЧЕСКИЕ ПРЕДЕЛЫ
В будущем чрезвычайно обострятся проблемы теплоотвода и подачи мощности. Размеры транзисторов продолжают уменьшаться, и ради достижения требуемой скорости переключения транзисторов толщина изолирующих окислов в затворах будет доведена до нескольких молекул, и для предохранения структуры кристалла от пробоев придется использовать низкие напряжения Представители Intel полагают, что через десять лет микросхемы будут работать с напряжением около 1 В и потреб-1Я1ь мощность от 40 до 50 Вт, что соответствует силе тока 50 А и более Проблемы равномерного распределения столь сильного тока внутри кристалла и рассеивания огромного количества тепла потребуют серьезных исследований
Будет ли достигнут физический предел современных методов изготовления кремниевых приборов к 2017 г (как предсказывают многие специалисты), что означает невозможность формировать пригодные для практического использования транзисторы меньших размеров. Трудно заглядывать столь далеко вперед, но исследования, проводимые в таких областях, как молекулярная нанотехнология, оптические или фотонные вычисления, квантовые компьютеры, вычисления на базе ДНК, хаотические вычисления, и в прочих, доступных сегодня лишь узкому кругу посвященных, сферах науки, могут принести результаты, которые полностью изменят принцип работы ПК, способы проектирования и производства микропроцессоров.
В предстоящие годы значительные изменения произойдут не только в полупроводниковых технологиях, но и в архитектуре микропроцессоров, в том числе их логической структуре, наборах команд и регистров, внешних интерфейсах, емкости встроенной памяти. По мнению декана Инженерной школы Станфордского университета и соучредителя компании MIPS Computer Systems Джона Хеннесси, завершается процесс повышения параллелизма выполнения команд, особенно в устройствах с набором команд х86, хотя в предстоящие годы и ожидается появление более сложных 32-разрядных процессоров х86 от AMD, Cyrix, Intel и других компаний.
По словам Фреда Поллака, директора лаборатории Microcomputer Research Lab фирмы Intel, существует множество творческих подходов, которые позволят совершенствовать микроархитектуру 32-разрядных процессоров х86 еще много лет. Однако Поллак также отмечает, что для достижения существенно более высоких уровней производительности необходимы принципиально новые методы.
Для перехода к новому поколению приборов компании Intel и HP предложили в октябре 1997 г. концепцию EPIC (Explicitly Parallel Instruction Computing — Вычисления на базе набора команд с явно выраженным параллелизмом), которая предполагает радикальный отход от х86. Предложенная 64-разрядная архитектура IA-64 представляет собой первый популярный набор команд, в котором воплощены принципы EPIC, а готовящийся к выпуску процессор Merced — первая массовая реализация IA-64. Поллак говорит, что первоначально IA-64 будет предназначаться для рабочих станций и серверов, а будущие высокоуровневые 32-разрядные ЦП х86 — для профессионалов и самых требовательных домашних пользователей. Раза (фирма AMD) и Поллак полагают, что через десять лет 64-разрядные процессоры станут доступными для массового пользователя, но не решаются прогнозировать появление 64- разрядных процессоров во всех наших настольных машинах уже через пять лет.
По словам Раза, чрезвычайно важно разместить быстродействующую память максимально большой емкости как можно ближе к процессору и сократить задержки доступа к устройствам ввода-вывода. Раза утверждает, что ЦП будущего должны оснащаться значительно более быстрыми шинами с непосредственным доступом к основной памяти, графической подсистеме и, особенно, устройствами буферизованного доступа с узкой полосой пропускания. Мы также станем свидетелями тенденции к объединению всех основных узлов ПК на одном кристалле.
Многопроцессорные кристаллы (Chip Multiprocessors — СМР) содержат несколько процессорных ядер в одной микросхеме, и ожидается, что в следующем десятилетии они получат широкое распространение. Чтобы можно было полностью использовать преимущества этих архитектур, должно появиться множество многопотоковых и многозадачных прикладных программ. Если предположить, что предел развития кремниевой технологии действительно будет достигнут к 2017 г., то в дальней перспективе многопроцессорные конструкции могут отсрочить необходимость перехода на компьютеры экзотической архитектуры. Но, по мнению Хеннесси, для внедрения СМР и сложных многопотоковых программ на массовом рынке потребуется значительное время. Он считает, что первой целью для СМР станет рынок встроенных процессоров. Слейтер полагает, что мы увидим СМР в рабочих станциях и серверах, хотя могут возникнуть проблемы с полосой пропускания канала связи нескольких вычислительных ядер с памятью.
Можно смело прогнозировать, что еще в течение многих лет будут появляться новшества в технологии изготовления кремниевых приборов и архитектуре ЦП. К 2011 г. — если не раньше — на кристалле будет размещаться 1 млрд. транзисторов, а мощность вычислительных устройств значительно превзойдет любые прогнозы.
3. Технологии в массы.
Пользователи ПК привыкли к тому, что год от года вычислительная мощность микропроцессоров растет, но сейчас они сталкиваются с новым явлением: обилием вариантов выбора. После многих лет следования строго в фарватере фирмы Intel кампании, изготовляющие микропроцессоры для ПК, выпустят изделия с небывало разнообразными наборами команд, шинными интерфейсами и архитектурой кэша. Да и сама фирма Intel теперь представляет свои новые (и не совсем) разработки для каждого из сегментов рынка, с почти полным соответствием маркетинга автомобильных компаний. Однако в своей гонки Intel намеренно забывает о том, что процессоры, как инструмент для выполнения определенных задач, не столь целостны как автомобиль
Головокружительные темпы развития микропроцессоров, а также двуликость рынка компьютерных технологий (hard & soft), создало парадоксальную ситуацию, когда к смене технологий физического производства микрочипов не готовы не только большинство конечных пользователей, но и производители программного обеспечения. Современные ЦП обладают вычислительной мощностью вполне достаточной для выполнения любых персональных задач, кроме 3D игр и узко специализированных приложений. Для рядовых пользователей это обернулось необходимостью постоянной смены компьютерных комплектующих, вызванной не их физическим устареванием или неспособностью выполнять задачи пользователя, а лишь как следствием закона Мура.
Перспективные планы выпуска процессоров
Изготовитель ЦП |1999г. |2000г. |2001г. |2002г. |2003г. |2011г. | |AMD |K7 |K7+ | | | | | |CYRIX |Jalapeno, MXi+ |Jalapeno+ | | | | | |IDT |C7 |C7 | | | | | |INTEL |PIII 667 (0,18-мкм) |Willamette (>1ГГц), Merced (IA-64) |McKinlee (Merced II >1ГГц) |Madison (Merced III) | 0,13-мкм медь |10ГГц, 100 млрд. операций в сек. | |
Реферат на тему: Закраска гранично-заданной области с затравкой, Машинная графика, C++ Builder 4.0
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ОТЧЕТ
ПО КУРСУ
“Диалоговые системы и машинная графика”
ЗАДАНИЕ № 4
Преподаватель: Курочкин М.А.
Студент: Дмитроченко А.А. Группа 4086
2001г.
1. Постановка задачи:
Необходимо реализовать алгоритм заливки гранично-заданной области с затравкой. 2. Модель
Задается заливаемая (перекрашиваемая) область, код пиксела, которым будет выполняться заливка и начальная точка в области, начиная с которой начнется заливка.
По способу задания области делятся на два типа:
- гранично-определенные, задаваемые своей (замкнутой) границей такой, что коды пикселов границы отличны от кодов внутренней, перекрашиваемой части области. На коды пиксели внутренней части области налагаются два условия - они должны быть отличны от кода пикселов границы и кода пикселя перекраски. Если внутри гранично- определенной области имеется еще одна граница, нарисованная пикселями с тем же кодом, что и внешняя граница, то соответствующая часть области не должна перекрашиваться; - внутренне определенные, нарисованные одним определенным кодом пикселя. При заливке этот код заменяется на новый код закраски.
В этом состоит основное отличие заливки области с затравкой, от заполнения многоугольника. В последнем случае мы сразу имеем всю информацию о предельных размерах части экрана, занятой многоугольником. Поэтому определение принадлежности пикселя многоугольнику базируется на быстро работающих алгоритмах, использующих когерентность строк и ребер. В алгоритмах же заливки области с затравкой нам вначале надо прочитать пиксель, затем определить принадлежит ли он области и если принадлежит, то перекрасить.
Заливаемая область или ее граница - некоторое связное множество пикселей. По способам доступа к соседним пикселям области делятся на 4- х и 8-ми связные. В 4-х связных областях доступ к соседним пикселям осуществляется по четырем направлениям - горизонтально влево и вправо и в вертикально вверх и вниз. В 8-ми связных областях к этим направлениям добавляются еще 4 диагональных. Используя связность, мы можем, двигаясь от точки затравки достичь и закрасить все пиксели области.
Важно отметить, что для 4-х связной прямоугольной области граница 8-ми связна и, наоборот, у 8-ми связной области граница 4-х связна. Поэтому заполнение 4-х связной области 8-ми связным алгоритмом может привести к "просачиванию" через границу и заливке пикселей в примыкающей области.
Построчный алгоритм заливки с затравкой:
Использует пространственную когерентность: - пиксели в строке меняются только на границах; - при перемещении к следующей строке размер заливаемой строки скорее всего или неизменен или меняется на 1 пиксель. Таким образом, на каждый закрашиваемый фрагмент строки в стеке хранятся координаты только одного начального пикселя, что приводит к существенному уменьшению размера стека. Последовательность работы алгоритма для гранично-определенной области следующая: 1. Координата затравки помещается в стек, затем до исчерпания стека выполняются пункты 2-4. 2. Координата очередной затравки извлекается из стека и выполняется максимально возможное закрашивание вправо и влево по строке с затравкой, т.е. пока не попадется граничный пиксель. Пусть это Хлев и Хправ, соответственно. 3. Анализируется строка ниже закрашиваемой в пределах от Хлев до Хправ и в ней находятся крайние правые пиксели всех, не закрашенных фрагментов. Их координаты заносятся в стек. 4. То же самое проделывается для строки выше закрашиваемой.
3. Реализация
Данный алгоритм был реализован в Borland C++ Builder 4. При запуске программы пользователю предлагается задать гранично- заданную область. Алгоритм правильно заполняет любую область, включая достаточно сложные области, в которых присутствуют отверстия. Далее необходимо указать начальную точку заливки. В результате работы будет получена закрашенная область.
4. Листинг
//--------------------------------------------------------------------- ------ #include #pragma hdrstop #include "windows.h" #include "Unit1.h" //--------------------------------------------------------------------- ------ #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int x0=0,y0=0,start=0,xtmp,ytmp,xmet=-4,ymet=-2,metka=0; // переменные для построения графика
int tx,ty,xm,xr,xl,j,c,meta; //Переменные самого алгоритма TColor kraska=clRed,bcolor=clBlue,nomy,my; struct pointt { unsigned int x; unsigned int y; };
static pointt pont[500][500]; //Матрица реализаций int raz;
cel() { Form1->PaintBox1->Canvas->Pen->Color = bcolor; Form1->PaintBox1->Canvas->Brush->Color=RGB(255,255,255); Form1->PaintBox1->Canvas->Rectangle(10,10,210,110); } //--------------------------------------------------------------------- ------ __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { kraska=RGB(255,0,0);bcolor=RGB(0,0,255);
cel();
Edit1->Text=""; } //--------------------------------------------------------------------- ------
Zakras() { xm=tx; while(Form1->PaintBox1->Canvas->Pixels[tx][ty]!=bcolor) { Form1->PaintBox1->Canvas->Pixels[tx][ty]=kraska; tx=tx+1; if (tx420) break; }
if(Form1->PaintBox1->Canvas->Pixels[tx][ty]==bcolor) xr=tx-1;
tx=xm; while(Form1->PaintBox1->Canvas- >Pixels[tx][ty]!=bcolor) { Form1->PaintBox1->Canvas->Pixels[tx][ty]=kraska; tx=tx-1; if (tx420) break; }
tx=tx+1; if(Form1->PaintBox1->Canvas->Pixels[tx-1][ty]==bcolor) xl=tx;
}
Stack() {
tx=xl; ty=ty+j; while(txPaintBox1->Canvas- >Pixels[tx][ty]!=bcolor)&& (Form1->PaintBox1->Canvas- >Pixels[tx][ty]!=kraska)&&(txPaintBox1->Canvas- >Pixels[tx][ty]==bcolor)|| (Form1->PaintBox1->Canvas- >Pixels[tx][ty]==kraska)) tx--; pont[raz]->x=tx; pont[raz]->y=ty; } tx=tx+1; while(((Form1->PaintBox1->Canvas- >Pixels[tx][ty]==bcolor)|| (Form1->PaintBox1->Canvas- >Pixels[tx][ty]==kraska))&&(txxl)) {tx=tx+1;} }
}
Zaliv() { raz=1; pont[raz]->x=x0; pont[raz]->y=y0; while(raz>0) { tx=pont[raz]->x; ty=pont[raz]->y; raz=raz-1; Form1->PaintBox1->Canvas->Pixels[tx][ty]=kraska; Zakras(); j=1; Stack(); j=-2; Stack(); } Form1->Edit1->Text="Все закончилось"; }
void __fastcall TForm1::drawing(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if(start==5) {x0=X;y0=Y;Canvas->Pixels[X][Y]=kraska; Zaliv(); }
if((Button==mbLeft)&&(start!=5)) { Canvas->Pen->Color = bcolor; // выбрать цвет контура // Brush->Color = clYellow; // выбрать цвет заливки if(metka==1) Canvas->LineTo(X,Y); metka=1; // нарисовать эллипс xtmp=X; ytmp=Y; Canvas->MoveTo(X,Y); if(start==0) {x0=X,y0=Y;start=1;} // randomize(); //Canvas->Brush->Color = (Graphics::TColor) $(00FF0000);
}
if (Button==mbRight) { Canvas->Pen->Color = bcolor; Canvas->LineTo(x0,y0); metka=0; start=0; } } //--------------------------------------------------------------------- ------
//--------------------------------------------------------------------- ------ void __fastcall TForm1::movexy(TObject *Sender, TShiftState Shift, int X, int Y) { Label2->Caption=X; Label4->Caption=Y; // xtmp=X;ytmp=Y; //Label6->Caption=Canvas->Pixels[x0][y0]; //Zaliv();
} //--------------------------------------------------------------------- ------ void __fastcall TForm1::vpered(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) {
Edit1->Text=" Выберите точку закраски"; start=5; } //--------------------------------------------------------------------- ------
void __fastcall TForm1::reset_key(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { start=0;
PaintBox1->Visible=false; PaintBox1->Visible=true;
start=0;
Edit1->Text=""; } //--------------------------------------------------------------------- ------
5. Вывод
В процессе работы разобрался с методами закраски гранично-заданной области, а также отработаны приемы программирования на С++. Произошло более детальное знакомство с Borland C++ Builder 4.
Используемые источники информации:
- Математические основы машинной графики (Д. Роджерс, Дж. Адамс) «издательство МИР» - Алгоритмические основы машинной графики (Д. Роджерс) «МИР» - Internet
| |