jal 명령어를 추가하려고하는데 어떻게 작동하는지 이해하지만 하드웨어에서 구현하는 데 어려움이 있습니까? 나는이 회로도를 가지고 있으며 31 개가 레지스터 앞에있는 멀티플렉서에 연결되지만 연결 대상은 확실하지 않다는 것을 보여줍니다. 나는 R [31]이 pc + 8 또는 점프 주소와 같지만 그것들은 32 비트이지만 mux에 대한 엔트리는 단지 5 비트라는
현재 PC가 0x00400010 (증가 이후)이고 대상 레이블의 값이 0x00400040이라고 가정합니다. 명령에서 상수의 2 진 값은 무엇입니까? beq $s0, $s0, target
나는이 질문에 접근하는 방법을 잘 모르겠습니다. 나는 이것에 대한 해결책을 찾는 방법에 대한 힌트 또는 설명을 고맙게 생각한다.
C에 pthread를 사용하면 특정 스레드에 대한 프로그램 카운터/명령 포인터에 액세스 할 수 있습니까? 예 : void *thread_main(void *arg) {
long thread = (long)arg;
lock (thread);
***print (thread.pc);***
critical_section (th
현재 프로젝트 중간에 있으며 단일 사이클 CPU를 설계하려고합니다. 파이프 라이닝없이이 작업을 수행하는 것은 디자인의 복잡성을 크게 증가시킬 것이기 때문입니다. 나는 이것을 배우면서 단순히 아기를 밟고 있습니다. 나는 내가 이전에 만든 구성 요소를 사용하여 프로그램 카운터 (PC)를 코딩하려고 시도하고있는이 부분에 갇혀있다. 내 디자인의 모델은 pictur
실행중인 프로세스의 스케줄 된 명령어를 검사하는 커널 모듈을 작성하고 싶습니다. 이미 프로세스를 반복하는 방법을 설명하는 Linux Kernel Process Management을 보았습니다. struct task_struct *task;
for_each_process(task) {
/* this pointlessly prints the name
현재 이전에 만들어진 구성 요소를 사용하여 프로그램 카운터 (PC)를 설계하려고합니다. 내 디자인의 모델은 picture here처럼 보입니다. 실행중인 문제는 내 MUX 구성 요소가 PC 레지스터 구성 요소에 연결되어 있습니다. 주어진 신호를 사용해야하지만 정확하게 연결하는 방법을 모르겠습니다. pc_update.vhd에서 (52) ... "[31] PC
인라인 어셈블리를 사용하여 긴 점프를 수행하는 프로그램에서 작업하고 있습니다. 필자가 이해해야 할 것은 FP와 PC를 저장된 FP와 PC로 대체하는 것입니다. 어셈블리를 사용하면 프레임 포인터 (% ebp)를 바꿀 수 있지만 PC에서는 할 수 없습니다. int jump(int x)
{
int oldFP = getebp(); //the FP of