관리 메뉴

공부기록용

CS_컴퓨터의 구성요소(메모리, CPU, 입출력장치) 본문

💡깨달음💡/CS

CS_컴퓨터의 구성요소(메모리, CPU, 입출력장치)

과부하가즈아 2023. 8. 10. 20:41

메모리

기억장치의 종류

레지스터가 가장 빠르고, 작고, 비싸고 CPU에 가장 가까움(CPU안에 존재)

 

  • 레지스터:  CPU안에 있는 기억장치로 CPU가 현재 처리하고 있는 데이터와 명령어들을 저장한다.
  • 캐시: 주기억 장치에서 자주 사용되는 데이터를 임시로 저장해서 CPU에서 필요한 데이터를 좀 더 빠르게 접근할 수 있게 해준다.
  • 주기억 장치(RAM이 주): 현재 실행되고 있는 데이터와 명령어를 저장한다. 크게 ROM, RAM으로 분류된다.
  • 보조기억 장치: 전원이 꺼지면 데이터가 사라지는 주기억장치의 단점을 보완한 기억장치이다. 용량이 크고 주기억장치에 비해 상대적으로 저렴하지만, 속도가 느리다. ( HDD, SSD, CD-ROM, USB플래시 드라이브,,,)
ROM (Read Only Memory) RAM (Random Access Memory)
읽기 전용 메모리라고 불리며,
컴퓨터를 구동하기 위한 기본적인 데이터들이 담겨있다.

전원을 꺼도 데이터가 지워지지 않는다.
랜덤 엑세스 메모리라고 불리며,
시스템의 단기 데이터 스토리지로
데이터에 빠르게 접근할 수 있도록
컴퓨터가 실시간으로 사용하는 정보를 저장한다.

많은 애플리케이션을 실행할수록 더 많은 메모리가 필요하다. 
읽기만 가능 읽기 쓰기가 자유롭게 가능
전원이 꺼져도 데이터가 사라지지 않는 비휘발성 메모리 전원이 꺼지면 데이터가 사라지는 휘발성 메모리
처리 속도가 느리고 가격이 싸다.
처리 속도가 빠르고 가격이 비싸다.


메모리 주소

메모리에 저장된 데이터에 접근하기 위해서 컴퓨터는 메모리에 저장된 데이터의 주소를 참조해서 데이터를 식별한다. 데이터는 모두 주소를 부여받는다.(⭐메모리 주소 부여 참고⭐)


CPU

프로세서라고도 하며 데이터와 명령어를 처리하는 제어장치이다. 

 

클럭과 코어

클럭과 코어가 CPU의 성능을 결정된다. CPU는 일정한 전기적 주파수에 따라 작업을 수행한다. 클럭이 클수록 주파수가 빠르고 더욱 빠른 처리가 가능해진다. (하지만 CPU를 빠르게 하는 것에는 기계적인 한계가 존재한다.) 그래서 다른 방법으로써 핵심적인 처리를 담당하는 코어의 갯수를 늘려서 클럭을 분산시켜 CPU의 성능을 높이는 방법을 주로 사용한다. (싱글코어, 듀얼코어라는 말이 이에 해당하는 것이다.)

 

CPU의 구성

연산기능을 담당하는 ALU, CPU가 처리할 데이터를 기억하는 Resister, 이것을 제어하는 CU로 구성되어 있다. 이것들을 System Bus라고 하는 내부 통로로 연결이 되어있다.  

  • ALU_Arithmetic and Logical Unit(산술 논리 연산 장치) 컴퓨터는 모든 데이터와 명령을 숫자로 처리한다. 그 숫자들을 가지고 계산해주는 곳이 ALU이다. ALU은 논리 연산을 하는 회로들이 모여서 다양한 산술연산을 계산해주는 디지털 회로이다. 즉, 실제적인 명령을 수행하는 곳이다. 
  • Resister(레지스터) CPU가 처리할 데이터를 일시적으로 보관한다. 연산을 하려면 연산 과정을 기억할 기억 장치가 필요하다. 이 기억장치를 레지스터라고 한다. 구체적인 역할에 따라 분류가 가능하다.
    • Accumlator(누산기): 계산 결과가 저장
    • Status Resister(상태 레지스터): 연산 결과 나오는 오버플로우나 부호, 캐리 등의 연산 결과 상태를 저장
    • Index Resister(인덱스 레지스터): 데이터가 저장되어 있는 주소 저장
    • I/OAddressRegister(입출력 주소 레지스터): 입출력장치의 주소를 지정
    • I/OBufferRegister(입출력 버퍼 레지스터): 입출력장치와 CPU 간의 데이터 교환을 위해 사용
    • StackPointer(스택 포인터): 프로그램의 실행을 관리하는 스택의 흐름을 제어
  • CU_Control Unit(제어장치) 처리할 명령어를 해독해서 다른 장치들이 실행될 수 있도록 CPU전체적인 흐름을 제어하는 제어 신호를 만들어 보낸다.
    • InstructionRegister(명령어 레지스터): 처리할 명령어를 기억하는 레지스터
    • Decoder(디코더): 명령어 레지스터로부터 받은 명령어를 해석하는 명령어 해독기
    • MemoryAddressRegister(메모리 주소 레지스터): 기억장치에 저장된 데이터의 주소를 임시로 저장하는 레지스터
    • MemoryBufferRegister(메모리 버퍼 레지스터): 기억장치에서 읽어온 데이터 자체를 임시로 저장하는 레지스터
    • ProgramCounter(프로그램 카운터): 다음에 실행할 명령어 주소를 기억하는 레지스터

논리연산이란, 
논리와 논리 간의 연산을 말하는 것으로 여러 판정 값들을 이용하여 최종 판정을 내리는 연산이라고 볼 수 있다. 참과 거짓에 대한 두 가지 값(이진수)으로 수행하는 연산으로 대표적으로 논리곱(AND), 논리합(OR), 부정(NOT)등이 있다.
➡️AND( && ) / OR( || ) / NOT( ! )

논리회로란,
참과 거짓, 0과 1의 입력을 받아 연산을 수행한 결과 값을 출력하는 회로이다.
➡️Adder(가산기)덧셈 연산을 수행하는 논리 회로
➡️Complementor(보수기)2의 보수를 계산해주는 논리 회로(보수_음수를 표현하는 방법으로 이해, 음수를 표현함으로써 뺄셈이 가능)

boolean을 이용한 입력 값에 대한 논리 연산을 수행하여 출력하는 것


오버플로우, 저장 가능한 데이터의 크기를 넘기는 경우
부호, +인지 -인지를 나타냄
캐리, 연산 결과 자릿수가 바뀌는 경우에 대한 상태를 의미(ex. 50+51 ➡️ 101로 바뀐 자릿 수 1을 저장)


입출력 장치

입력장치

사용자가 원하는 데이터와 명령어를 컴퓨터에 전달한다. 

ex. 키보드, 조이스틱,,,,

 

출력장치

컴퓨터가 사용자에게 결과를 보여주기 위한 장치이다. 

ex. 모니터, 스피커, 프린터,,,

 

 

 

참고🖇️

엘리스트랙 강의 수강 후 작성

https://darrengwon.tistory.com/1089

https://velog.io/@2seunghye/%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC

Comments