ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 시스템 프로그래밍, 하드웨어 구성, 클럭신호
    시스템 프로그래밍 2019. 2. 6. 17:00

    #1. 윈도우즈 시스템 프로그래밍



     주변 지인들의 추천을 받아 먼저 한빛 미디어의 '뇌를 자극하는 윈도우즈 시스템 프로그래밍' 으로 시스템 프로그래밍을 공부해보기로 했다!! 유튜브에는 저자님께서 직접 강의하신 자료가 있기에 공부하기 수월할 것 같았다.




    1-1. 윈도우즈 시스템 프로그래밍의 개념



     윈도우즈 시스템 프로그래밍은 쉽게 말해서 윈도우 운영체제의 특성을 활용하여 프로그래밍을 하는 것을 의미한다. 그렇기 때문에 운영체제의 종속적인 개념이 강하다고 하셨다. 시스템 프로그래밍을 배우기 앞서 컴퓨터 구조운영체제의 개념이 수반되어야한다는 것을 강조하셨다.





     시스템이란 하드웨어 뿐 아니라 운영체제를 포함한 개념이라는 것은 강조하셨다. 

    각각의 분야에서 중점으로 다루게될 내용들을 정리해놓은 자료이고, 자세한 부분은 차차 뒤의 강의에서 다룰 것 같다.






    1-2. 컴퓨터 하드웨어의 구성

    ☆ 앞으로 4 개의 파트 컴퓨터 구조 부분에서 자주 등장하게되는 중요한 그림이다. 


     CPU(중앙처리장치)의 구조에 대해 알아보자.



     CPU의 구성을 다음과 같이 규정할 수 없다는 언급을 강조하면서 일반적인 요소들을 설명하고 있었다. 

    ALU 는 연산을 처리하는 장치이고, 컨트롤 유닛은 CPU 내의 모든 요소가 해야할 일을 결정짓는 요소이다. 레지스터는 CPU 내의 저장소 역할을 하고, 버스 인터페이스는 입/출력 버스의 통신 규약을 내장하고 있어 컴퓨터내의 다른 장치들(키보드, 마우스 등)과 통신할 수 있는 일종의 데이터를 주고받는 네트워크를 조성하는 역할을 한다. 

    역시 말로 이해하는 것보다 예제를 통해 이해하는게 좋은 것 같다. 다음의 예제와 함께 이해해보자 !!

     



     예를 들어 덧셈기능을 하는 소스코드인 A.c 파일을 컴파일 했다고 가정하자. 컴파일을 하면 A.exe 가 하드디스크에 저장된다. A.exe 를 실행하면, A.exe가 메인메모리로 올라간다. ( 메인 메모리에 올라와 있는 것만이 CPU로 이동할 수 있다. )

     덧셈과 피연산자가 입출력 버스를 통해 CPU 내의 버스 인터페이스로 들어오면, 컨트롤 유닛은 해당 데이터를 해석하여 요소들이 해야할 일을 판단한다. ( Control Unit 이 Brain 역할을 한다. ) Control Unit 이 데이터를 해석하는 시간에도 처리해야하는 데이터는 버스 인터페이스를 통해 들어오고 있기 때문에 CPU 내부에 저장장치 두었다. 이것이 레지스터이다. Control Unit 이 데이터를 알맞은 요소들에게 전달하고 처리하는 과정을 거친다. 뒤의 장에서도 계속 등장할 개념이다.








    1-3. 클럭신호




     컴퓨터의 모든 장치에는 클럭신호가 있다. 클럭신호에 데이터나 명령 따위를 실어 보낸다. 장비들마다 자신의 클럭신호에 맞춰 동작 타이밍을 결정한다. 예를들어 10초에 한번 동작(데이터를 실어보낸다)하는 장치 A와 5초에 한번 동작하는 장치 B가 있다고 가정하면, 같은 10초동안 A는 한 번 동작을, B는 두 번 동작을 하게 된다. 클럭신호를 이용해서 장비의 동작횟수를 늘리면 해당장비의 성능은 좋아지지만 그만큼 열이 많이 발생하게 된다. 즉, 시스템의 불안정을 초래한다. 또한, 한 쪽이 동작을 많이 한다고해서 전체적인 시스템 성능이 좋아지는 것은 아니다. 따라서 시스템의 안정성을 고려하여 클럭신호를 맞춰주는 것이 중요하다. 



    ※ ps  클럭신호에 데이터를 실어 보내는 것에 대해서 대학시절 네트워크 시간에 배운 기억이 나는데 다시 찾아봐야겠다.


     다음의 내용들은  " https://www.youtube.com/watch?v=GVX-m3RF-K0&list=PLVsNizTWUw7E2KrfnsyEjTqo-6uKiQoxc " 윤성우님의 강의내용 영상을 토대로 작성하였습니다.







    댓글

Designed by Tistory.