본문 바로가기
제로베이스 BE 21기/CS Study

[CS] CS 지식 정리 - 1

by ♡˖GYURI˖♡ 2024. 2. 27.

컴퓨터 하드웨어

케이스, 중앙 처리 장치, 모니터, 자판, 컴퓨터 기억 장치, 그래픽 카드, 사운드 카드, 메인보드와 같은 컴퓨터의 물리적 부품

(CPU, 메모리, I/O 디바이스 등)

 

 

운영체제

유저가 컴퓨터를 편하게 사용할 수 있게 모든 하드웨어 자원을 관리해주는 프로그램 (소프트웨어)

 

 

주기억장치

  • ROM : MASK ROM, PROM, EPROM, EAROM, EEPROM
  • RAM : SRAM, DRAM

 

보조기억장치

  • 하드디스크
  • USB memory
  • Bluray

 

양자컴퓨터

  • 양자의 기본 성질인 중첩, 얽힘 등을 이용하여 다수의 정보를 처리할 수 있는 새로운 개념의 컴퓨터
  • 현재 나노공정 설계로 제작되는 반도체 칩의 한계를 극복하기 위해 등장함
  • 양자컴퓨터는 현재 양산 가능한 형태로 기술이 개발되어 있음  → 현재 수준의 양자컴퓨터는 기존의 컴퓨터를 대체할 수 없음
  • 큐비트(qubit)를 기준으로 하는 양자 병렬처리를 통해 엄청나게 빠른 속도로 문제 해결이 가능함

 

bit

  • 8bit = 1byte
  • 64bit architecture에서 워드의 길이는 64bit
  • 2bit = 1nibble  → nibble = 1byte * 0.5 = 4bit
  • 1byte의 가장 큰 자리수를 담당하는 비트를 MSB라고 부름
    • MSB : Most Significant Bit, 어떤 데이터 형의 최상위 비트
    • LSB : Least Significant Bit, 어떤 데이터 형의 최하위 비트

 

10진수 숫자 80을 16진수로 바꾸기

50

 

 

논리 연산의 결과

  • 0 AND 1 = 0
  • 0 OR 1 = 1
  • NOT 0 = 1
  • ((0 AND 1) OR 1) = 0 OR 1 = 1

 

부울 식 (BC' + A'D)(AB' + CD') 을 부울 대수를 이용하여 간략화 시킨 결과

= AB'BC' + AA'B'D + BC'CD' + A'CDD' = 0 + 0 + 0 + 0 = 0

 

 

플립플롭의 종류

  • SR flip-flop
  • D flip-flop
  • JK flip-flop
  • T flip-flop
  • M/S flip-flop
  • F flip-flop

 

CPU의 구성요소

  • ALU (산술논리연산장치)
  • 레지스터
    • PC (프로그램 카운터)
    • MAR (메모리 주소 레지스터)
    • MBR (메모리 버퍼 레지스터)
    • IR (명령어 레지스터)
    • 범용 레지스터
    • 플래그 레지스터
  • 제어장치

 

각 레지스터의 기능

  • Program Counter : 다음 수행될 명령어가 들어있는 주기억장치의 주소를 기억함
  • Instruction Register : PC가 지정하는 주소에 있는 명령어 임시 기억
  • general purpose register : ALU를 직접 연결하여 사용 / working register :  ALU를 사용하지 않고도 별도로 연산을 진행함
    • general purpose register는 작업 레지스터에서 Data가 용이하게 처리되도록 임시로 자료를 저장하는 경우 사용
    • working register는 산술논리연산을 실행할 수 있도록 그 결과를 저장
    • 둘의 차이점은 ALU와의 연결 여부 : working register 연결 O / general purpose register 연결 X
  • status register는 CPU의 상태를 나타내는 flag 정보를 저장

 

레지스터 마이크로 연산의 종류

  • shift
  • count
  • clear
  • rotate

 

CPU 디자인

  • 레지스터들을 직접 연결하면 장치 수의 제곱에 비례하는 복잡도 발생
  • Common Bus Line을 이용해서 레지스터들을 연결하면 MUX를 이용해서 손쉽게 구현 가능
  • Common Bus Line을 이용해서 레지스터들을 연결할 때 Decoder를 이용해서 구현 가능
  • 내부 스택 구조를 활용하여 Buffer와 같이 순차적 처리를 요하는 자료를 대기하게 만들 때 사용 가능 → 큐?

 

