본문 바로가기

컴퓨터이론/운영체제

(4)
OS -4 : 메모리와 캐시 메모리 메모리 내부에 위치할수록 접근빈도/속도가 올라가며 용량은 적고 가격은 올라간다. 참조지역성에 따라 data를 저장한다. 캐시메모리 CPU와 DRAM간의 속도차이가 너무 커서 CPU 명령을 수행하는데 제한 사항이 많다 DRAM보다 빠른 SRAM을 이용하여 메인 메모리 중 자주 접근되는 데이터를 저장한다. *DRAM vs HDD? I/O처리가 드물거나 없는 경우 HDD에 접근할 필요가 없으므로 우선순위가 낮아진다. + CPU-DRAM간의 차이가 DRAM-HDD간의 차이보다 크다 캐시메모리 캐시메모리가 있는 컴퓨터 시스템은 CPU가 메모리에 접근하기 전 먼저 캐시 메모리에서 원하는 데이터의 존재 여부를 확인한다. 이때 찾고자하는 데이터가 캐시에 존재하는지 여부는 참조의 지역성에 달려있다. 참조 지역성은..
OS -3 : Interrupt 인터럽트란? cpu가 동작과정 중 예기치 않은 문제가 발생했을 때, 다음 fetch를 멈추고 이를 처리하는 것. 현재상태(PSW / PC)를 control stack에 푸쉬하여 저장한 뒤, interrupt handler라는 운영체제 자체 내장 프로그램을 이용 I/O 디바이스의 처리속도가 느리므로, I/O처리가 끝났음을 알려줄때에도 이용 Enabled? cpu가 중단되어서는 안되는 중요한 일을 처리 중인 경우 Control & status register의 interrupt Enabled/Disabled 레지스터를 이용하여 interrupt check를 skip할 수 있다. Interrupt 전 Stage 저장하기 ⓐ 스택 포인터에 저장된 위치부터 현재 레지스터까지의 정보를 저장 ⓑ 새로운 stack p..
OS -2 : 명령어의 실행 1. 명령어의 종류 ① Processor-Memory : CPU와 메모리간의 data transfer (e.g. Load/Store) ② Processor-I/O : 주변 장치와 정보를 주고 받는 것 ③ Data Processing : 실제 계산을 수행하는 명령 (e.g. 사칙연산/논리연산) ④ Control : 제어 명령 (e.g. JUMP) *Opcode : operation code를 의미 2. 명령어의 실행 과정 ①Fetch : PC안의 주소 값을 읽고 명령어를 가져와 IR에 집어 넣음 ②Execute : IR에 들어있는 명령어를 실행 ③반복 : PC안의 주소값에 1을 더하고 끝날 때까지 위 과정을 반복 [Figure 1.4] 1. PC에 저장된 300번째 메모리의 명령어 '1940'을 IR로 가..
OS -1 : 컴퓨터의 구성 컴퓨터의 구성 - CPU , 메모리 , bus , I/O장치 [1] CPU의 구성 ①ALU(계산) ②CU(제어) ③Register(작은 데이터 저장 장치) - 데이터 입출력 : MAR(LOAD/STORE 주소), MBR(DATA 값 저장) - CPU 제어 및 상태 저장 - USER가 접근 가능한 레지스터 [2] CPU에서 I/O 하는 방법은? I/O 장치 안의 컨트롤러에는 버퍼 메모리가 존재. 이 버퍼 메모리가 주 기억 장치에 매핑이 되고, 이 매핑된 주소값을 이용하여 CPU가 LOAD/STORE을 수행하면 I/O 디바이스에 대한 접근으로 변경되는 것. [3] User-visible register optimization의 측면에서 컴파일러가 번역하는 것 보다 직접 assembly로 코딩하는 것이 더 효..