Member
Статус: Не в сети Регистрация: 01.06.2003 Откуда: Pskov
По ходу чтения обсуждения на www.xtremesystems.org у меня сложилость впечатление, что там лишь 1..2 человека более-менее понимают, что из себя представляет JTAG, зачем он нужен и основные принципы его работы.
Чтобы у нас здесь не повторилась похожая ситуация, предлагаю вашему вниманию небольшой набор полезных ссылок по теме JTAG (раз уж он является частью HDT. )
Разработчик программы - Texes Instruments. Является великолепным стредством для знакомства с JTAG. Программа наглядно демонстрирует идею и принципы использования возможностей JTAG
Поскольку есть подозрения, что документ долго не пролежит, то процитирую последнюю главу, относящуюся к тестированию и отладке:
Цитата:
V. TEST AND DEBUG FEATURES
The design includes scan chains and various clock modes to provide debug support and allow the use of automatic test pattern generation (ATPG) tools. Areas of the design that do not use full scan include macrocells, I/O cells, PLL state elements, and JTAG related logic.
For debug, the chip also supports on-the-fly frequency variation, single-cycle step operation, and a stopped-clock mode. For PLL characterization, a scan chain, two high-speed pads, and one analog pad are used for extensive measurements of critical clock phase relationships and subblock operations. In addition, one scan chain is dedicated for programming self-timed pulses in the macrocells.
The macrocells are generally SRAM arrays, register files, or ROM's. A built-in self-test (BIST) 13N march C algorithm tests the SRAM arrays. A write-recovery test is implemented by the BIST hardware once the 13N algorithm completes. At low frequency, the SRAM bit cells are tested for data retention. To apply the ATPG scan patterns, the PLL is bypassed so that the internal processor clock can be directly controlled from the pins at the edge of the device. During scanning, the clock is held high, and scan data are shifted using two-phase nonoverlapping pulses on the scan clocks. The macrocells that are not fully scannable can also be tested with scanbased patterns. During scan operation, patterns are written at the I/O boundary of the nonscan macrocells. An intermediate signal then exercises the macrocell, allowing its contents to be observed and controlled. In this way, ATPG patterns can provide stuck-at fault coverage of the surrounding logic upstream and downstream to/from the macrocell.
Test modes were added to support debug, manufacturing test, and characterization of the PLL itself. The PLL can by bypassed from two possible clocking sources.
The first bypass clock source is the normal differential clock inputs. The second bypass clock source is another differential clock pair that was added to support a high-speed external clock generated by the test equipment manufacturer.
The bypass mode is used primarily for applying the ATPG-produced scan patterns. The bypass clock is also used as the clock source during burn-in since the lower end operating limits of the PLL are greater than the desired speed of burn-in.
In addition to the bypass test mode, there are test modes to control the generation of the PLL clock. These include system clock modes and tester clock modes. The system clock modes provide the ability to perform system capture by stopping the internal clock at a specific internal clock cycle and capturing the state of the machine in the scan latches at a predetermined internal clock cycle. A JTAG programmable register is loaded to select the system PLL test mode as well as to select the internal cycle at which to stop or capture state. An external pin is asserted to trigger the test mode. The state of the machine can also be captured by simply stopping the clock and shifting out the state. The system capture mode was added over a concern of excessive changes in power-supply current occurring when stopping the PLL instantaneously. The system capture mode gracefully slows down the clock before stopping it. The complete state of the machine is not guaranteed using this mode, however, since writes may occur to the nonscan arrays after the state capture. The tester clock modes provide more flexibility than the system clock modes. In addition to stopping the clock at any internal clock cycle, there is a mode to provide clock stretching and a mode for generating a selected number of high-speed clock pulses from the PLL.
На основании этого отрывка можно сделать вывод, что частотой проца можно управлять: замедлять, останавливать (в тестовом режиме). Вот только про разлочку множителя в сторону повышения ничего не сказано.
Добавлено спустя 12 минут, 39 секунд
TiN_MGP писал(а):
Цитата:
доступна лишь за бабки
Не за бабки, а после заключения NDA.
Да нет, именно за бабки: либо купить документ за 19 баксов, либо стать мембером IEEE, естественно, не бесплатно.
Hardware Nightmare
Статус: Не в сети Регистрация: 14.09.2003 Откуда: Taipei, Taiwan
Цитата:
более-менее понимают, что из себя представляет JTAG, зачем он нужен и основные принципы его работы.
Увы так и есть. Большинство вопит "WOW, COOL!" и "Any results?".
Цитата:
у TiN_MGP один из этих вариантов.
У меня два разных Wigglera, XILINX DLC5, Keith. вообщем куча всяких
Цитата:
Вот только про разлочку множителя в сторону повышения ничего не сказано
А что там должно быть сказано? Множитель - суть данные в определенном регистре. Который нельзя писать когда проц работает в нормальном режиме Вот и все.
Цитата:
BSDL есть, но только максимум на K6:
У меня имеется на Opteron 940 ClawHammer и Opteron 940 San Diego
Member
Статус: Не в сети Регистрация: 01.06.2003 Откуда: Pskov
TiN_MGP
TiN_MGP писал(а):
Множитель - суть данные в определенном регистре. Который нельзя писать когда проц работает в нормальном режиме Вот и все.
Я вот все не пойму, откуда такая уверенность, что этот самый регистр доступен через JTAG ? Кстати, об этом уже спрашивал на предыдущем листе (там еще куча вопросов).
Если уж и имеет смысл возиться с JTAG с целью разлочки множителя, то только исходя из предположения, что множитель программируется по JTAG во встроенную в процессор флэш-память. И то не факт, что используются те же самые JTAG-ноги проца. Да и последовательность программирования может сильно отличаться от такого процесса для обычной амд-шной флэш памяти.
TiN_MGP писал(а):
Цитата:
BSDL есть, но только максимум на K6:
У меня имеется на Opteron 940 ClawHammer и Opteron 940 San Diego
Такими вещами можно было бы с народом поделиться. Ведь никто не хочет уподобляться джyнглям.
PS: Кстати, насчет ненормальных режимов. После ознакомления с информацией об SMM заинтересовала меня следующая идея: вроде бы MSR'ы (в том числе отвечающие за множитель) доступны также в SMM. Никто не пробовал изучить/изменить их содержимое в этом режиме ?
Hardware Nightmare
Статус: Не в сети Регистрация: 14.09.2003 Откуда: Taipei, Taiwan
xKVtor уверенность базируется на данных, что AMD при изготовлении CPU сама же его тестирует и прошивает через JTAG.
Цитата:
программируется по JTAG во встроенную в процессор флэш-память.
Угу, честно говоря, я бы и не зашевелился, если бы не узнал, что эта самая флеш-память слетает и перепрограммируется по ошибке Пример - мой мутантский проц ну и разлоченные венисы всякие.
Цитата:
Такими вещами можно было бы с народом поделиться.
Народ не соизволил заинтересоваться. ICQ : 86080981
Цитата:
SMM
К сожалению, вынужден признаться, я не знаю, что это. SMM ?
судя по всему как и в любом уважающем себя процессоре типа АРМ и иже с ним есть 2 интерфейса
Jtag используется в-основном для отладки , а второй для непосредственно программирования.
Программировать можно и по Jtag, но в промышленном поизводстве похоже применяется второй.
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
TiN_MGP SMM - system management mode. Честно, должны о нем знать. Не Джунгль же Один из режимов работы проца (наряду с Real mode, PM, v86 и Unreal Mode).
APM - наверное, ARM )))) либо Advanced Power Management (последнее, ИМХО, не в тему)
Цитата:
уверенность базируется на данных, что AMD при изготовлении CPU сама же его тестирует и прошивает через JTAG.
не факт. См. интересную вещь - у процов S370 есть RSVD ноги, причем есть одна явственно видная группа из 6 ног. Две точно VCC и VSS. Остальные - видимо, интерфейс к внутреннему ПЗУ. Но не факт.
Цитата:
Пример - мой мутантский проц ну и разлоченные венисы всякие.
где скриншоты, доказательства, методика? (на выбор) я сейчас тоже буду орать, что у меня у туалатинов по ядру отросло и?
Действительно же бывали приколы, когда камни дохли, а потом в новой жизни становились MP, слетал у них вольтаж и пр. странные вещи. Но чтобы процесс был подконтрольным - так до этого не доходило.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
SMM:
В новых поколениях МП Intel появился еще один режим работы - режим системного управления. Впервые он был реализован в МП 80386SL и i486SL. Начиная с расширенных моделей Intel-486, этот режим стал обязательным элементом архитектуры IA-32. С его помощью прозрачно даже для операционной системы на уровне BIOS реализуются функции энергосбережения.
Режим системного управления предназначен для выполнения некоторых действий с возможностью их полной изоляции от прикладного программного обеспечения и даже от операционной системы. МП переходит в этот режим только аппаратно: по низкому уровню на контакте SMI# или по команде с шины APIC (Pentium+). Никакой программный способ не предусмотрен для перехода в этот режим [ага, ща! Для этого надо прочитать специальный порт]. МП возвращается из режима системного управления в тот режим, при работе в котором был получен сигнал SMI#. Возврат происходит по команде RSM. Эта команда работает только в режиме системного управления и в других режимах не распознается, генерируя исключение #6 (недействительный код операции).
Когда МП находится в режиме SMM, он выставляет сигнал SMIACT#. Этот сигнал может служить для включения выделенной области физической памяти (System Management RAM)[обычно это обдасть RAM 'под' адресами 0A000h-0BFFFh. Т.е. под видеобуфером в DOS режиме. Потому к ней _физически_ нельзя обратиться.], так что память SMRAM можно сделать доступной только для этого режима. При входе в режим SMM МП сохраняет свой контекст в SMRAM (контекст сопроцессора не сохраняется) и передает управление процедуре, называемой обработчиком System Management Interrupt. Состояние МП в этот момент точно определено: регистр EFLAGS обнулен (кроме зарезервированных битов), сегментные регистры содержат селектор 0000, базы сегментов установлены в 00000000, пределы 0FFFFFFFFh.
Следует отметить, что в режиме SMM не предусмотрена работа с прерываниями и особыми случаями: прерывания по IRQ и SMI# замаскированы, пошаговые ловушки и точки останова отключены, обработка прерывания по NMI откладывается до выхода из режима SMM. Если необходимо обеспечить работу с прерываниями или особыми случаями, то надо инициализировать IDT и разрешить прерывания, выставив флаг IF в регистре EFLAGS. Прерывания по NMI будут разблокированы автоматически после первой же команды IRET.
[добавлю - кажется сваливается страничная организация. Это банальный flat DOS mode]
При возврате из SMM (по инструкции RSM) МП восстанавливает свой контекст из SMRAM. Обработчик может программно внести изменения в образ контекста МП, тогда МП перейдет не в то состояние, в котором произошло SMI.
Эти особенности режима системного управления позволяют использовать его для реализации системы управления энергосбережением компьютера или функций безопасности и контроля доступа.
[мои замечания]
Последний раз редактировалось serj 19.06.2006 13:52, всего редактировалось 1 раз.
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
serj
Цитата:
Послушай xKVtor, он умные вещи говорит.
так xKVtor просто ГЕНЕРАТОР умный идей ))) Только знаний бы ему залить еще в мозг побольше по разным компьютерным темам - вообще цены не будет Добавлено спустя 5 минут, 44 секунды serj
Цитата:
[ага, ща! Для этого надо прочитать специальный порт]
это настолько же "программный" способ, как если я настрою мост на иотраппинг в SMI )))
Цитата:
Следует отметить, что в режиме SMM не предусмотрена работа с прерываниями и особыми случаями: прерывания по IRQ и SMI# замаскированы, пошаговые ловушки и точки останова отключены, обработка прерывания по NMI откладывается до выхода из режима SMM. Если необходимо обеспечить работу с прерываниями или особыми случаями, то надо инициализировать IDT и разрешить прерывания, выставив флаг IF в регистре EFLAGS. Прерывания по NMI будут разблокированы автоматически после первой же команды IRET.
верно, но не совсем. R.Collins по этой теме вел раскопки и нашел ошибки в доке Интела !!!! :-o
Цитата:
[добавлю - кажется сваливается страничная организация. Это банальный flat DOS mode]
угу. Как Real Mode с правильными лимитами и базой...
Цитата:
Эти особенности режима системного управления позволяют использовать его для реализации системы управления энергосбережением компьютера или функций безопасности и контроля доступа.
добавлю - в современных компах реализации ACPI + SCI (System Control Interrupt) позволяет SMM сложить часть своих функций на новомодную технологию. Различие основное одно - SMM прозрачен для ОСи, а SCI (через ACPI) ею ловится и обрабатывается спец. драйвером.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Hardware Nightmare
Статус: Не в сети Регистрация: 14.09.2003 Откуда: Taipei, Taiwan
Root
Цитата:
где скриншоты, доказательства, методика?
мы взрослые люди, не будем тратить время на бессмысленные скриншоты Человек купил Athlon 64 3200+ на ядре Manchester с отключенным вторым ядром (см ветку в процессорах про эти обрезки), ADA3200DKA4CG, CDBHE 0543MPMW. Воткнул этот проц в DFI Ultra-D. работал с ним. Потом ему принесли настоящий X2 3800+, погонял его, воткнул проц назад - процессор определился как Х2 3800+. Поработал, выключил комп. Больше комп не включился, мать ушла по гарантии. А процессор купил я, он так до сих пор и есть один в один X2 3800+. Вот и вся история. Спроси у ShirlitZ, cyclone, [Viru$] если мои слова для тебя пустой звук Никто не говорил, что я разлочил проц. Шальная случайность. Cool down.
Интерестное инфо вы тут скинули, но не представляю как это все может нам помочь.
Цитата:
у процов S370 есть RSVD ноги, причем есть одна явственно видная группа из 6 ног. Две точно VCC и VSS.
У K8 этого нет. Как то они же его программят. Имхо только JTAG. Да и фотки с фабрики АМД говорят на это, потому что там у них в Speed Grading Machine - 6 контактов. Да кста. Есть такая тулза - AMD HDT Tool (та самая которой процы сканят на фабрике). Она есть у Джунгла но он не делится.
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
TiN_MGP
Цитата:
Шальная случайность. Cool down.
тады сорри - не слежу за новостями я уж думал, что методика отработана. Просто надо было говорить конкретно, дабы не было двух трактовок. Я уже без детерминированности не могу ))) ну, baza меня уверяет, что тот камень, который я укокошил (атлон. частоту не помню. вроде 900 или 1000), после прогрева ожил и стал МП.... что-то у него замкнуло внутри. только вот повторяемость экшперимента на нуле.
Hardware Nightmare
Статус: Не в сети Регистрация: 14.09.2003 Откуда: Taipei, Taiwan
Root отож, а то налетели сразу, ишь. Адванседы одним словом .
Цитата:
(атлон. частоту не помню. вроде 900 или 1000), после прогрева ожил и стал МП.... что-то у него замкнуло внутри.
Socket 462 ? Ну это не сложно, и замкнуло не внутри а снаружи, мостик L5.1 кажется, или второй, точно уже не помню, за давностью лет Вообщем, 5 минуты работы контактолом\паяльником и готово
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения