728x90
컴퓨터 하드웨어
케이스, 중앙 처리 장치, 모니터, 자판, 컴퓨터 기억 장치, 그래픽 카드, 사운드 카드, 메인보드와 같은 컴퓨터의 물리적 부품
(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개 (= 홀수)
'CS Study > ZB CS Study' 카테고리의 다른 글
[CS] CS 지식 정리 - 2 (1) | 2024.02.28 |
---|