Computer Category
- Desktop(PC,Workstation)
- Servers
- laptop
- Embedded computers
- Ultra-Mobile Personal Computers
서버는 신뢰성,성능이 중요.
복잡한 연산을 하는 서버가 있고, 간단한 연산이지만 많은 일을 처리해야하는 서버도 있음.
임베디드는 내장형.
냉장고,청소기.. 등 special purpose
모든 컴퓨터 기능은 네 가지 기본 요소로 구성된다
- Data processing (명령어 처리)
- Data storage (명령어 저장)
- Data movement (연산결과를 메모리에 쓰기)
- Control
폰 노이만 구조의 컴퓨터를 사용하기 때문에
메모리에 저장되어있는 값을 cpu가 가져와서 처리하고, 처리한 값을 메모리에 써줘야 함.
Components of a Computer
- CPU (Registers +ALU + Control unit)
- Bus (Data, Address, Control Bus)
- Memory ([internal/external], ROM(PROM,EPROM),RAM, DRAM(SDRAM,DDR RAM),SRAM, Cache ...)
- IO
- DC Power
컴퓨터는 폰노이만 구조로 CPU와 메모리가 분리되어 있는데,
프로그램의 전체 정보를 메모리에 올려놓은 후
CPU가 필요한 데이터를 적절히 register로 가져와(Bus를 통해 가져옴) 연산하고, 다시 메모리에 쓴다.
폰 노이만 구조
CPU와 메모리가 분리되어있고,
프로그램의 전체 정보를 메모리에 올려놓으면 Bus를 통해 메모리의 데이터를 읽고 쓸 수 있다.
폰 노이만 구조의 병목현상을 해결하기 위해 하버드 아키텍처가 나오기도 하였다.
CPU
CPU는 제어장치(control unit),연산장치(ALU),레지스터로 이루어짐.
레지스터는 CPU의 working space임(temporary storage)
PC(Program Counter),Status(flag) register,Stsack pointer, HW control register 등..다양함.
(복잡한 연산을 지원하는 명령어,HW가 없으면 더 많은 register가 필요하다고 한다.)
cpu instruction
cpu에서의 가장 작은 작업 수행 단위
ISA(instruction Set Architecture) 명령어 집합
하드웨어 제조사마다 ISA가 다름.
- CISC : 다양하고 많은 명령어 집합을 가진 컴퓨터
- RISC : 단순하고 최소한의 명령어 집합을 가진 컴퓨터
CISC보다 RISC에서 레지스터가 더 많이 필요함.
CPU must
- Fetch instructions (명령어를 가져오기)
- Interpret instructions (명령어 해석하기)
- Fetch data
- Process data
- Write data
BUS
- Data Bus : carries data(including instructions)
- Address Bus : identify the src,dest of data
- Control Bus : memory read/write signal, interrupt request ...
Bus Arbitration
- centralized : 버스를 중재하는 전용 하드웨어를 추가하는 방법
- distributed
Memory
- Internal(on-chip) and external
- ROM(PROM,EPROM,FLASH) and RAM
- DRAM(SDRAM, DDR RAM) and SRAM
- Cache, Main memory, Virtual memory
RAM(Random Access Memory)
휘발성. 전류가 끊기면 데이터가 날아가는 임시 저장장치
static /dynamic RAM
SRAM(static RAM)
flip-flop
빠른 입출력
비쌈
DRAM(dynamic RAM)
기억장치의 내용을 주기적으로 갱신해줘야 함.
SDRAM(synchronous DRAM)
DRAM의 발전된 형태,
클럭에 동기화된 DRAM임.
ROM(Read Only Memory)
전류가 끊겨도 값을 기억함.
PROM(Programmable ROM)
1회에 한해 새로운 내용을 기록할 수 있음
EPROM(Erasable Programmable ROM)
자외선(UV)로 내용을 지울 수 있음
EEPROM(electrically Erasable Programmable ROM)
전기신호로 내용을 지울 수 있음
FLASH memory
전기적으로 내용을 지울 수 있음. USB,SSD 등
폰 노이만 구조의 병목현상
memory에서 값을 가져와서 cpu에서 처리해야하는데 값 가져오는 속도가 너무 느림.
cpu는 필요한 데이터가 도착할 때까지 지속적으로 기다려야 한다.
이 성능 문제는 CPU와 메인메모리 사이의 캐시에 의해 줄일 수 있다.
Cache
cpu와 메인메모리 사이에 작고 빠른 cache메모리를 두고 사용.
필요한 데이터를 예측해서 cache에 넣어두고 빠르게 꺼내 사용
IO
입출력(키보드 마우스 등)
IO가 메모리에 접근하는 방식
- Programmed IO
- DMA(direct memory access)
- memory-mapped IO
- IO-mapped IO
Programmed IO
CPU가 직접적으로 IO를 제어함(sensing status, read/write command, transferring data)
CPU는 IO동작이 끝나기까지 기다려야함
CPU낭비가 심함
DMA(direct memory access)
CPU도움없이 IO가 직접적으로 memory에 접근함.
빠르고 cpu 방해하지않는다는 장점이 있음.
Memory-mapped IO
IO장치와 memory의 주소체계를 공유함.
cpu는 이 주소가 memory인지 IO장치인지 구분하지 못함.
IO-mapped IO
memory와 IO의 주소체계를 분리함.
Interacting with external devices
- polling
- interrupt
Polling
cpu가 IO 사용여부를 수시로 조사함.
process 낭비가 심함
Interrupt
IO가 장치를 사용하는 경우 CPU에게 말함(방해)
복잡하고 필요한 HW가 필요함
Pipelining기법
명령어 파이프라인(instruction pipeline)은 명령어를 읽어 순차적으로 실행하는 프로세서에 적용되는 기술로, 한 번에 하나의 명령어만 실행하는 것이 아니라 하나의 명령어가 실행되는 도중에 다른 명령어 실행을 시작하는 식으로 동시에 여러 개의 명령어를 실행하는 기법이다.
하나의 명령어는 여러 개의 단계로 나눌 수 있는데, 이때 하나의 명령어를 처리할 때까지 다음 명령어가 처리되지 않고 기다린다면, 명령어의 특정 단계를 처리하는 동안 다른 단계를 처리하는 부분은 아무 작업도 하지 않게 된다. 이때 파이프라인을 사용하면 한 명령어의 특정 단계를 처리하는 동안 다른 부분에서는 다른 명령어의 다른 단계를 처리할 수가 있게 되므로 속도가 향상될 수 있다.
동작속도는 그대로이나 한번에 여러개의 명령어를 처리함으로써 효율이 좋아지는 것
'2022-2 > 마이크로프로세서' 카테고리의 다른 글
9. Various Modules (0) | 2022.11.18 |
---|---|
8. Infrared Remote Control (0) | 2022.11.14 |
7. Motor Drive (0) | 2022.11.07 |
6. Analog Input (1) | 2022.11.01 |
5. Digital Signal Input (0) | 2022.10.23 |
댓글