Описание тега program-counter
Счетчик программ (ПК), обычно называемый указателем команд (IP) в микропроцессорах Intel x86 и Itanium, а иногда также называемый регистром адреса команд (IAR), счетчиком команд или просто частью секвенсора команд, представляет собой регистр процессора, который указывает, где находится компьютер в своей программной последовательности.
1
ответ
Как выглядит схема на уровне шлюза счетчика программ в процессоре? Или счетчик шагов времени?
Компьютерная архитектура кажется очень сложной областью компьютерной инженерии, которая, я думаю, нуждается в дополнительном материале. Существуют отличные концептуальные объяснения того, как различные устройства работают друг с другом, особенно в о…
06 окт '16 в 00:33
1
ответ
Счетчик программ Pthread
Используя pthreads для C, есть ли способ получить доступ к счетчику программ / указателю команд для определенных потоков? Пример: void *thread_main(void *arg) { long thread = (long)arg; lock (thread); ***print (thread.pc);*** critical_section (threa…
26 янв '17 в 19:24
1
ответ
Выполнить кусок кода из раздела данных
Я хочу взять кусок кода, скопировать его в глобальный массив и выполнить его оттуда. Другими словами, я пытаюсь скопировать кучу инструкций из секции кода в секцию данных, а затем установить счетчик программ, чтобы продолжить выполнение программы из…
14 авг '14 в 15:26
3
ответа
Счетчик программ Verilog с разветвлением
Мне нужно создать модуль Verilog, который принимает часы, сброс, непосредственное значение из командного слова (младший байт) и нулевой вывод из АЛУ в качестве входов и генерирует 8-битный программный счетчик (ПК) для выход. Назначение говорит, что …
03 апр '16 в 17:49
2
ответа
Разрыв по адресу "0xXXXXXX" без отладочной информации или вне программного кода
Конфигурация: Используя Nucleo-L476RG. Использование GNU ARM Eclipse. Я сгенерировал минималистский код из STM32CubeMX. Я установил драйвер J-Link на мой ST-Link. Я пытался запустить отладчик для моего кода, но мой программный счетчик не установлен …
08 мар '18 в 16:38
1
ответ
Переполнение счетчика программы?
Возможно ли переполнение счетчика программ (ПК) в процессоре, и если да, то что происходит? То есть, если он может содержать 1 байт, что произойдет, если его значение превысит 255?
01 окт '14 в 10:51
4
ответа
Почему вы не можете установить указатель инструкции напрямую?
В статье в Википедии о сборке x86 говорится, что "регистр IP не может быть доступен программисту напрямую". Прямо означает с инструкциями, как MOV и добавить. Почему бы и нет? В чем причина этого? Каковы технические ограничения?
30 ноя '11 в 21:50
1
ответ
VHDL Программный счетчик, использующий сигналы и ранее сделанные компоненты?
Я в настоящее время нахожусь в середине проекта, где я пытаюсь разработать процессор с одним циклом. Я делаю это без какой-либо облицовки, так как это значительно усложнит дизайн. Я просто делаю шаги ребенка, когда узнаю это. Я застрял в этой части,…
27 ноя '14 в 06:32
0
ответов
Найти программный счетчик процесса в ядре
Я пытаюсь отследить ценность ПК определенного процесса в ядре.Для этого я посмотрел на исходный код ядра и выяснил, что компьютер хранится внутри task_struct->stack и что, чтобы иметь смысл стека, мне нужно набрать приведение его в struct thread_…
25 сен '14 в 05:05
1
ответ
Бесконечный цикл при моделировании дизайна счетчика программ с помощью Icarus Verilog
Я реализую простой сумматор счетчика программ со следующим прототипом: module program_counter(input enable_count, input enable_overwrite, input[31:0] overwrite_value, output[31:0] out); При моделировании с Icarus Verilog я получаю бесконечный цикл п…
06 апр '14 в 22:10
0
ответов
Мне нужно знать, как сделать правильный 4-битный двоичный счетчик
Я попытался сделать 4-битный двоичный счетчик из следующей картинки: В результате создания этой схемы в игре без триггеров или чего-либо другого с блоками меня смутило следующее: где выход? имеет значение тактовая частота? почему не работает? это да…
15 янв '18 в 18:58
2
ответа
Тихая ошибка: отладчик совершает самоубийство, чтобы освободить зомби
Кажется, мое приложение молча выключается каждые 3-4 раза, когда я его запускаю. Не исключение, нет принудительного закрытия сообщения, оно просто открывается на долю секунды, а затем выключается. После этого я могу без проблем запустить его в средн…
17 мар '14 в 20:34
2
ответа
Можно ли изменить или получить доступ к счетчику программ?
Читая о счетчике программ, я узнал, что счетчик программ отличается тем, что нет возможности напрямую изменить его значение. Есть ли какой-либо косвенный способ доступа / изменения содержимого счетчика программ?
26 дек '11 в 11:14
1
ответ
Изменить счетчик программ (ПК) на сохраненный адрес
Я работаю над программой, которая использует встроенную сборку для выполнения прыжка в длину. Насколько я понимаю, все, что мне нужно сделать, это заменить FP и ПК на сохраненные FP и ПК. Используя сборку, я могу изменить указатель кадра (%ebp), но …
07 фев '14 в 18:32
1
ответ
Как получить указатель инструкции в x86_64 без байтов 0x00 или 0xFF?
Есть ли способ получить доступ к значению в указателе инструкций (RIP) без использования call с последующим pop на ассемблере? Или есть опкод машинного кода, который может это сделать? Я гуглил без четких результатов. Моя проблема в том, что у меня …
28 авг '18 в 03:02
1
ответ
Почему в ARMv6 значение ПК равно текущей инструкции плюс 8?
Что если этапов конвейера не 3, например, в ARM1156T2-S (также это ARMv6), он имеет 9 этапов: Fe1 Fe2 De Iss Fe3 Sh ALU Sat WBex ПК по-прежнему адрес текущей инструкции плюс 8?
09 июн '11 в 13:03
3
ответа
Переместить счетчик программ в Delphi Debugging
В Visual Studio при отладке с точками останова вы можете изменить, какая строка кода будет следующей для выполнения, перетаскивая курсор выполнения на другую строку; это позволяет вам пропустить оператор IF и т.п. Мне было интересно, есть ли в Delph…
02 дек '10 в 10:06
1
ответ
Доступ к запланированным инструкциям процесса в модуле ядра
Я хочу написать модуль ядра, который проверяет запланированные инструкции запущенного процесса. Я уже взглянул на Linux Kernel Process Management, который объясняет, как перебирать процессы. struct task_struct *task; for_each_process(task) { /* this…
12 май '17 в 15:31
1
ответ
Изменение счетчика программы не является привилегированной инструкцией. Зачем?
Почему изменение счетчика программы не является привилегированной инструкцией?Программный счетчик хранится в печатной плате, а это в пространстве ядра. но изменение счетчика программы не является инструкцией привилегий? это почему?
07 мар '15 в 16:28
6
ответов
Чтение счетчика программы напрямую
Можно ли считать счетчик программ на процессорах Intel напрямую (то есть без "хитростей") в режиме ядра или в каком-либо другом режиме?
01 мар '09 в 15:38