컴퓨터 구조8 컴퓨터구조 6주차 MIPS 시스템 1980년대 스탠포드 대학에서 John Hennessy와 그의 동료들에 의해 개발 디자인 원리 - 규칙적인 것이 간단성을 위해 좋음 - 많이 발생되는 사항을 빨리 처리함 - 적을수록 빠름 - 좋은 설계는 좋은 절충안을 요구함 설계 원칙 1 규칙적인 것이 간단성을 위해 좋음 - 일관성 있는 명령어 형태 - 같은 수의 피연산자 => 2개의 source와 1개의 destination ex 1) 덧셈 Addition High-level code MIPS assembly code a=b+c; add a, b, c => b와 c를 더한 뒤 a에 저장 ex 2) 뺄셈 Subtraction High-level code MIPS assembly code a=b-c; sub a, b, c => b에서 c를.. 2020. 6. 13. 컴퓨터 구조 5주차 캐시기억장치 캐시 기억장치: 주기억장치에 저장되어 있는 명령어와 데이터 중의 일부를 임시적으로 복사해서 저장하는 장치 (+CPU 안에 있지 X, CPU 밖에 있으면서 주기억장치와는 분리되어 있는 또다른 기억장치) - 명령어와 데이터를 저장하고 인출하는 속도가 주기억장치보다 빠름 - 자주 사용되는 명령들을 저장하고 있다가 중앙처리장치에 빠른 속도로 제공 - 느리게 동작하는 주기억장치와 빠르게 동작하는 중앙처리장치(CPU) 사이에서 속도 차이를 줄여주는 고속완충기억장치 - 캐시기억장치의 용량에 의해 CPU의 가격이 결정됨 즉, 캐시기억장치란 CPU 안에 있는 레지스터보단 속도가 느리고 RAM보다는 속도가 빠른 둘 사이의 완충제 역할을 하는 기억장치고 캐시는 CPU가 자주 사용하는 혹은 미래에 사용할 것이라고.. 2020. 6. 5. 컴퓨터 구조 4주차 분기 명령어 분기: JUMP, 연속적으로 명령어가 저장되어 있지 않고 다른 곳으로 가는 것 분기의 형태 (1). BRZ(branch if zero) a: 조건 코드가 0이면 a번지로 분기하라는 명령어 (2). BR: 무조건 a번지로 분기하라는 명령어 (3). BRE(branch if equal) R1, R2, A: 레지스터 R1과 R2의 내용이 같다면 a 번지로 분기하라는 명령어 명령어는 코드 영역에 들어가 있음 BRZ 211 명령어를 통해 211번지로 분기했다는 것은 X=Y였다는 것을 뜻 레지스터 R1과 레지스터 R2의 내용이 같다면 235번지로 분기 1. [210번지] CALL SUB1 => 250번지로 JUMP (SUB1라는 이름을 가진 함수를 호출. SUB1 이름을 가진 함수의 첫 번째 명령어가 .. 2020. 5. 28. 컴퓨터 구조 3주차(2) 메모리의 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 하며 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음 4개로 말할 수 있다. 1. 코드(code) 영역 2. 데이터(data) 영역 3. 스택(stack) 영역 4. 힙(heap) 영역 (1) 코드(code) 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부른다 CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다. 코드영역은 실행 파일을 구성하는 명령어들이 올라가는 메모리 영역으로.. 2020. 5. 23. 이전 1 2 다음