Master Piece of jun 28

Multi programming과 Time sharing

Multi programming 한 user(프로그램, 프로세스)는 동시에 I/O, CPU 처리를 할 수 없다. ⇒ 따라서 I/O, CPU에는 각각 다른 프로그램 실행가능 멀티프로그래밍, CPU가 처리할 job을 항상 하나는 처리할 수 있게 한다. ⇒ CPU가 놀지 않도록 (어떤 job 실행?? ~ job scheduling vs CPU scheduling : memory에 저장??) 동시 실행될 job들은 전부 memory에 있어야함 기다려야할때, OS는 다른 job으로 switch 해줌 Time sharing (multi tasking) 멀티프로그래밍을 구현하기 위한 기법 중 하나 CPU를 번갈아 가며 쓸 수 있도록하는 기법 CPU에 할당되는 jobs를 매우 자주 switch 함으로써 구현 inter..

Interrupt (vs PIO, pulling)

Interrupt Device가 I/O등의 operation을 완료했을때, Device controller가 CPU에게 그 사실을 전달하는 방법 Pulling 과의 비교 Pulling 방식은 CPU가 Device에 할당된 일을 완료했는지 직접 수시로 확인하는 방법이다. Interrupt가 더 좋은 이유 : CPU 입장에서 Device에 할당된 업무의 진행정도를 수시로 확인해야하는 비효율성을 줄이고 interrupt 전까지는 현재할당된 처리에만 집중할 수 있다. DMA(Direct Memory Access) Device의 버퍼로부터 CPU의 간섭없이 데이터를 직접 메인 메모리로 가져오는 것 I/O 장치의 빠른 정보전달을 위해 사용되며 이로써 CPU의 처리속도와 Device간으 ㅣ처리속도 차이를 줄일 수 있..

Computer System Structure과 OS의 정의

1. Computer System Structure 컴퓨터 시스템은 4가지 요소로 divide됨 Hardware - basic computing resources 제공 OS - Control & Coordinate use of hardware among various app, users Application program - 시스템 자원은 유저의 computing problem을 solve하기 위해 쓰임 users - 사람, 기계, 다른 computer 2. Operating System Definition system의 입장 OS is a resource allocator : 모든 리소스들을 관리(manage)한다. not only hardware but also resources. ⇒ 자원은 한정되어..

파이프라인 pipeline (병렬처리)

파이프 라인 (병렬 처리) 여러개의 인스트럭션을 execute cyle별로 나누어 동시에 처리 이상적인 병렬처리 : 단위 시간(클락하나) 마다 하나씩 처리 하지만 동시에 처리되지 못할 수도 있다. fetch, decode시 필요한 자원이 같을 경우 ⇒ 그래도 하나씩 처리하는 것보다는 빠름. 같은시간내에 동시에 더많은 instruction 처리

micro instruction과 micro program, Control sign

micro instruction 하나의 instruction을 실행하기위해 필요한 여러개의 일들 ex) Fetch = IR로 가져오기 + PC업데이트 하기 IR로 가져오기 & PC 업데이트 ⇒ 각각 micro instruction!! micro program ⇒ program = instruction의 집합 ⇒ instruction의 집합들을 실행하기위한 또다른 프로그램 인스트럭션의 실행에 필요한 것 ⇒ 신호 (Clock!) 인스트럭션 해독 이유 : 무슨 instruction?? ⇒ 어디에 신호줘? (Control Sign) ex) 100개 인스트럭션을 제공 중일때, 각 instruction을 실행하기 위한 CPU Control 신호가 다 있음. ex) load ⇒ memtoReg, regwrite 이런..

execute cycle (instruction cycle)

execute cycle (instruction cycle) CPU가 instruction을 처리해나가는 절차 Fetch → Decode → Operand → execute 인출 → 해독 → 추가 data → 실행 1. Fetch (다음 instruction 인출) PC에 저장된 기억장치의 주소로 접근 그 주소에 있는 instruction IR(Instruction Register)로 가져옴 (복사 → IR에 저장) PC는 다음에 실행될 instruction의 주소를 갖게 업데이트 되어야 함 주로 바로 다음 (PC+4, IR의 인스트럭션 길이 만큼 바이트를 더해 다음 instruction주소를 저장) ~ 프로그램은 "순차적"이다. 그러나 loop, jump등의 분기문 일때는 달라질 수 있다. ⇒ Fetc..

instruction set 구성과 machine dependent

instruction set 구성과 machine dependent 기계마다 instruction code (instruction set architecture, ISA)가 다름 ex) MUL이 있는 instruction set도, 없는 instruction set도 있음 ex) 64비트 instruction code, 32비트 instruction code 서로 instruction set이 다름 == 어셈블리 랭귀지가 다르다 == 이걸 처리하는 하드웨어가 다르다. intel CPU ≠ ARM CPU ⇒ machine dependent 하다. 라는 말의 의미

728x90