문제

누구든지 32 비트 MIPS 지침/opcodes 목록을 찾을 수있는 웹 사이트를 알고 있습니까?

  • 실제 opcodes와 어셈블리-언어 매크로를 명확하게 구별합니다
  • 권한 수준에 따라 차이를 포함한 지시 행동을 설명합니다.
  • 명령어 세트 개정이 지침이 도입/수정되었는지를 나타냅니다 (예 : MIPS I, MIPS II, MIPS32 등).
  • SyScall과 같은 권한있는 지침이 포함되어 있습니다.

나는 대부분의 교육 목적을 위해 지침 세트의 일부 "를 문서화하는 수많은 웹 사이트를 알고 있습니다. 그들은 떠나거나 부동 소수점과 특권 지시를 부분적으로 설명하는 경향이 있습니다.

궁금한 점이 있다면 MIPS 프로세서 서브 세트 용 Verilog 코드를보고 있으며 실제 MIPS 프로세서의 명령 세트를 얼마나 많이 준수하는지 정확히 알아 내려고 노력하고 있습니다! 포인터에 감사드립니다.

도움이 되었습니까?

해결책

나는 질문에 부분적으로 대답 할 수 있습니다 : 나는 추천합니다 MIPS 실행을 참조하십시오 Dominic Sweetman, 당신이 그것을 언급하지 않는다면. 나는 책의 첫 번째 에디션을 가지고 있으며, 두 번째 판은 이제 최신입니다.

  • 표 8.2에는 각 opcode 및 예상 동작, 어셈블러 매크로를 차별화하고 분해 지침을 나열합니다. 불행히도 사용자 대 커널 모드를 구별하지 않습니다.
  • 표 8.6은 LSI Minirisc와 같은 모호한 변형을 포함하여 각 명령이 도입 된 ISA 수준을 나열합니다.
  • SyScall은 테이블에 존재하지만 많은 설명이 부족합니다.

첫 번째 판은 커널을 언급합니다. 감독자 및 사용자 권한 수준이지만 각각의 작업이 허용되는 작업에 대해서는 논의하지 않습니다. 두 번째 판에서 어떤 변화가 있었는지 모르겠습니다.

다른 팁

좋아, 뭔가 찾았 어!

MIPS는 최신 표준화 된 명령 세트 (MIPS32V2)를 참조하는 "MIPS 32 참조 매뉴얼"세트를 제공합니다. 여기

여기에는 지침이 어떤 버전에서 발생했는지에 대한 정보를 제외하고는 거의 모든 것이 포함됩니다.

잠시 기다리세요...

이 수업 웹 사이트는 Cornell입니다 무엇에 대한 링크가 포함되어 있습니다 나타납니다 같은 매뉴얼이지만 실제로는 그것의 오래된 버전, 그리고 2 권 그 이전 버전에는 실제로 처음 소개 된 지침에 대한 정보가 포함됩니다. 우후!

MIP가 수정 된 문서 에서이 정보를 제거하는 이유는 무엇입니까? 개정 내역에 대한 설명이없는 것 같습니다.

지침 설명은 포함되지 않지만 GNU 어셈블러의 출처는 특정 CPU에 대해 사용할 수있는 지침에 대해 얻을 수있는만큼 자세히 설명 할 수 있습니다.

얻다 binutils 그리고 opcodes/mips-*. c를보십시오.

현재 명령 설정 참조 설명서는 온라인에서 무료입니다. 프로그래머를위한 MIPS® 아키텍처 볼륨 II-A : MIPS32® 명령 세트 매뉴얼. 해당 링크는 개정 6.06 2016 년 12 월 15 일입니다. (예 : IT 문서 MIPS32 릴리스 6).

그것은 모든 사용자 및 감독자/커널 모드 지침과 기계 코드 인코딩을 포함하여 모든 부동산 지점과 그들이하는 일을 보여주는 조작 섹션을 포함합니다. 여전히 MIPS32 릴리스 6에서 제거 된 모든 지침을 여전히 문서화합니다 (MIPS32 릴리스 6도 많은 OPCODE를 주위로 이동했으며 이는 잘 문서화되어 있습니다).


보다 https://www.mips.com/products/architectures/mips32/ 최신 버전의 경우. MIPS.com에는 "클래식 코어"섹션이 있지만 여전히 역사적 인 것이 아니라 MIPS32로 돌아가는 것으로 보입니다.


"가용성 및 호환성"섹션의 샘플 balc (Branch and Link Compact : Branch Delay 슬롯 없음, Grp31은 암시 적 대상이므로 offset<<2):

이 명령어는 릴리스 6에 의해 소개되고 필요합니다. 릴리스 6 지침 BALC 사전 릴리스 6 명령어와 동일한 인코딩을 차지합니다 SWC2. 그만큼 SWC2 지시는 다음으로 옮겨졌습니다 COP2MIPS 릴리스 6의 주요 OPCODE

또는 LDXC1 fd, index(base) (플로팅 포인트로 인덱싱 된 더블 워드로드)

이 명령어는 릴리스 6에서 제거되었습니다. MIPS64 릴리스 1 이후 MIPS64의 모든 버전에서 필요합니다. MIPS32 릴리스 1에서 사용할 수 없습니다. MIPS32 릴리스 2 및 모든 후속 버전의 MIPS32에는 필요합니다. 필요한 경우, 32 비트 또는 64 비트 FP 레지스터 모드에서 32 비트 또는 64 비트 FPU의 경우 FPU가있을 때마다 필요합니다 (FIRF64 = 0 또는 1, statusfr = 0 또는 1).


역사적 인 것들을 위해 나는 그것을 발견했다 MIPS IV 교육 세트 개정 3.2 1995 년 9 월 cmu.edu 웹 페이지에서. 지침이 소개되었을 때 나열됩니다. 예를 들어 MIPS I div, MIPS III dmult 및 기타 64 비트 지침, MIPS II ll / sc.

이것 웹 사이트 MIPS 명령 세트와 인코딩을 설명합니다. 나는 그것이 완전하다고 생각하지 않습니다.

그만큼 MIPS 웹 사이트에는 다양한 코어에 대한 기술 문서도 있습니다.
예를 들어, MIPS 4KE Core (Document #MD00103) "MIPS32® 4KE ™ 프로세서 Core Family Software User 's Manual"의 설명서를 다운로드했으며 10 장에는 명령어 세트에 대한 자세한 설명이 포함되어 있습니다. 문서에 액세스하려면 등록해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top