본문 바로가기

시스템소프트웨어/이론6

4주차.2 프로그램 재배치(Program Relocation) 동시에 여러 프로그램을 실행(멀티 프로그래밍)시킴으로써 기계의 생산성을 증가 시킴. -> 어셈블러가 어느 곳에 로드될지 알 수가 없다. 따라서 상대주소를 써야한다.(재배치가 가능한 프로그램) 프로그램 재배치를 하려면 - 어셈블러 : 시작 주소를 적고, modification record(변경될 것들을 적어두는 레코드, object code에 M으로 나옴)를 작성 - 로더 : 프로그램 로드시 실제 프로그램의 시작 주소에 modification record의 값들을 더해줌 M(modification record) 열 1 M 열 2~7 수정이 필요한 주소 필드의 프로그램 시작 위치에 대한 상대적인 주소(16진수) 열 8~9 수정될 주소 필드의 길이 리터럴(L.. 2016. 10. 22.
4주차.1 SIC/XE Assembly Program - +op m : 뒤 주소부분이 20bit. JSUB은 서브루틴으로 점프하란 뜻인데 12bit가 표현 가능한 주소보다 멀리 있을 수 있기 때문에 +를 이용한다. - op #m : immediate (상수) - op @m : indirect (주소속에 주소가 있음. 즉 2번 이동 해야함) - op m,X : index (X레지스터를 이용한 상대주소) 상대주소지정 - 시작주소가 바뀌어도 상관없음.( = 메모리 어디에 올라가도 상관 없음.) - Format 4보다 짧고, 프로그램 재배치도 쉬움 ┌ PC레지스터를 이용한 상대주소 : 12bit( -2048 ~ 2047 ) └ B 레지스터를 이용한 상대주소 : 12bit( 0 ~ 4096 ) PC 레지스터를 이용한 상대주.. 2016. 10. 16.
3주차 - Data MovementSIC는 ALPHA RESW 1 -> 1byte 할당해서 ALPHA 변수 생성하는 식으로 상수 저장SIC/XE는 #(immediate mode)를 붙이면 상수로 사용가능. 따라서 상수를 변수에 저장할 필요 X (메모리를 거치지 않으므로 속도 증가) - 반복문SIC에선 TIX ELEVEN -> X값을 1 증가시키고 ELEVEN 변수의 값과 비교해서 결과를 SW 레지스터에 저장SIC/XE에선 T레지스터를 이용해서 반복(레지스터 개수의 증가) SIC에선 string을 저장하고자 할 때 변수 2개 필요1. string 내용, 2. string 길이 (마치 C언어의 str[11];) 2장 어셈블러어셈블리로 작성된 코드를 Machine language로 바꿔주는 역할 위 사진의 objec.. 2016. 10. 3.
2주차.2 SIC/XE : SIC의 확장 버전 - 레지스터 4개 추가 레지스터 번호 용도 B 3 Base 레지스터, 주소 지정에 사용 S 4 범용 레지스터 T 5 범용 레지스터 F 6 Floating 레지스터, 실수 계산용, 48bit - 명령어 형식 Format 1) 8bit opcode 8bit opcode Format 2) 8bit opcode + 4bit 레지스터 주소(메모리 주소 필요없어짐) 8bit opcode r1(4bit) r2(4bit) Format 3) 6bit opcode + nixbpe / 12bit disp / 12bit는 매우 적으므로 상대적인 주소 6bit opcode n i x b p e 12bit disp Format 4) 20bit 주소(절대 주소) 6bit opcode n i x .. 2016. 9. 26.
2주차.1 SIC(Simplified Instructional Computer) : 시스템 소프트웨어는 기계종속적이기 때문에 대부분 실제 기계에서 발견되는 기능들을 포함하는 가상의 기계 - 레지스터 : 각 24bit의 길이를 가짐레지스터 번호 용도 A 0 누산기(Accumulator) 산술 연산에 사용 X 1 인덱스 레지스터, 주소 지정에 사용 L 2 링크 레지스터 PC 8 Program Counter. 다음에 실행될 명령어의 주소를 저장 SW 9 Status Word. 연산 후 결과 상태가 저장 - 명령어 형식opcode(8bit) x(1bit) address(15bit) opcode : 명령어x : 주소 지정 방식address : 메모리 주소 15bit의 address만 사용하므로 메모리 공간은 215(32k).. 2016. 9. 26.
1주차 BIOS(Basic Input/Output System) 동작 -> Post(Power On Self Test) -> CMOS에 저장 - Firmware : 제어 프로그램의 일종이지만 하드웨어 내부에 위치하고 있고 사용자가 쉽게 바꿀 수 없다. 하드웨어와 소프트웨어의 특성을 모두 가지고 있음. - BIOS : PC의 Firmware. ROM에 위치해 있기 때문에 저장이 불가능하여 CMOS에 저장한다. - POST : 키보드, RAM, 하드웨어 등이 잘 동작하는지 BIOS가 동작시키는 테스트 - CMOS : 반도체의 하나. 하드웨어의 정보가 저장되어 있다. MAR/MBR - MAR(Memory Address Register) : 기억장치로부터 입/출력되는 데이터의 주소를 기억하는 레지스터 - MBR(Mem.. 2016. 9. 26.