Maximum
#39
05 мая 1997 |
|
Проамижный бред-2 - Амига 1200.
╔════════════════──────────────────────────────════════════════╗ │ ПРОАМИЖНЫЙ БРЕД. ЧАСТЬ 2-я │ ╚════════════════──────────────────────────────════════════════╝ (C) Odessoft Amiga 05/05/1997 08:25:31 Hi ALL! Маленькое дополнение к информации Falconа об Амиге. Вообще-то (с моей точки зрения) каждый уважающий себя юзер, хакер и т.д. должен хоть вкратце разбираться в различных платформах (PC, MAC, AMIGA и т.д.) ---------------------------------------------------------------- AMIGA 1200: ---------------------------------------------------------------- 1. Описание Амиги 1200 1.1. Систeмные кoмпoнeнты и интepфeйсы Амиги 1200 1.1.1. Системными компонентами Амиги 1200 являются: 1) Микропроцессор Motorola 68EC020; 2) 2 чипа 8520; 3) 3 так называемые Custom чипы: Alice, Lisa, Paula; 4) 2 ASIC-чипа: Gayle и Budgie. 5) клавиатурный процессор Motorola 68HC05C MPU Если не учитывать ОЗУ и логические компоненты, то эти 9 ука- занных чипов полностью ответственны за всю работу Амиги 1200: 1.1.2. Интерфейсы Амиги 1200 1: Параллельный двунаправленный (Bi-directional) интерфейс. 2: Последовательный RS-233C интерфейс (скорость приема/переда- чи до 115 Кбод). 3: Стерео аудио выход (следует отметить, что при подключении только к одному стереоканалу, другой автоматически подмеши- вается к нему, образуя моноканал). 4: Разъем для подключения аналоговых RGB-мониторов (SVGA и Mu- ltisync в том числе) и мониторов с ТТЛ-входами. 5: Выход на композитный монитор. 6: Выход RF-модулятора PAL/NTSC для подключения к телевизору. 7: Разъем для подключения внешнего дисковода HD или DD (Shu- gart-bus совместимый). 8: Два разъема для подключения мыши типа PC-BUS, джойстика и пр. 9: PCMCIA-2 - слот. 10: Так называемый TrapDoor-слот (слот расширения конфигурации) 11: Внутренний IDE - раз'ем. 12: Внутренний раз'ем для подключения клавиатуры. 1.2.2. Центральный процессор --------------------------- Архитектура 32-битного микропроцессора MC68020 является моде- рнизированным вариантом семейства 32/16-битных микропроцессоров MC68000: В нем сохранена полная совместимость по машинному коду, но 68020 обеспечивает больше режимов адресации, небольшую внут- реннюю кэш-память и поддерживает внешнее устройство управления памятью (Memory Management unit - или MMU). В отличие от 68000 в 68020 встроены небольшая кэш-память и конвейерная система, что повышает скорость исполнения программ, а в регистровый набор включено несколько дополнительных регист- ров для поддержки мультизадачной операционной системы. Регистры 68020 похожи на регистры 68000, но первый позволяет осуществлять не только операции над битами, двоично-десятичными числами, байтами, словами (16 бит), длинными словами (32 бита), но и над счетверенными словами (64 бита). Восемь регистров данных 68020 функционируют как аккумуляторы, а семь регистров адреса привлекаются для базовой и индексной ад- ресации. Активным в любой момент является один из трех указате- лей стека, который выбирается установкой бит в регистре состоя- ния. В 68020 сохранены два режима работы - супервизор/пользова- тель. Если, например, CPU работает в режиме супервизора, что опре- деляется установкой соответствующих бит в регистре состояния, и возникает прерывание, то в главном стеке автоматически сохраняе- тся содержимое программного счетчика, регистра состояния и сме- щение вектора особого случая. Векторный базовый регистр применяется для размещения таблицы векторов особых случаев емкостью 1 Кбайт в любой области памяти. Два регистра кэш-памяти применяются для управления кэш-памятью команд, например ее разрешения или очистки. Сама кэш-память сос- тоит из 64 элементов длиной 64 бита каждый, в которые входит 32- битное поле тэга. Процессор обладает обширным набором режимов адресации, вклю- чая регистровую косвенную адресацию с индексированием и масшта- бированием, а также косвенную адресацию памяти с пред и постин- дексированием. Как и у его предшественников, у 68020 отсутствуют команды ввода/вывода, поэтому они отображаются на память. В Амиге 1200 стандартной конфигурации применяется микропроце- ссор 68EC020 с тактовой частотой 14 МГц, который имеет 24-разря- дное шину адреса и 32-разрядную шину данных (т.е. адресует толь- ко до 16 Мб). Данное адресное пространство в Амиге именуется ад- ресным пространством Zorro-2: Но акселераторы на основе более мощных процессорах 68030 и выше уже позволяют организовать адре- сное пространство до 4 Гб (в Амиге это называется адресным прос- транством Zorro-3). О достоинствах и недостатках семейства процессоров Моторола 68K написаны целые книги, поэтому здесь их обсуждать не будем, однако замечу, что восемь 32-х разрядных регистров общего назна- чения (не считая адресных), линейная адресация, разнообразие ее методов и команд позволяют получать куда более быстрый, компакт- ный и эффективный код, нежели у семейства процессоров Intel x86. 1.2.3. Оперативная память: --------------------------- Стандартно в A1200 ставится 2 мегабайта Chip-Memory на мате- ринскую плату, организованную как 256K x 32 bit. Память в Амиге может быть нескольких типов, например, Chip, Fast, Slow и т.д. Все эти типы памяти включаются участками (воз- можно и с разрывами) в общее адресное пространство, причем еще при начальном старте системы определяются и ее местонахождение и приоритет использования (исполняется процедура автоконфигурации - AUTOCONFIG (TM) ). Приоритет определяет очередность выделения участков памяти операционной системой AmigaOS (именно она ведает распределением памяти и выделяет по запросу нужное ее количест- во): сначала происходит выделение участков памяти с наибольшим приоритетом использования, затем по их исчерпании приходит оче- редь других. Выделять память можно как любую, так и специализи- рованно (напр. Chip, или Fast). Собственно, рассмотрим поподроб- нее типы памяти и как с ними взаимодействуют компоненты Амиги. 1.2.3.1. Chip-память. Это - основная память Амиги. В ней происходит работа большин- ства каналов DMA (видео, аудио, блиттера, copper-сопроцессора, диска, спрайтов), возможна работа и центрального процессора (приоритет доступа регулируется), но в этом случае происходит аппаратное отключение кэш-памяти. Именно Chip-память ставится на материнских платах A1200 изначально. Размер и ее организация бу- дут указаны ниже. 1.2.3.2. Fast-память. Она доступна только для центрального процессора и каналов DMA Zorro-3: в принципе, центральный процессор владеет ей безразде- льно, никто ему в этом не мешает. 1.2.3.3. Slow-память. Эта память может появиться, например, при добавлении PCMCIA- карточки памяти. Доступ к ней тоже будет иметь CPU, но, при ра- боте с ней выключается кэш-память, да и само ее быстродействие очень невелико. 1.2.3.4. Virtual-память. Организуется при наличии в CPU специального устройства управ- ления памятью - MMU. Память может распологаться в виде файла, либо на специально выделенной части жесткого диска. Она может быть либо фиксированного размера, либо динамически увеличива- ться/уменьшаться в зависимости от запросов программ. 1.2.3.5. Прочая (other)-память. Именно это понятие объединяет в себе и Fast и Slow и виртуа- льную память, ибо разделение памяти на Fast/Slow/Virtual/... ап- паратно, а для операционной системы значение имеют лишь приори- тет, да типы памяти Other/Chip. 1.2.4. Работы Амиги с памятью. Стандартно A1200 поставляется с 2 Мб Chip-памяти. Вообще-то, хорошего в этом мало: мало того, что кэш-память процессора бло- кируется, но и центральный процессор имеет доступ к ней по умол- чанию с меньшим приоритетом, чем спецчипы. Что же в результате получаем? Машина вообще-то начинает "притормаживать", ибо бедный процессор только и занимается тем, что ожидает своей очереди на доступ вместо исполнения команд. А что же происходит с добавле- нием в машину Fast-памяти? Наконец-то процессору даютразогнаться в полную силу, причем ему почти никто не мешает: операции спец- процессоров в Chip-памяти не тормозят CPU, и он занимается испо- лнением основной логики работы программ; особенно это важно с учетом того факта, что в операционной системе на Амиге применен "преемптивный" (preemptive) или вытесняющий тип мультизадачнос- ти. При этом быстродействие центрального процессора чисто по те- стам возрастает в два раза, а на самом деле реальная производи- тельность с учетом мультизадачности операционной системы AmigaOS вырастает еще больше. 1.3. Основы многозадачности Амиги. Многозадачностью (или мультизадачностью) называется способ- ность операционной системы выполнять несколько задач в одно и то же время. Если компьютер имеет несколько процессоров, то задачи могут исполняться параллельно, в противном случае - псевдопарал- лельно, разделяя между собой ресурсы одного процессора. Мульти- задачной операционной системой пользователи Амиги наслаждаются уже в течение 10 лет, в то время как на других платформах еще спорят: является ли многозадачный режим полезной особенностью операционной системы. Вы уже, вероятно, знакомы с многозадачностью, но мы хотели бы разьяснить некоторые особенности ее реализации на компьютерах Амига, ибо это во многом определяет их возможности. 1.3.1. Многозадачный режим на Амиге. Вид многозадачности на Амигах называется вытесняющей (preemp- tive) приоритизированной "каруселью". Каждая задача имеет назна- ченный ей приоритет. Задача которая имеет самый высокий приори- тет и готова к выполнению, будет исполняться. Задача может нахо- диться в одном из трех основных состояний: бездействующая (slee- ping), готовая к выполнению (ready) или выполняющаяся (running). * Готовая задача в настоящее время не использует центральный процессор, но ожидает этого. Часть AmigaOS, называемая "Exec", занимается работой с задачами. Она хранит сортируемый список задач, которые являются готовыми к выполнению. Список сортируется согласно приоритету задачи, так что Exec может легко находить готовую задачу с самым высоким приоритетом. * Бездействующая задача не выполняется в настоящее время и ждет некоторого события для начала своей работы. Когда это событие происходит, Exec перемещает бездействующую задачу в список готовых задач. * Выполняющаяся задача в настоящее время использует центральный процессор. Она будет оставаться текущей задачей, пока не про- изойдет одно из следующих трех событий: *** Задача, имеющая более высокий приоритет становится готовой, так что Exec вытесняет текущую задачу и переключается к бо- лее высокой по приоритету задаче. *** Выполняющаяся в настоящее время задача должна ждать собы- тия, так что до его начала она бездействует и Exec переклю- чается к самой высокой по приоритету задаче в списке гото- вых к выполнению. *** Выполняющаяся в настоящее время задача владела центральным процессором в течение некоторого определенного периода вре- мени, называемым квантом и имеется другая задача равного приоритета, готовая выполняться. В этом случае, Exec вытес- няет текущую задачу и переключается на следующую готовую задачу в списке, имеющую тот же самый приоритет. Этот про- цесс известен как квантование времени или "КАРУСЕЛЬ". Когда имеется группа задач равного приоритета относительно верши- ны списка готовых задач, Exec будет циклически проходить их, позволяя каждой задаче использовать центральный процес- сор в течение кванта времени. Принцип работы вытесняющей приоритизированной "карусели" ба- зируется именно на этих трех положениях. 1.3.2. Приоритетный принцип мультизадачности и кооперативная мультизадачность. Приоритетные многозадачные средства операционной системы мо- гут вынуждать задачу отдавать центральный процессор другой зада- че. Некоторые операционные системы имеют кооперативный многоза- дачный режим, главным образом потому что они - старые и их раз- работчики не видели особую потребность для лучшего многозадачно- го режима, когда разрабатывалась ОС. Примером подобной ОС может служить MacOS. В кооперативных мультизадачных операционных сис- темах задача может управлять этим процессом, иначе говоря, выпо- лнять чужие функции. 1.3.2.1. Приоритеты. При запуске задачи в AmigaOS имеют определенные приоритеты. Большинство задач пользователя имеют приоритет -1, 0 или 1: За- дачи, которые требуют своего исполнения до задач пользователя, например драйверы устройств, имеют приоритет 5: Разделы Жесткого Диска и накопители имеют приоритет 10 и самый высокий приоритет - обычно 20, имеет "input.device" который обрабатывает весь ввод из "мыши" и клавиатуры. Приоритетный диапазон в AmigaOS расположен в промежутке от -128 до +127: Отрицательные приоритеты обычно используются для задач, которые требуют всего времени центрального процессора, которое они могут получать, для своего выполнения, например про- граммы рендеринга. Как общее правило, вы не должны поднимать приоритет любой нормальной задачи выше 3. 1.3.3. Различные виды задач. Задачи могут быть разделены на две категории: * задачи, связанные с обменом информации (transput-bound tasks) * задачи, связанные с вычислениями (compute-bound tasks) Transput-связанные задачи тратят наибольшее количество време- ни на ожидание некоторого события для того, чтобы начать выпол- няться. Transput-связанные задачи могут быть интерактивными или неинтерактивными. Пример интерактивной связанной с обменом зада- чи - текстовый редактор, он тратит наибольшее количество времени на бездействие, ожидая очередного нажатия клавиш. Драйверы уст- ройств - неинтерактивные связанные с обменом задачи. Compute-связанные задачи используют так много времени центра- льного процессора, как они могут получить. Compute-связанная за- дача может также быть интерактивна. Примером может служить прог- рамма, которая позволяет вам вращать трехмерный объект на экране с помощью мыши. Больше всего задач, связанных с вычислениями, неинтерактивны, подобно программе для рендеринга изображений или транслятору. В опеpационной системе AmigaOS задачи, связанные с вычислени- ями именуются процессами (process), а задачи, связанные с обме- ном информации - "задачами" (tasks). Планирование. Цель планирования состoит в том, чтобы обеспечить хорошее об- служивание всем задачам, которые в настоящее время конкурируют за вычислительный ресурс, то есть выполнение команд. Различные задачи имеют различные потребности. Персональный компьютер подобный Amig'е обычно имеет не-инте- рактивные связанные с обменом задачи, интерактивные связанные с обменом задачи и не-интерактивные задачи связанные с вычисления- ми. Различным видам задач, очевидно, нужно обеспечивать разные условия работы: * Непротиворечивое время ответа - интерактивным связанным с обменом задачам; * Маленькое время ответа - неинтерактивным связанных с обме- ном задачам; * Хорошую производительность - задачам, связанным с вычислени- ями. Интерактивные связанные с обменом задачи требуют немедленного ответа на каждое событие, иначе пользователь будет испытывать неудобства. При невозможности этого, непротиворечивый ответ - лучше, чем хороший средний ответ. Ответ на нажатие клавиши, ко- торый всегда составляет приблизительно 2 секунды - лучше чем от- вет который составляет в среднем приблизительно 1 секунду, но иногда берет 10 или только 0:5 секунды. Неинтерактивные связанные с обменом задачи требуют быстрого ответа на событие, потому что иначе они будут слишком задержива- ться. Например, рассмотрим задачу которая вычисляет в течение 1 миллисекунды и должна затем ждать 20 миллисекунд события чтобы опять начать выполняться. Пусть это будет повторяться 1000 раз. В результате получим, что задача будет требовать 1 секунды вычи- сления и 20 секунд ожидания и общее количество затраченного вре- мени составит 21 секунд. Но если задача задерживается на полови- ну секунды каждый раз, когда становится готовой, она будет выпо- лняться уже 521 секунду. Маленькая средняя задержка будет пред- почтительнее, даже если некоторые задержки будут дольше. Средняя задержка в течение 1 миллисекунды будет позволять задаче закан- чиваться уже через 22 секунды. Compute-связанные задачи требуют большого количества времени центрального процессора, и непроизводительные затраты должны быть минимальны, то есть должно минимизироваться число переклю- чений с задачи на задачу Контекстный переключатель в AmigaOS работает быстрее, нежели чем в более "крутых" операционных системах. Можно обнародовать некоторые контекстные скорости переключений задач для различных операционных систем/компьютеров: 26 микросекунд 25MHz Amiga 4000/040, AmigaOS 3:1 106 микросекунд 66MHz Snake, HP-UX 9:x 128 микросекунд 40MHz Viking, SunOS 4:1:3 150 микросекунд 25MHz Amiga 2000/030, AmigaOS 2:1 210 микросекунд 33MHz PC AT 486, UNIX 386BSD 0:1 212 микросекунд 50MHz RIOS, AIX 3:2 Как отличают различные виды задач? Чтобы решать, как ему планировать, планировщик должен сначала отличить категорию, которой принадлежит определенная задача. Это может быть очень трудным, потому что задача может дрейфовать от одной категории к другой в процессе своего выполнения. Например, текстовый редактор - обычно интерактивная связанная с обменом задача, но, когда пользователь начинает поиск и функ- цию замены, то она может становиться интерактивной задачей, свя- занной с вычислениями. Когда редактор сохраняет текст на диск, то он становится неинтерактивной связанной с обменом задачей. Это означает, что планировщик должен адаптироваться к различным ситуациям в процессе выполняется задачи. Лучшим планировщиком будет тот, который может предсказывать будущее. При построении планировщика обычный подход заключается в наз- начении приоритета каждой задаче и затем в изменении их в проце- ссе ее исполнения. Самая простой случай - планировщик, уменьшаю- щий приоритеты, где приоритет задачи уменьшается непрерывно в течение использования процессорного времени, и планировщик выпо- лняет сначала задачи с наибольшим приоритетом. Операционная сис- тема, называемая "Multics" использовала такой тип планировщика и в результате был обнаружен главный его недостаток: на сильно за- груженной системе со значительным числом короткоживущих задач приоритет относительно длинной задачи может уменьшиться до такой отметки, где ей доступно или очень маленькое, или вообще никакое процессорное время. Чтобы избегать проблемы постоянно пониженных приоритетов, их необходимо поднимать некоторым способом. Имеются два главных вы- бора среди методологий повышения: - основанное на событии повышение; и - старение использования процессора. Основанное на событии повышение используется для преднамерен- ного выделения интерактивного ответа над задачами связанными с вычислениями, потому что приоритет задачи поднимается посредст- вом нахождения событий типа нажатия клавиш. Эта методология под- разумевает, что задачи являются или отчетливо связанные с вычис- лениями, или отчетливо интерактивными (связанными с обменом), и для которой интерактивные задачи - более важны. Задачи чья инте- рактивная работа потребляет большое количества времени процессо- ра могут работать не очень хорошо при использовании этой методо- логии. Планировщик операционной системы VAX/VMS использует имен- но этот способ. Вторая методология повышения приоритета - старение использо- вания процессора. Планировщик, который использует эту методоло- гию, поднимает приоритеты, постепенно забывая прошлое использо- вание процессора обычно по экспоненте. В результате, для плани- ровщика, мера использования процессора есть экспоненциально взвешенное среднее по отношению ко времени существования задачи. Простое экспоненциальное среднее брать не желательно, потому что в этом случае возникает непредвиденный побочный эффект подъема приоритетов в случае, когда загрузка системы повышается. Это происходит, потому что в условиях более высокой загрузки каждая задача использует меньше ресурсов процессора, таким образом сре- днее использование его снижается, что вызывает повышение приори- тетов. Этот эффект "поднятых приоритетов" может ухудшить ответ системы в условиях тяжелой загрузки, потому что никакая задача не может накопить достаточное количество использования процессо- ра, для того,чтобы понизить свой приоритет. Версия 4:3 BSD UNIX решает эту проблему, делая скорость старения зависимой от сред- ней загрузки, поэтому старение происходит медленнее в присутст- вии более высокой загрузки, хранящей приоритеты приблизительно в том же самом диапазоне. 1.4. ПЗУ: -------------- Не секрет, что большая часть операционной системы AmigaOS за- шита в ПЗУ. Причем для гибкости системы предусмотрено много спе- циальных точек, позволяющих в случае необходимости заменять или корректировать как мелкие, так и крупные части операционной сис- темы. Минусы работы в ПЗУ очевидны: малая мобильность системы и меньшая, чем в ОЗУ, скорость исполнения кода. Для преодоления этого предусмотрена полная подмена существующего ROM соответст- вующим образом в FAST-памяти. Плюс нахождения системы в ПЗУ так- же ясны - линейность адресного пространства позволяет видеть ее как часть памяти и обращаться к ней из любого места, что сущест- венно экономит место в ОЗУ. В Амиге 1200 применяются: - 512K Kickstart V3:0 или V3:1 - масочные ПЗУ, организованные как 128K x 32 bit; - также поддерживаются ПЗУ размером 1 MB (256K x 32) и 2 MB (512K x 32); - поддерживается установка FLASH ROM; [осыпалось] .4. * - Стандаpтные видеоpежимы AGA: ---------------------------- Resolution Interlace Название Monitor ------------ ----------- ---------- -------------------- 1024x1024 A2024 нужен спец. монитоp 640x200 NTSC HIRES 640x400 * NTSC HIRES Laced 320x200 NTSC LORES 320x400 * NTSC LORES Laced 400x150 Multisync монитоp. 800x150 Multisync монитоp. 400x300 Multisync монитоp. 400x600 * Multisync монитоp. 800x300 Multisync монитоp. 800x600 * Multisync монитоp. 640x256 PAl HIRES 640x512 * PAL HIRES Laced 320x256 PAl LORES 320x512 * PAl LORES Laced 640x240 Multiscan LORES Multisync или SVGA 640x480 Multiscan Multisync или SVGA 1280x200 NTSC SHRES 1280x256 PAL SHRES 1280x400 * NTSC SHRES Laced 1280x512 * PAL SHRES Laced AA Gayle ---------- Чип AA GAYLE с маленькими изменениями сохранился в наследство от Амиги 600 и работает совместно с Alice. Функции AA GAYLE очень разнообразны, например, он отвечает за формирование адре- сов доступа к IDE интерфейсу, формирование сигналов PCMCIA, ис- пользуется при работе ПЗУ, центрального процессора и дpугих ком- понент. BUDGIE -------- Чип BUDGIE служит главным элементом путей данных в Амиге 1200: Именно он обеспечивает интерфейс между 32-разрядной шиной данных центрального процессора и 32-разрядной шиной Chip-памяти, генерит сигналы выборки RAS и CAS из временных сигналов RAS и CAS, поддерживаемых Alice. Он также обеспечивает работу буфера, который может быть использован для внешней шины или как буфер данных интерфейса PCMCIA. BUDGIE также выполняет много других разнообразных функций, например, тактирует центральный процессор на материнской плате Амиги 1200. Внутреннее построение путей данных в BUDGIE очень похоже на аналогичное в чипе BRIDGETTE (этот чип обеспечивает буфер шины и мост между трактами данных в Амиге 4000). Данные могут быть нап- равлены в/из 32-разрядного порта процессора по любой из половин 32-разрядной шины Chip-памяти. Данные могут быть перемещены из младшей половины шины Chip-памяти в ее старшую половину для под- держки 16-разрядных режимов работы Амиговских чипов, а также ин- терфейсов IDE и PCMCIA. [осыпалось] 1.8.1. PCMCIA - слот. -------------------- 68-контактный PCMCIA-слот Амиги 1200 соответствует стандарту 2:0 на этот интерфейс. К нему возможно подключить: 1) стандартные PCMCIA-устройства; к ним относятся: модемы, сканеры, карточки памяти, сетевые карты и т.д.; 2) созданные специально для Амиги: контроллеры SCSI, SCSI-2, IDE/ATA винчестеров и ATAPI CD-ROM'ов, сетевые карты, ISDN-карты, 16-битные аудио и 24-битные видео карты и др. 1.8.2. Слот расширения (Trapdoor - slot): ---------------------------------------- 150-контактный Trapdoor-слот специально предназначен для рас- ширения архитектуры Амиги. Он рассчитан на подключение карт с FAST-памятью, математических сопроцессоров, часов реального вре- мени, акселераторов (ускорителей) на процессорах 68020, 68030, 68040, 68060, к лету 1997 года ожидается появление карт на осно- ве процессоров PowerPC, SCSI-2 контроллеров, DSP-процессоров, сетевых карт и др. устройств. Интересно отметить, что в случае установки акселератора, процессор на материнской плате Амиги ап- паратно отключается и сама она начинает выполнять функции видео- контроллера и устройства ввода/вывода по отношению к акселерато- ру. На акселераторе обычно устанавливаются часы реального време- ни, процессор, сопроцессор, память на основе 72-пиновых симов, свое ПЗУ и специальный слот для дальнейшего наращивания архитек- туры, например, для подключения SCSI-2 контроллера и карты Full Motion Video.
Другие статьи номера:
Похожие статьи:
В этот день... 10 декабря