컴퓨터과학/0 +운영체제

[운영체제] 1. 컴퓨터 구조(CPU 동작원리)

힘들면힘을내는쿼카 2022. 3. 6. 15:49
728x90
반응형

특수대학원을 다니면서 운영체제 강의 내용을 정리하려고 한다.

이번 글은 1주차 강의 학습내용을 정리하려고한다.

 

우리는 컴퓨터를 사용한다... 그것도 매일!!

mac, windows...? 뭐가 더 좋은걸까?

 

🤗정답은 없다..!

 

일단..! 운영체제에 들어가기에 앞서 컴퓨터 구조에대해서 먼저 알아보도록 하자!

 


 

컴퓨터 구조는 다음과 같은 구성품이 있다.

1. cpu(processor)

2. main memory(주기억장치)

3. disk(보조 기억장치, storage system)

4. i/o devices

위 구조를 관리하는 소프트웨어를 컴퓨터 운영체제라고 한다.

 

컴퓨터 구조

위 그림과 같이 user <-> user program <-> os <-> h/w 로 표현 할 수 있다.

software는 user mode와 kernel mode 두 가지가 있는데 user program은 user mode이고, os는 kernel mode로 동작하게 된다.

여기서 중요한 것은 os는 user와 직접적으로 소통하지 않고 시스템 서비스를 제공함을 알 수 있다.

 

또한 운영체제는 resource manager의 역할도 수행한다.

resource manager 역할이란 다음과 같다.

1. 동시에 다수의 프로그램이 동작함.

2. 주기억장치, i/o device같은 resource를 관리하고 보호한다.

3. 시간, 공간적인 두가지 방식으로 자원을 공유한다.

 


 

컴퓨터의 역사는 다음과 같다.

1945-55: 진공관

1955-65: 트랜지스터와 배치 시스템

1965-80: ICs과 multiprograming

80-present: pesonal computers

multiprograming이 등장하게 된 이유는 i/o device에서 입출력을 실행하는 동안 cpu는 하는일이 없다. cpu를 효율적으로 사용하기 위하여 등장하게 되었다.

 

트랜지스터와 배치시스템

사람이 천공카드 입력 -> i/o device에서 천공카드를 입력받고 테이프로 출력 -> 사람이 테이프를 main cpu에 입력 -> main cpu가 테이프를  계산하고 결과를 테이프로 출력 -> 사람이 테이프를 다시 i/o devcie로 입력 -> i/o device(프린터기)가 해당 내용을 출력

이렇듯 i/o devcie에서 입출력을 실행하는 동안 cpu는 하는 일이 없음.

기술이 발전함에 따라 주기억장치의 공간이 커지고 cpu의 속도가 빨라짐에따라 multiprograming 등장.

 


 

컴퓨터 하드웨어 구성

위와 같은 component를 잘 활용해야하는 것이 os의 역할이다.

cpu는 memory랑만 대화한다.

cpu는 controller를 통해서 해당 장비의 memory와 데이터를 주고 받을 수 있다.

cpu -> controller -> controller 내장 memory -> main memory -> cpu

 


 

728x90

 

이제 cpu가 동작하는 원리에 대해서 알아보자.

cpu에는 아래와 같이 구성되어있다.

1. Program counter(PC)

2. Instruction Resgister(IR)

3. Memory Address Register(MAR)

4. Memory Buffer Register(MBR)

5. Controller Unit(제어장치)

6. Accumulator(누산기)

7. Arithmetic Logic Unit(ALU)

 

cpu 동작원리를 간단하게 설명하면 다음과 같다.

1. pc에 read 해야할 메모리 주소가 존재함. 이주소를 MAR로 이동함.

2. MAR은 해당 주소에 있는 데이터를 갖져와서 MBR에 저장함.(이렇게 메모리의 데이터를 cpu로 가져오는 과정을 인출(fetch)이라함)

3. MBR은 데이터가 명령이면 IR에 저장함. 이때 pc값은 증가

4. IR에 저장된 명령은 제어장치로 이동(이과정을 해석(Decode)이라함)

5. 제어장치에 있는 명령이  10번지 주소에 있는 데이터를 읽어오는 것이라면 MAR에 10번지 주소를 저장.

6. MAR은 10번지 주소로 이동하여 해당 주소에 있는 데이터를 MBR에 저장.

7. MBR에 저장된 데이터가 명령어가 아니면 누산기에 저장.

https://youtu.be/Fg00LN30Ezg

cpu 동작원리

15:00부터 보시면 시간을 절약할수 있습니다.


 

이렇듯 cpu에는 여러종류의 register가 있다.

그중 user가 프로그래밍을 통해 직접 사용할수 있는 register가 있고 아닌 것이 있다.

  • User-Visible Register
    • Data
    • Address
    • Index
    • Segment Pointer
    • Stack Pointer
  • Special/User-Invisible Registers
    • PC
    • IR
    • PSW(program status word register -flag reg.)

 


CPU속도를 향상하기 위해 pipelining이라는 기술을 도입한다.

1. three-stage pipline

 

2. Superscalar CPU

 

또한 Multithreaded와 multicore chips을 도입한다.

1. quad-core chip with a shared L2 caches

2. quad-core chip with a separate L2 caches

 

 

사진출처: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

728x90
반응형