[컴퓨터구조] #5 프로세서
·
전공/컴퓨터구조
샘플 MIPS 프로세서 구조 메모리 참조 명령어: lw(load doubleword), sw(store doubleword) 산술/논리 명령어: add, sub, AND, OR, slt 조건부 분기 명령어: beq(branch equal), j(jump) PC(Program Counter) - 메모리상의 현재 프로그램 실행위치(명령어 위치) Mux(Multiplex: 다중화기) - Data selector - 여러 개개 -> 하나 Demux(De-multiplex:역다중화기) - 하나 -> 여러 개 명령어 구현 PC를 프로그램이 저장되어 있는 메모리에 보내서 메모리로부터 명령어를 가져옴 읽을 레지스터를 선택하는 명령어 필드를 사용하여 레지스터를 읽음 MIPS 부분집합의 기본적 구현 프로세서 내의 데이터 ..
[컴퓨터구조] #4 컴퓨터 연산
·
전공/컴퓨터구조
2진수 연산 ALU(Arithmetic Logic Unit) -AND/OR -add / subtract Carry / borrow Overflow / underflow Interrupt -Exception(S/W) Multiply & Divide 승수는 32비트 승수 레지스터에 있고, 64비트 곱 레지스터는 0으로 초기화되어 있다고 가정 왼쪽 그림에 따라 매 단계마다 피승수를 왼쪽으로 한 자리씩 이동, 필요시 중간 결과에 더함 이렇게 32단계를 거치면, 32비트 피승수가 왼쪽으로 32번 이동함 -> 64비트 피승수 레지스터가 필요 64비트 피승수 레지스터의 오른쪽 절반은 32비트 피승수로, 왼쪽 절반은 0으로 초기화됨 64비트 피승수 레지스터는 64비트 곱 레지스터에 축적되는 합과 피승수의 위치를 맞추기..
[컴퓨터구조] #3 명령어 종류, 기능과 형식
·
전공/컴퓨터구조
어셈블리 명령어 Assembly High-level Language vs. Compiler, Interpreter CISC - Intel x86/x86-64 RISC - MIPS/ARM/RISC-V 명령어의 종류 레지스터/메모리번지(주소)에 데이터 로드 레지스터와 메모리 주소에서 읽기/쓰기(덮어쓰기) 산술연산 - +/- 논리연산 - and/or/nor/shift 분기 - 조건, 무조건 피연산자(operand)의 개수 명령어/피연산자의 개수에 따른 분류 parameter/argument 오퍼랜드(operand) 개수 add a, b, c → 3 주소 명령어 Word CPU가 한 사이클/틱에 처리하는 데이터 크기 보통 8/16/32/64비트 데스크톱/모바일 64비트가 주류 메모리접근 시 동시에 읽을 수 있는..
[컴퓨터구조] #2 성능평가
·
전공/컴퓨터구조
성능 클럭 사이클/틱 1 GHz의 프로세서 → 10억 분의 초(1ns =10A옴스트롱 초) 빛의 속도: 30cm/1ns 프로그램의 CPU실행시간 = 프로그램의 CPU클럭 사이클 수 * 클럭 사이클 시간 CPU시간 = 명령어개수*CPI/클럭속도 CPI - 명령어당 평균 클럭 사이클 수 전력장벽 클럭스피드는 무조건 올리기 어려움 → 발열 발생 에너지 ∝ 용량성 부하 * 전압^2 (0→1→0/1→0→1) 소모전력(W) ∝ 1/2 * 용량성부하 * 전압^2 * 스위칭 빈도 CMOS기반 반도체 → 동작에너지가 주 에너지 소비원 동적에너지: 트렌지스터가 0→1,1→0 상태 바뀔 때 소비되는 에너지 스위칭빈도: 클럭속도의 함수 용량성 부하: 출력단자에 연결된 트랜지스터의 개수와 공정기술의 함수 에너지 소모의 주원인 ..
[컴퓨터구조] #1 컴퓨터구조
·
전공/컴퓨터구조
컴퓨터구조 노이만구조 - 프로그램과 데이터가 같은 메모리 공간에 저장 - 명령어와 데이터가 위치에 따라 의미가 달라짐 하버드구조 - 프로그램 메모리와 데이터 메모리가 분리 - 메모리주소에 따라 같은 데이터가 의미 달라지지 않음 현재의 컴퓨터구조 -> 메모리: 노이만, 캐시:하버드 컴퓨터 언어 저수준언어 - 2진수 기계어, 어셈블리 중수준언어 - C (하드웨어 접근 허용) 고수준언어 - Java, Python (하드웨어 직접 접근X) H/W - ALU/FPU/barrel shifter - DSP/Accelerator 클럭스피드/워드사이클 클럭 - 특정 신호(메인보드) 클럭 스피드 - cpu의 동작 속도를 나타내는 척도 워드 - cpu가 한 번에 처리할 수 있는 데이터 처리량(8bit/16bit …) 사이클..