Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The Hardware/Software Interface
MIPS CPU의 이해 (입문)
Instruction & Overview
JEONG JIN WOOK
2015. 10. 22
Index
n MIPS 명령어
n beq, bne
n 순환문
n 대소비교..
n MIPS 관련용어
n Register, ALU
n Word, ALU
n Control Unit, Register Set
n PC, Mux ...
MIPS 명령어 – beq, bne
n Conditional Branch
n beq register, register2, L1
n register, register2가 같으면 L1로 이동
n beq = branch if...
MIPS 명령어 - 순환문
n while(save[i]==k) i+=1;의 MIPS 어셈블리 코드 작성
n 주소계산후, 임시 레지스터에 t1의 값을 넣은후, 조건검사후, != 으면 1을 더한후,
처음으로 다시 돌아간다....
MIPS 명령어 – 두 변수간 대소비교
n slt (set on less than)
n slt $t0, $s3, $s4
n $t0=1 if $s3 < $s4
MIPS 명령어 – 프로시저 지원
n 프로시저
n procedure에 제공되는 인수에 따라 특정 작업을 수행하는
서브루틴
n jar (jump and link instruction)
n jal ProcerdureAddr...
MIPS 명령어 - 산술명령어
n MIPS의 산술명령어는 add 연산을 말하며 다음 형식을 가짐
n add a, b, c #주석
n b + c를 a에 저장하는 명령어
n 피연산자를 3개로 제안함으로서 간단한 설계를 유지...
MIPS 관련용어
n 레지스터
n 레지스터는 순차회로이다. CPU 명령어는 레지스터 기반으로 동작.
n 32Bit로 이루어짐
n $0, $1 .. $31 으로 이름지어 있음
n 순차회로는, 플립플롭이라는 메모리 소자가 ...
MIPS 관련용어
n Word
n 각 기억 장소에 저장되는 데이터 단위로서, CPU에 의해 한 번에
처리될 수 있는 비트들의 그룹
n ALU
n 조합회로이다. 클럭이 필요없으며, 입력값이 바뀌면, 그 값이 바로
반영됨....
MIPS 관련용어
n Register Set
n 명령어 수행 동안 발생하는 임시 데이터 저장
n PC (Program Counter)
n 현재 명령어의 주소나 다음에 인출할 명령어를 가짐
n 명령어를 저장하고 주소가 주...
MIPS 관련용어
n MUX
n 레지스터 선택 및 선택된 레지스터 정보를 ALU로 출력하는 선택
논리회로
MIPS 관련용어
n 인스트럭션
n CPU가 해야할 작업을 지시하는 정형화된 언어
n C프로그램은 컴파일을 거쳐 Intruction 형태로 바뀜
n CPU는 일련의 매커니즘에 의해 메모리에서 순서대로 Instructio...
MIPS - 개요
n MIPS
n Microprocessor without Interlocked Pipeline Stages
n 밉스 테크놀로지에서 개발한 RISC ISA
n RISC : Reduced Instructi...
n 여러 기능 유닛과 그들 사이의 연결에 초점
n multiplexor 추가 필요 (근원지중 하나를 선택하여 목적지로 보내는
구성요소)
MIPS - CPU Overview
MIPS - 핵심 명령어
n Memory reference: lw, sw
n Arithmetic/logical: add, sub, and, or, slt
n Control transfer: beq, j
MIPS - 피연산자
n MIPS에서 Register
n 32 bit를 word단위로 처리
n 산술명령어는 32bit register중 하나여야함
n 레지스터 개수는 32개로 제한함으로서,전 전기 신호 거리를 짧게
함으...
MIPS - 피연산자
n LW (Load)
n 메모리를 레지스터에 적재
n SW (Store word)
n 레지스터에서 메모리로 데이터를 보내는 명령
n SW의 예
n lw $t0, 32($s3)
n lw $t0, 32...
MIPS - 레지스터 사용관례
MIPS 레지스터 사용관례
1번 : 어셈블러 전용으로 예약되어 있음
26,27 : 운영체제 전용으로 예약되어 있음.
MIPS - 구현
n MIPS에서의 명령어 실행
n 클럭이 뛴후 레지스터를 읽음, ALU는 바로 출력
n PC를 메모리로 보내고, Memory로부터 명령어 가져온 후,
명령어 필드를 보고, 두개의 레지스터를 읽음
n 레...
MIPS 구현
종류 명령어 예 의미 설명
산술
add add $s1, $s2, $s3 $s1 = $s2 + $s3
피연산자 3개;
오버플로우 탐지
subtract sub $s1, $s2, $s3 $s1 = $s2 - $...
MIPS - R형식
n R형식 특징
n 명령어의 길이를 같게 하되, 명령어 종류에 따라 형식을 다르게 함
n 명령어 필드
n op : 연산자(opcode)
n rs : 첫번째 근원지(source) 레지스터
n rs : ...
MIPS - R형식
add $t0, $s1, $s2
special $s1 $s2 $t0 0 add
0 17 18 8 0 32
000000 10001 10010 01000 00000 100000
00000010001100...
MIPS - I형식
n I 형식 추가
n R형식만으로 명령어를 표현하기 어려워서 I형식이 추가됨
n 수치연산과 데이터 전송명령어에 사용됨
n 16비트 주소를 사용하므로, rs
op rs rt constant or add...
MIPS – 데이터패스 요소
n 조합소자(조합회로)
n 입력에 대한 출력을 냄
n 예 : ALU
n 상태소자(순차회로)
n 2개의 입력과 1개의 출력을 가짐.
n 상태(state)를 갖는다.
n 예: 메모리, 데이터 메...
MIPS - R형식 명령의 데이터패스 동작
add $t1, $t2, $t3 명령어후 활성화된 제어선의 모습
MIPS - R형식 명령의 데이터패스 설명
n 명령어 실행은 한클럭 사이클에 일어나며, 4단계로 나눌 수 있음
n 예 : add $t1, $t2, $t3의 R형식 명령어의 데이터패스 동작
n 1. Instruction을...
References
n Computer Architecture A Quantitative Approach (5th edition)
Upcoming SlideShare
Loading in …5
×