ALU 마이크로 연산

  • ADD
  • XOR
  • INC
  • RTD

 

R1 = 200, R2 = 150

  • MOV R1, #150 → R1 = 150
  • MOV R1, 190 → R1 = 150
  • MOV R1, R2 → R1 = 150

 

  • MOV R1, @190 → R1 = 150 ?? → 메모리 간접 모드!

@190의 값 = 150

Add 150의 값 ?

 

 

 

 

 

 

 

입출력 구성

  • 키보드로 입력한 내용은 Serial Communication Interface를 통해서 레지스터로 정보를 전달함
    • 하나의 신호선을 이용하여 데이터를 주고받는 통신
    • 하나의 신호선을 이용하기 때문에 데이터 전송은 일정한 시간 간격으로 전송하게 됨
    • 저렴하다는 장점
  • OUTR, AC, INPR, FGI는 모두 병렬로 연결되어 있음

  • FGI의 flag bit가 1일 때는 INPR의 정보가 바뀌며, AC로 코드를 전송함

  • OUTR를 통해서 데이터가 output device로 전송됨


IEN(Interrupt Enable flip-flop)

  • FGI를 이용한 방식은 프로세스와 입출력장치의 속도 차이가 많이 나서 비효율적이기 때문에 IEN 방식이 제안됨
  • 플래그를 이용하지 않고, 외부장치가 준비되었을 때 interrupt를 발생시킴
  • 컴퓨터는 실행하면서 플래그를 체크하지 않고, 플래그가 interrupt로 인해 세팅되면 그 때 입출력을 실행함
  • 입출력 장치가 interrupt를 요청한 경우, 입출력을 수행하고 나서 계속 입출력장치의 신호를 기다림

 

  • 현재 256이 프로그램의 복귀주소임
  • interrupt 이전에 1120에 프로그램이 로드되어 있기 때문에 1 ← BUN 1120을 로드함
  • interrupt가 실행되면 PC는 1로 바뀌며, R은 1로 세팅됨 → R은 clear되어 0이어야 함
  • I/O 프로그램이 실행되면 ION instruction에 의해 IEN이 1로 세팅되며 프로그램으로 복귀함

 

 

 

 

 

 

 

 

프로그램의 종류

  • 컴퓨터 소프트웨어는 크게 시스템 소프트웨어와 응용 소프트웨어로 나눌 수 있음
  • 운영체제, 프로그래밍언어 번역 프로그램은 모두 시스템 소프트웨어에 해당함
  • Device Driver, DBMS는 Application에 해당함
    • Device Driver : 커널의 일부분으로 동작하는 컴퓨터 소프트웨어
    • DBMS : 데이터베이스를 운영하고 관리하는 소프트웨어
  •  일반적으로 사용하는 Web Browser, 메신저 프로그램, 오피스 프로그램은 모두 응용 소프트웨어에 속함

 

C언어

= 컴파일 언어

 

 

프로그램 처리 과정

  • C언어 같은 고급 언어를 이용하여 작성한 프로그램은 어셈블리 프로그램으로 변환됨
  • 어셈블리 프로그램은 mnemonic을 이용하여 명령을 표시함
  • 어셈블리 언어는 컴퓨터 제조 업체와 관계없이 모두 동일한 규칙을 사용함
  • 최종 기계어로 번역된 프로그램이 실제 CPU에서 수행됨

 

소프트웨어 개발 패러다임

  • 구조적 기법은 가장 초창기에 사용한 기법으로 함수들을 기준으로 프로그램을 작성함
  • 객체지향 방법은 객체 단위로 프로그램을 단위화하여 캡슐화, 상속 등을 사용하여 재사용성을 가능하게 하였음
  • 컴포넌트 기법은 interface를 통하여 외부와 쉽게 동작할 수 있고, 단순하게 통신할 수 있게 하였음
  • 분산 객체 프레임워크는 동일한 시스템으로 구성된 분산환경에서 동일한 application이 효율적으로 동작하게 하기 위해 개발됨
    • 서로 다른 장치 및 운영 체제에 위치할 수 있으며 여전히 서로 상호 작용하고 정보를 공유할 수 있음을 의미

 

홀수 패리티를 사용하여 아스키 문자 R을 표현

R은 아스키 코드로 101 0010

홀수 패리티니까 0 101 0010 → 1이 3개 (= 홀수)

'제로베이스 BE 21기 > CS Study' 카테고리의 다른 글

[CS] CS 지식 정리 - 2  (1) 2024.02.28