head	1.7;
access;
symbols;
locks
	root:1.7; strict;
comment	@# @;


1.7
date	2009.12.25.05.24.39;	author root;	state Exp;
branches;
next	1.6;

1.6
date	2009.11.30.01.53.28;	author root;	state Exp;
branches;
next	1.5;

1.5
date	2009.11.30.01.39.15;	author root;	state Exp;
branches;
next	1.4;

1.4
date	2009.11.30.01.38.45;	author root;	state Exp;
branches;
next	1.3;

1.3
date	2009.11.30.01.30.03;	author root;	state Exp;
branches;
next	1.2;

1.2
date	2009.11.30.01.27.55;	author root;	state Exp;
branches;
next	1.1;

1.1
date	2009.11.30.01.17.34;	author root;	state Exp;
branches;
next	;


desc
@/opt/nforge/var/wiki/mimic/data/text/MCR
@


1.7
log
@58.227.230.63;;hoppang 호빵 ;;
@
text
@[[FrontPage]]

----

[[MRC]] 참고

attachment:그림_8.png

Move to Coprocessor from ARM Register.

이름 그대로 ARM 범용 레지스터를 코프로세서 레지스터에 복사한다는 뜻이지만 단순히 복사만 하고 끝나는 게 아니다. 어떤 레지스터에 어떤 값을 채우고 추가 인자로 어떤 opcode를 전달하느냐에 따라서 결과가 달라진다 - 사실상 코프로세서 실행 명령이라고 보는 게 좋다.

이 프로젝트의 기준인 [[SA-1100]]에는 코프로세서 15(CP15)밖에 없기 때문에 다른 코프로세서 번호를 지정하면 무슨 일이 벌어질진 나도 모른다.

== 문법 등 ==

mcr<cond> <coprocessor>, <opcode1>, <rd>, <crn>, <crm> {, <opcode2> }

 * cond 조건 비트
 * coprocessor 코프로세서 번호(거의 15)
 * opcode1 밑에 참고
 * rd 코프로세서에 전송할 본체(?) cpu 레지스터의 번호
 * crn 코프로세서 목적 레지스터
 * crm 추가 코프로세서 레지스터
 * opcode2 밑에 참고

== SA-1100 코프로세서 명령 ==

{i} SA-1100 Developer's Manual p.46 5.2 Coprocessor 15 Definition

||<rowbgcolor="#FFFFE0"> '''CP 레지스터 번호''' || '''쓰기''' || '''읽기''' ||
|| 0 || ID ||<bgcolor="#E0FFE0"> 예약됨 ||
|| 1 || Control || Control ||
|| 2 || Translation table base || Translation table base ||
|| 3 || Domain access control || Domain access control ||
|| 4 ||<bgcolor="#E0FFE0"> 예약됨 ||<bgcolor="#E0FFE0"> 예약됨 ||
|| 5 || Fault status || Fault status ||
|| 6 || Fault address || Fault address ||
|| 7 ||<bgcolor="#E0FFE0"> 예약됨 || [[Cache operations]] ||
|| 8 ||<bgcolor="#E0FFE0"> 예약됨 || TLB operations ||
|| 9 ||<bgcolor="#E0FFE0"> 예약됨 || 읽기 버퍼 동작 ||
|| 10 ||<bgcolor="#E0FFE0"> 예약됨 ||<bgcolor="#E0FFE0"> 예약됨 ||
|| 11 ||<bgcolor="#E0FFE0"> 예약됨 ||<bgcolor="#E0FFE0"> 예약됨 ||
|| 12 ||<bgcolor="#E0FFE0"> 예약됨 ||<bgcolor="#E0FFE0"> 예약됨 ||
|| 13 || 프로세스 ID(PID) 읽기 || 프로세스 ID(PID) 쓰기 ||
|| 14 || 브레이크포인트 읽기 || 브레이크포인트 쓰기 ||
|| 15 ||<bgcolor="#E0FFE0"> 예약됨 || Test, clock, and idle ||


== Register 7: Cache operations ==

{i} 다시 말하지만 SA-1100 기준

||<rowbgcolor="#FFFFE0"> '''Function''' || '''OPC_2''' || '''CRm''' || '''Data''' ||
|| Flush I+D || 0b000 || 0b0111 || Ignored ||
|| Flush I || 0b000 || 0b0101 || Ignored ||
|| Flush D || 0b000 || 0b0110 || Ignored ||
|| Flush D single entry || 0b001 || 0b0110 || Virtual address ||
|| Clean Dcache entry || 0b001 || 0b1010 || Virtual address ||
|| Drain write buffer || 0b100 || 0b1010 || Ignored ||

@


1.6
log
@211.199.146.223;;hoppang 호빵 ;;
@
text
@d17 9
a25 1
귀찮아서 생략
@


1.5
log
@211.199.146.223;;hoppang 호빵 ;;
@
text
@d5 2
@


1.4
log
@211.199.146.223;;hoppang 호빵 ;;
@
text
@d42 2
@


1.3
log
@211.199.146.223;;hoppang 호빵 ;;
@
text
@d22 1
a22 1
|| 0 || ID || 예약됨 ||
d26 1
a26 1
|| 4 || 예약됨 || 예약됨 ||
d29 6
a34 6
|| 7 || 예약됨 || [[#Cache operations]] ||
|| 8 || 예약됨 || TLB operations ||
|| 9 || 예약됨 || 읽기 버퍼 동작 ||
|| 10 || 예약됨 || 예약됨 ||
|| 11 || 예약됨 || 예약됨 ||
|| 12 || 예약됨 || 예약됨 ||
d37 1
a37 1
|| 15 || 예약됨 || Test, clock, and idle ||
d40 10
a49 1
== Cache operations ==
@


1.2
log
@211.199.146.223;;hoppang 호빵 ;;
@
text
@d29 1
a29 1
|| 7 || 예약됨 || Cache operations ||
d39 2
@


1.1
log
@211.199.146.223;;hoppang 호빵 ;;
@
text
@d12 27
@
