Major`/컴퓨터구조(10)
-
[컴퓨터구조] 제어 유니트
제어 유니트 (Control Unit) CPU에서 명령어를 인출하여 해독하고 실행하는 과정이 순차적으로 발생하기 위해서 순간마다 적절한 제어 신호를 생성해서 해당 하드웨어 모듈로 보내주는 장치 - 기능 1) 명령어 코드의 해독 - 기능 2) 명령어 실행에 필요한 제어 신호 생성 ≫ 명령어 사이클이 적절히 수행되도록 모든 동작들을 제어하는 장치 - 명령어 사이클에는 인출 사이클/간접 사이클/실행 사이클/인터럽트 사이클로 구성 각 사이클에는 여러 개의 마이크로-연산들이 수행된다 Example) 인출 사이클 t(0) : PC -> MAR t(1) : M[MAR] -> MBR / PC + 1 -> PC t(2) : MBR -> IR - t(1)에서는 두 개의 마이크로-연산이 동시에 수행된다 - 각 마이크로-연산..
2022.02.07 -
[컴퓨터구조] 산술/논리 연산
산술논리연산장치 (ALU : Arithmetic and Logical Unit) - CPU 내부 구성 요소들 중 하나 수치/논리 Data에 대해서 실질적으로 연산을 수행하는 하드웨어 모듈 - 산술적 계산 : 정수(Integer) / 부동소수점 수(Floating-Point Number) 2가지 형태의 수들에 대해 수행 - 논리적 계산 : 0, 1의 배열로 표현되는 2진 데이터(binary data)에 대해 수행 ALU 구성요소 산술 연산장치 - 산술 연산(+ / - / × / ÷)을 수행 논리 연산장치 - 논리 연산(AND / OR / XOR / NOT,...)을 수행 보수기 (Complementer) - Data에 대해서 2의 보수를 취한다 Data를 음수로 만든다 시프트 레지스터 (Shift Regi..
2022.02.02 -
[컴퓨터구조] 명령어
명령어 세트 (Instruction Set) - CPU마다 명령어의 종류, 개수가 서로 다르다 하나의 CPU에 대한 명령어들의 집합 : 명령어 세트 명령어 세트 설계 고려 사항 1. 연산 종류 2. 데이터 형태 3. 명령어 형식 4. 주소지정 방식 연산 종류 (Operation Repertoire) - CPU가 수행할 연산들의 수, 종류, 복잡도 반드시 수행하는 기본적 연산 ▶ Data 전송 - (Register ↔ Register) / (Register ↔ Memory) / (Memory ↔ Memory) 간에 Data를 이동하는 동작 이 과정에서 Memory의 주소를 계산하는 경우도 있다 ▶ 산술 연산 - 덧셈/뺄셈/곱셈/나눗셈과 같은 기본적인 산술 연산 ▶ 논리 연산 - Data의 각 bit들에 대..
2022.01.29 -
[컴퓨터구조] 명령어 파이프라이닝
명령어 파이프라이닝 (Instruction Pipelining) - CPU의 성능 ≒ 컴퓨터시스템의 프로그램 처리 시간에 직접적 영향 속도를 향상시키면 향상시킬수록 매우 좋다 속도를 향상시키는 방법 중 하나 : 명령어 파이프라이닝 ≫ 매우 간단하면서 분명한 효과 1. 명령어를 실행하는데 사용되는 하드웨어를 여러 개의 독립적인 단계(stage)들로 분할 2. 각 단계별로 동시에 서로 다른 명령어들을 처리 → CPU 성능 향상 3. 분할되는 단계가 많이질수록 CPU의 성능은 향상 가장 효율적인 파이프라인 조건 - 각 단계별 처리 시간 일정 - 각 명령의 처리 단계 균일 2-단계 명령어 파이프라이닝 - 명령어 사이클은 기본적으로 인출 사이클/실행 사이클 : 2개의 단계로 구성 이 2개의 단계들을 처리하는 하드..
2022.01.25 -
[컴퓨터구조] CPU의 기본 구조
CPU - 컴퓨터의 핵심 요소 - 기억장치에 저장되어 있는 명령어들을 실행 : "프로그램 수행" CPU의 프로그램 수행 과정 (기능) ① 명령어 인출 (Instruction Fetch) - 무조건 실행 - 기억장치로부터 명령어 읽기 ② 명령어 해독 (Instruction Decode) - 무조건 실행 - 해당 명령어 해독 어떤 동작을 수행해야하는지 결정해야 하기 때문에 ③ 데이터 인출 (Data Fetch) - 명령어를 수행할 때 Data가 필요한 경우, (기억장치, I/O장치)로부터 해당 Data를 읽기 ④ 데이터 처리 (Data Process) - 해당 Data에 대한 산술/논리연산을 수행 ⑤ 데이터 저장 (Data Store) - 수행 결과 저장 → ①, ②는 무조건 실행 / ③, ④, ⑤는 명령어..
2022.01.20 -
[컴퓨터구조] 컴퓨터 부품/시스템 발전 과정
컴퓨터 부품 발전 과정 1940년대 - 트랜지스터 (Transistor) - 제1세대 핵심 부품인 진공관을 대체 - 제2세대 컴퓨터들의 핵심 부품 더 작고, 가격이 저럼하고, 더 적은 열을 발산 반도체 재료인 실리콘으로 만들어진 고체 장치 1958년 - 집적회로(Integrated Circuit : IC) - 수만개 이상의 트랜지스터들 → 하나의 반도체 칩에 집적시킨 전자 부품 - 제3세대 컴퓨터들의 핵심 부품 IC 제조 과정 ▶ 집적도에 따른 IC칩 구분 (1) SSI (Small Scale IC) - 수십 개의 트랜지스터들이 집적 기본적인 디지털 게이트들을 포함 (2) MSI (Medium Scale IC) - 수백 개의 트랜지스터들이 집적 (카운터, 해독기, 시프트 레지스터)와 같은 조합회로/순차회..
2022.01.18 -
[컴퓨터구조] 컴퓨터 구조의 발전 과정
부품의 발전과정 1. 릴레이(relay)와 같은 기계식 부품들을 이용해서 구현 2. 주요 부품들을 트랜지스터/반도체 집적회로(IC)칩으로 대체 - 컴퓨터의 처리 속도 ↑ - 반도체 기억용량 칩 밀도 ↑ -> 저장 용량 ↑ - CPU 수 ↑, 하나의 칩에 여러 개의 CPU 코어 포함 -> 시스템 성능 ↑ 컴퓨터의 발전과정 1642년 (Blaise Pascal) - 최초의 컴퓨터 (덧셈/뺄셈 가능) 덧셈, 뺄셈을 하는 기계적 카운터 다이얼 위치에 따라 10진수를 표시하는 6개의 원형판 2세트 각 원형판은 일시적으로 숫자를 기억하는 레지스터로 사용 1671년 (Gottfried Leibniz) - 반복적 방법(Iterative) (덧셈/뺄셈 + 곱셈/나눗셈 가능) Pascal의 계산기에 2개의 원형판을 추가 ..
2022.01.18 -
[컴퓨터구조] 시스템의 구성
시스템 버스 (System Bus) - 컴퓨터의 구성요소(CPU, 기억장치, I/O장치)들을 서로 연결하고, Data/신호 교환을 위한 통로 - 한 번에 한 개의 장치만 Data 전송 가능 - 데이터 버스 / 주소 버스 / 제어 버스가 존재한다 데이터 버스 (Data Bus) CPU와 (기억장치, I/O장치) 사이에서 Data를 전달하는 통로 (기억장치, I/O장치)의 명령어와 Data를 CPU로 보낸다 CPU 연산결과를 (기억장치, I/O장치)로 보낸다 - 데이터를 주고 받아야 하기 때문에 양방향 버스 - 데이터 버스 크기(폭) = 한 번에 전송될 수 있는 Data의 크기(비트 수)를 결정 Word 크기, 레지스터 크기와 같다 if 데이터 버스 크기 = 32bit >> Data를 한 번에 32bit씩 ..
2022.01.17 -
[컴퓨터구조] 정보의 표현과 저장
Computer가 받아들이고 처리하는 정보 2진수 비트들로 표현된 프로그램 코드 / 데이터 프로그램 코드 (Program Code) 1. C, Java, Python 등,... 고급언어를 이용해서 작성 고급언어는 영문자/숫자들로 이루어져 있어서 컴퓨터가 읽을 수 있는 언어(기계어)로 변경해야 한다 기계어는 CPU마다 서로 다르다 2. 중간단계에서 컴파일러를 통해서 고급언어→ 어셈블리어(저급 언어)으로 번역 각 CPU별 언어상의 차이를 해결하기 위해 (고급 언어 / 기계어) 사이에 어셈블리 언어가 존재 3. 최종적으로 어셈블러를 통해서 어셈블리어 → 기계어로 번역 ※ 컴파일러 (Compiler) - 고급언어 프로그램을 기계어 프로그램/어셈블리 프로그램으로 번역하는 소프트웨어 ※ 어셈블러 (Assembler..
2022.01.16 -
[컴퓨터구조] 컴퓨터의 기본 구조
컴퓨터 시스템 하드웨어 (Hardware) - 컴퓨터에서 각종 정보의 전송 통로 제공 - 정보에 대한 처리가 실제 일어나게 해주는 물리적 실체들 - 컴퓨터의 정보처리 능력 -> 얼마나 다양한 기능들을 어느 정도의 속도로 수행해줄 수 있는지 ※ 컴퓨터 하드웨어 주요 요소 소프트웨어 (Software) - 정보들이 이동하는 방향, 정보처리의 종류를 지정 - 이러한 동작들이 수행할 시간을 지정해주는 명령(Command)들의 집합 - 하드웨어가 제공해주는 기능들을 이용하여 최종적인 결과를 얻을 수 있도록 도와줌 ≫ 시스템 소프트웨어 : OS(Window 10, Unix, Linux,...), 각종 유틸리티 프로그램들(프린터 드라이버,...) ≫ 응용 소프트웨어 : 워드프로세서, 웹브라우저, MS-Excel,....
2021.11.15