MIPS CPU의 이해 (입문)

16,208 views

Published on

MIPS CPU에 대한 개괄적인 내용을 다루고 있습니다.
입문자 관점으로 작성되었습니다. 공유 드립니다.

Published in: Devices & Hardware
  • Have you ever used the help of ⇒ www.HelpWriting.net ⇐? They can help you with any type of writing - from personal statement to research paper. Due to this service you'll save your time and get an essay without plagiarism.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/39pMlLF ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ..................................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookeBOOK Crime, eeBOOK Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ..................................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookeBOOK Crime, eeBOOK Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ..................................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookeBOOK Crime, eeBOOK Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

MIPS CPU의 이해 (입문)

  1. 1. The Hardware/Software Interface MIPS CPU의 이해 (입문) Instruction & Overview JEONG JIN WOOK 2015. 10. 22
  2. 2. Index n MIPS 명령어 n beq, bne n 순환문 n 대소비교.. n MIPS 관련용어 n Register, ALU n Word, ALU n Control Unit, Register Set n PC, Mux .. n MIPS 개괄적 이해 n 핵심명령어 n CPU Overview, 피연산자, 레지스터 사용관례 n MIPS 구현, R형식, I형식 n MIPS의 데이터패스 예
  3. 3. MIPS 명령어 – beq, bne n Conditional Branch n beq register, register2, L1 n register, register2가 같으면 L1로 이동 n beq = branch if equal n bne register, register2, L1 n register, register2가 다르면 L1로 이동 n bne = branch not equal
  4. 4. MIPS 명령어 - 순환문 n while(save[i]==k) i+=1;의 MIPS 어셈블리 코드 작성 n 주소계산후, 임시 레지스터에 t1의 값을 넣은후, 조건검사후, != 으면 1을 더한후, 처음으로 다시 돌아간다. Loop : sll $t1, $t3, 2 # sll은 shift left logical의 약자로, 왼쪽자리이동을 말함 # $t3를 좌측으로 2비트 이동하면 4를 곱한것과 같음 이를 직관적으로 표현하면, $t1 = i * 4 와 같음 add $t1, $t1, $s6 # $s6의 베이스 주소값을 더함. lw $t0, 0($t1) # 임시 레지스터에 저장 bne $t0, $s5, Exit # save[i]!=k이면 순환문을 빠져 나감 ADDI $S3, 3, 1 # I에 1을 더함 I=I+1 J Loop Exit: # 순환문의 끝에서 맨 앞의 Loop로 되돌아감.
  5. 5. MIPS 명령어 – 두 변수간 대소비교 n slt (set on less than) n slt $t0, $s3, $s4 n $t0=1 if $s3 < $s4
  6. 6. MIPS 명령어 – 프로시저 지원 n 프로시저 n procedure에 제공되는 인수에 따라 특정 작업을 수행하는 서브루틴 n jar (jump and link instruction) n jal ProcerdureAddress n 지정된 주소로 점프후 다음 명렁어의 주소를 ra register에 저장 n jr (jump register) n jr $ra n 저장된 주소로 무조건 점프 n $a0-$a3 인수레지스터에 전달할 인수값을 저장후, jal X 명령어를 이용해, 프로시저 X로 점프후, 계산결과를 $V0- $V1(반환되는 값을 가지는 레지스터2개)에 저장후 jr $ra(호출한곳의 복귀주소)명령으로 복귀
  7. 7. MIPS 명령어 - 산술명령어 n MIPS의 산술명령어는 add 연산을 말하며 다음 형식을 가짐 n add a, b, c #주석 n b + c를 a에 저장하는 명령어 n 피연산자를 3개로 제안함으로서 간단한 설계를 유지함 n 여기서, instruction(연산자)는 add이며, operand(피연산자)는 a,b,c를 말함
  8. 8. MIPS 관련용어 n 레지스터 n 레지스터는 순차회로이다. CPU 명령어는 레지스터 기반으로 동작. n 32Bit로 이루어짐 n $0, $1 .. $31 으로 이름지어 있음 n 순차회로는, 플립플롭이라는 메모리 소자가 있으며, 클럭 펄스가 들어오기 전에는 출력단에 변화가 없다. (이런 이유로, 메모리소자라함) n 레지스터(클럭필요)는 입력값 3이 바뀌더라도, 출력값 1이 변하지 않음
  9. 9. MIPS 관련용어 n Word n 각 기억 장소에 저장되는 데이터 단위로서, CPU에 의해 한 번에 처리될 수 있는 비트들의 그룹 n ALU n 조합회로이다. 클럭이 필요없으며, 입력값이 바뀌면, 그 값이 바로 반영됨. 다음 클럭이 인가되어야만, 1의 값이 변하게됨. n 각종 산술 연산들과 논리 연산들을 수행하는 회로들로 이루어진 하드웨어 모듈로, 산술연산(+, -, ×, ÷)과 논리연산(AND, OR, NOT, XOR 등) 수행 n Control Unit n ALU에서 수행할 동작지시 n 레지스터간의 데이터 전송 감시 n 명령어를 해석하고 실행하기 위한 제어 신호들(control signals)를 순차적으로 발생하는 H/W 모듈
  10. 10. MIPS 관련용어 n Register Set n 명령어 수행 동안 발생하는 임시 데이터 저장 n PC (Program Counter) n 현재 명령어의 주소나 다음에 인출할 명령어를 가짐 n 명령어를 저장하고 주소가 주어지면 해당 명령어를 목적지 주소로 갱신 n PC를 다음 명령어 주소로 증가 n ALU를 통해 다음 명령어 주소로 증가하는 덧셈기 구현가능
  11. 11. MIPS 관련용어 n MUX n 레지스터 선택 및 선택된 레지스터 정보를 ALU로 출력하는 선택 논리회로
  12. 12. MIPS 관련용어 n 인스트럭션 n CPU가 해야할 작업을 지시하는 정형화된 언어 n C프로그램은 컴파일을 거쳐 Intruction 형태로 바뀜 n CPU는 일련의 매커니즘에 의해 메모리에서 순서대로 Instruction을 읽어오며, 이 과정을 Instruction Patch라고 함 n Instruction은 연산종류를 의미하는 Operation 입력값과 대상이 되는 값인 Operand를 지정하며, Operation 입력은 Operation Code (OP Code, 연산자)라고 부름 n I-타입 Instruction n 연산결과가 레지스터에 저장되며, 연산의 입력값인 두 Operand는 Instruction에 직접 상수형태로 기록될 수 있다. n R-타입 Instruction n Operand값이 임의의 레지스터에 저장되고 Instruction에는 이 Register를 지정하는 값이 들어갈 수 있다.
  13. 13. MIPS - 개요 n MIPS n Microprocessor without Interlocked Pipeline Stages n 밉스 테크놀로지에서 개발한 RISC ISA n RISC : Reduced Instruction Set Computer n RISC는 CPU 명령어수를 줄여 H/W구조를 간단히 만드는 방식이다. n ISA : Instruction Set Architecture) n 컴퓨터 프로그램과 H/W간 인터페이스에 대한 완전한 명세 도시바에서 생산한 MIPS R4400 프로세서.
  14. 14. n 여러 기능 유닛과 그들 사이의 연결에 초점 n multiplexor 추가 필요 (근원지중 하나를 선택하여 목적지로 보내는 구성요소) MIPS - CPU Overview
  15. 15. MIPS - 핵심 명령어 n Memory reference: lw, sw n Arithmetic/logical: add, sub, and, or, slt n Control transfer: beq, j
  16. 16. MIPS - 피연산자 n MIPS에서 Register n 32 bit를 word단위로 처리 n 산술명령어는 32bit register중 하나여야함 n 레지스터 개수는 32개로 제한함으로서,전 전기 신호 거리를 짧게 함으로서, 클럭 사이클 시간을 단축시키기 위함 n 레지스터 사용예 n C 코드로, f = (g + h) - (i + j); 을 하는 프로그램이 있을때, n f,g,h,i,j가 레지스터 $s0, $s1, $s2, $s3, $s4 에 할당되었다는 전제하에 MIPS code로 다음과 같이 나타낼 수 있음 n add $t0, $s1, $s2 #g + h을 t0에 저장 add $t1, $s3, $s4 #i + j을 t1에 저장 sub $s0, $t0, $t1 #t0 t1을 합해 s0에 저장
  17. 17. MIPS - 피연산자 n LW (Load) n 메모리를 레지스터에 적재 n SW (Store word) n 레지스터에서 메모리로 데이터를 보내는 명령 n SW의 예 n lw $t0, 32($s3) n lw $t0, 32($s3)는, 시작주소 S3에 32를 더하고 그 값을 t0에 할당 n add $t0, $s2, $t0 n sw $t0, 48($s3) n 상수지원 n lw $t0, AddConstant4($s1) #$t0=constant 4 n add $s3, $s3, $t0 #$s3 = $s3 + $t0
  18. 18. MIPS - 레지스터 사용관례 MIPS 레지스터 사용관례 1번 : 어셈블러 전용으로 예약되어 있음 26,27 : 운영체제 전용으로 예약되어 있음.
  19. 19. MIPS - 구현 n MIPS에서의 명령어 실행 n 클럭이 뛴후 레지스터를 읽음, ALU는 바로 출력 n PC를 메모리로 보내고, Memory로부터 명령어 가져온 후, 명령어 필드를 보고, 두개의 레지스터를 읽음 n 레지스터 읽은후, 명령어가 ALU를 사용하는 이유 n 주소계산 : 참조명령어는 주소계산위해 ALU 사용 n 연산 : 산술/논리 명령어는 연산을 위해 ALU 사용 n 비교 : 분기명령어는 비교하기 위해 ALU 사용 n ALU 사용후 명령어 실행을 끝내기 위한 행동 n 참조명령어 : 메모리에 접근한후 n 저장명령어 : 메모리에 접근한후 (데이터저장) n 적재명령어 : 메모리에 접근한후 (데이터읽기) n 산술논리 명령어 / 적재명령어 : ALU나 메모리에 온 데이터를 레지스터에 쓰고난후 n 분기명령어 : 다음 명령어의 주소를 갖게한후
  20. 20. MIPS 구현 종류 명령어 예 의미 설명 산술 add add $s1, $s2, $s3 $s1 = $s2 + $s3 피연산자 3개; 오버플로우 탐지 subtract sub $s1, $s2, $s3 $s1 = $s2 - $s3 add immediate addi $s1, $s2, 100 $s1 = $s2 + 100 + 상수; 오버플로우 탐지 add unsigned addu $s1, $s2, $s3 $s1 = $s2 +$s3 피연산자 3개; 오버플로우 무시 subtract unsigned subu $s1, $s2, $s3 $s1 = $s2 - $s3 add immediate unsigned addiu $s1, $s2, 100 $s1 = $s2 + 100 + 상수; 오버플로우 무시 move from coprocessor register mfc0 $s1, $epc $s1 = $epc 예외 PC와 다른 특수 레지스터의 복사 논리연산 and and $s1, $s2, $s3 $1 = $2 & $3 피연사자 3개; bitwise- AND or or $s1, $s2, $s3 $1 = $2 | $3 피연산자 3개; bitwise- OR and immediate andi $s1, $s2, 100 $1 = $2 & 100 상수와 bitwise-AND or immediate ori $s1, $s2, 100 $1 = $2 | 100 상수와 bitwise-OR shift left logical sll $s1, $s2, 10 $1 = $2 << 10 상수만큼 좌측이동 shift right logical srl $s1, $s2, 10 $1 = $2 >> 10 상수만큼 우측이동
  21. 21. MIPS - R형식 n R형식 특징 n 명령어의 길이를 같게 하되, 명령어 종류에 따라 형식을 다르게 함 n 명령어 필드 n op : 연산자(opcode) n rs : 첫번째 근원지(source) 레지스터 n rs : 두번째 근원지 피연산자 레지스터 n rd : 목적지 레지스터 n shamt : 자리이동량 n funct : 기능, op 필드에서 연산 종류를 구체적으로 지정함 op rs rt rd shamt funct 6 bits 6 bits5 bits 5 bits 5 bits 5 bits MIPS의 명령어필드
  22. 22. MIPS - R형식 add $t0, $s1, $s2 special $s1 $s2 $t0 0 add 0 17 18 8 0 32 000000 10001 10010 01000 00000 100000 000000100011001001000000001000002 = 0232402016 십진수 이진수
  23. 23. MIPS - I형식 n I 형식 추가 n R형식만으로 명령어를 표현하기 어려워서 I형식이 추가됨 n 수치연산과 데이터 전송명령어에 사용됨 n 16비트 주소를 사용하므로, rs op rs rt constant or address 6 bits 5 bits 5 bits 16 bits
  24. 24. MIPS – 데이터패스 요소 n 조합소자(조합회로) n 입력에 대한 출력을 냄 n 예 : ALU n 상태소자(순차회로) n 2개의 입력과 1개의 출력을 가짐. n 상태(state)를 갖는다. n 예: 메모리, 데이터 메모리 및 레지스터
  25. 25. MIPS - R형식 명령의 데이터패스 동작 add $t1, $t2, $t3 명령어후 활성화된 제어선의 모습
  26. 26. MIPS - R형식 명령의 데이터패스 설명 n 명령어 실행은 한클럭 사이클에 일어나며, 4단계로 나눌 수 있음 n 예 : add $t1, $t2, $t3의 R형식 명령어의 데이터패스 동작 n 1. Instruction을 Instruction Memory에서 가져오고 PC값을 증가시킨다. n 2. 두 레지스터 $t2, $t3를, Register file(접근할 레지스터 번호를 지정함으로서 읽고 쓸 수 있는 레지스터들의 집합)로 부터 읽는다. n 3. ALU가 연산을 하게 되는데, 연산된 결과를 저장하기 위한 $t1 선택을 위한 과정으로, 명령어의 funct 필드(비트 5:0)의 기능코드를 참조해 ALU 의 제어신호를 만든다. n 4. Control의 ALUOp 제어유닛의 입력 유닛인 OPCODE(31:26)를 보고 RegDst라고 하는, 멀티플렉스 제어 신호를 출력으로 보낸다. RegDst를 보고, 명령어 비트 15:11인 (ALU의 결과 값이 레지스터 파일에 기록되는데) 목적지 레지스터에 해당되는 $t1를 선택하고 $t2, $t3의 결과값을 $ t1에 저장함
  27. 27. References n Computer Architecture A Quantitative Approach (5th edition)

×