(1) MIPS basic
- CISC vs. RISC
MIPS
RISC :
* 모든 inst 사이즈가 동일 (32bit - 4Byte) 코드 사이즈 줄이는데에 불리
* 같은 면적의 CPU Die를 더 효율적으로 이용할 수 있음
Register:
* 레지스터 이름은 $로 시작한다
* $zero : /dev/zero와 용도가 비슷. 읽기전용. 읽으면 16진수 0x0 반환. 초기화 시 사용.
* load XX : 데이터 로드. lb, lw, li
cf. byte, word, immediate(const value)
* save XX : 데이터 저장. sb, sw, si
* branch XX : 분기. bne (branch not equal), be
* jump XX : 함수 호출 시 사용. JAL (jump and link), JALR(jump and link - register)
ex) JAL FunctionName : 지역함수 호출
ex) JALR RegisterName : 라이브러리 호출
* return address : $ra에 저장
* parameter : $a0, $a1, $a2, $a3
* return value :
* move XX : 값 복사.
MIPS Specialty - Branch Delay Slot
* 파이프라인 성능 개선위해 설계된 사항
* branch 문 실행 전 bubble 삽입을 통해 이미 가져온 명령어 수행
* 참고) https://en.wikipedia.org/wiki/Delay_slot#Branch_delay_slots
* 참고) https://cseweb.ucsd.edu/classes/wi02/cse141/c14branchHazard.ppt
'NOWS > Security' 카테고리의 다른 글
(임베디드) Command injection vulnerability check 커맨드 인젝션 취약점 점검 (0) | 2017.09.07 |
---|---|
Firmware 이해하기 (2) IDA (0) | 2017.09.06 |
SSL 프로토콜 (0) | 2016.07.06 |
암호 공격 방식 (0) | 2016.07.06 |
방화벽 (Firewall) : 침입 차단 시스템 (0) | 2016.07.06 |