쿠팡파트너스 활동으로 수수료를 제공받을 수 있습니다.
PC나 맥, 휴대전화 등의 내부에서 컴퓨팅을 수행하는 하드웨어는 서로 매우 유사하다
컴퓨터의 논리적(기능적) 아키텍처(구조) 다이어그램 - 컴퓨터를 단순화한 추상적인 그림
•
각각의 구성요소는 그 중간에서 정보를 전달하는 버스(여러개의 전선)로 연결됨
•
휴대전화나 태블릿PC의 경우, 마우스 키보드 디스플레이가 화면이라는 하나의 구성 요소로 합쳐진 형태이며, 물리적 위치를 알기위한 나침반, 가속도계, GPS 수신기 등의 구성요소가 추가됨
폰 노이만 아키텍처(von Neumann architecture)
위의 다이어그램과 같이 프로세서, 데이터를 담는 메모리와 저장장치, 입출력 장치로 구성된 기본 구조로,
1946년에 발표된 논문에서 폰 노이만이 기술했음.
이 구조는 1940년대 이래로 이어지고 있는 컴퓨터 구조의 표준
•
프로세서: 산술 연산과 제어 기능을 제공
•
주 기억 장치 & 보조 기억 장치: 기억과 저장을 담당
•
입출력 장치(키보드, 마우스, 디스플레이): 운영자와 상호작용
◦
프로세서는 역사적으로 CPU(Central Processing Unit, 중앙 처리 장치)로 불렸지만, 지금은 ‘프로세서’ 라는 표현이 더 자주 쓰임. → CPU
주 기억 장치는 흔히 RAM(Random Access Memory, 임의 접근 메모리)이라 부름 → 메모리, 램
보조 기억 장치는 디스크 or 드라이브라고 부르기도 함 → 디스크, HDD/SSD
프로세서(CPU)
•
산술 연산 수행
•
데이터를 여기저기로 옮김
•
다른 구성요소(의 작업)를(을) 제어
•
수행할 수 있는 기본 연산의 레퍼토리는 한정적, 그러나 빠르게 연산을 수행(초당 수십억 회)
•
기존 계산 결과를 바탕으로 다음에 수행할 연산을 결정함. 따라서 사용자가 일일이 개입하지 않고 독립적으로 작동함.
•
‘2.2GHz 듀얼 코어 인텔 Core i7’ 프로세서
◦
인텔: 제조사,
듀얼 코어: 코어 2개 (하나의 패키지 안에 처리 장치가 두 개 들어 있음.).
‘코어=프로세서’ (동의어). 싱글 코어 자체로 프로세서라 부를 수 있으나,
독립적으로 작동하는 코어 여러 개를 묶어 프로세서가 될 수도 있다. (듀얼, 쿼드, 헥사, 옥타코어 등 의 멀티코어).
코어의 조합을 프로세서라 할 수도 있음.
2.2GHz: 프로세서의 속도. 초당 수행할 수 있는 연산이나 명령어의 갯수.
2.2GHz = 초당 22억번의 연산 및 명령어 수행
프로세서는 기본연산을 수행하면서 내부Clock을 사용하는데,
한번 튀거나 째깍 거릴 동안 수행한 연산량으로 프로세서의 속도를 측정
◦
헤르츠란, 1888년에 전자기파를 만드는 방법을 발견해
라디오 등 무선 시스템 개발에 발판을 마련한 독일 공학자 하인리히 헤르츠(Heinrich Hertz)의 이름에서 유래했다.
메가 =
기가 =
주 기억 장치(primary memory, RAM)
•
프로세서 & 그 외 다른 컴퓨터의 구성요소가 현재 사용 중인 정보를 저장
•
저장된 정보의 내용은 프로세서에 의해 변경 될 수 있음
•
주 기억 장치에는 프로세서가 현재 작업중인 데이터 및, 프로세서가 무엇을 해야하는지 알려주는 명령어를 저장
◦
프로세서가 무엇을 해야하는지 알려주는 명령어 → 메모리의 코드영역에 저장됨
프로세서가 현재 작업중인 데이터 → 메모리의 데이터영역(정적 데이터 영역(전역변수, 정적변수), 힙 영역(사용자의 동적 할당 변수), 스택 영역(지역 변수))에 저장
프로세스의 PCB에는, 다음에 CPU가 수행해야할 명령어는 무엇인지 알려주는 PC값이 저장됨.
PCB(프로세스 제어 블록)란, 각 프로세스 마다 존재하는,
운영체제에서 프로그램 실행 및 문맥 교환(Context switching)등 프로세스 관리를 위해 필요한 프로세스 정보를 저장하는 데이터 블록으로,
운영체제 커널의 자료구조이다. (구조체 형태의 자료구조)
•
메모리에 다른 명령어를 로드(적재)하여 프로세서가 다른 계산을 수행하게 할 수 있음.
◦
프로그램이 메모리에 로드(프로그램 실행에 직접적으로 필요한 코드와 데이터가 메모리에 저장)되고,
운영체제가 프로그램(User Application Program)을 실행시켜 프로세스 화 하여 프로그램이 동작함.
이러한 원리로 프로그램 내장식(stored-program) 컴퓨터는 범용장치가 된다.
같은 컴퓨터로 워드프로세서, 스프레드시트, 웹 서핑, 이메일, 음악 재생 등
여러 User Application Program을 동시에 실행시킬 수 있음.
프로그램 내장식의 개념은 매우 중요
적합한 명령어를 메모리에 배치함으로써 가능해짐
•
주기억 장치는 유저 어플리케이션 프로그램이 실행되는 동안 정보를 저장할 장소를 제공함. 워드, 포토샵, 브라우저 등 현재 활성화된 프로그램의 명령어를 저장함
◦
현재 활성화된 프로그램이란, 아래와 같은 것을 의미함.
- 지금 워드로 켜놓은, 현재 편집중인 문서
- 사진 앱으로 켜놓은, 현재 화면에 표시중인 사진
- 크롬 브라우저를 켜놓고 있을때, 재생중인 음악 등
•
주기억 장치는 운영체제의 명령어도 저장함.
◦
유저 어플리케이션 프로그램이 여러개가 동시에 실행되기 위해선,
운영체제 커널에서 명령어로 이러한 실행중인 유저 어플리케이션 프로그램을 제어해줘야 함.
•
Why 임의 접근 메모리(Random Access Memory)?
◦
프로세서가 메모리에 저장된 정보에 접근 할 때, 메모리에 저장된 위치에 상관없이, 어느 위치에 접근하던 같은 속도로 접근할 수 있음(거의 비슷한 속도)
◦
비디오 테이프의 특정 위치에 접근하는 방식인 순차적 접근 방식과 대조됨.
이 경우엔 테이프를 감는 수준에 따라 특정 위치에 접근하는 속도가 다르며,
영화를 보는 경우 마지막 장면에 접근하려면, 영화의 시작부터 끝까지 빨리감기를 해야함.
•
메모리의 특징: 휘발성(Volatile)
◦
전원이 꺼지면 메모리의 내용은 사라짐.
◦
메모리에 올려놓았던, 현재 실행중인 프로세스의 정보들은 날아간다.
•
주 기억 장치 용량은 고정되어있다
◦
메모리 용량이 8GB = = 80억 byte = 640억 bit = 약 1280억개의 정보를 표현?
◦
정보의 표현방식은 컴퓨팅의 핵심 주제 중 하나로, 따로 다룰 필요가 있음.
◦
주 기억 장치(메모리)의 용량이 크면, 동시에 더 많은 정보를 저장해 둘 수 있으므로, 컴퓨터 속도에 유리함.
사격에 비유한다면, CPU가 빠르다는 것은 빠른 연사속도, 메모리 용량이 크다는 것은 탄창이 커서 총알이 많이 들어간다는 것